Calculator Tools Calculator Tools
Create

Reupload Video AI - Effortless Video Management App

Dec 8, 2025

About this app

Reupload Video AI allows users to manage, edit, and easily reupload videos with AI suggestions. Optimize your video files with fun and colorful UI.

Reupload Video AI - Effortless Video Management App Reupload Video AI Upload Videos

Related apps

Put this on your site

Source

                    <html>
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width,initial-scale=1">

<title>Reupload Video AI - Effortless Video Management App</title>
<meta name="description" content="Reupload Video AI allows users to manage, edit, and easily reupload videos with AI suggestions. Optimize your video files with fun and colorful UI.">
<meta name="keywords" content="video management, video editing, AI, Reupload">

<!-- Libraries -->
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.0/jquery.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css" crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.min.js" crossorigin="anonymous"></script>
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6.6.0/css/fontawesome.min.css" crossorigin="anonymous">

<script type="text/javascript">
try {
// App Javascript Goes Here. Place your entire script content inside the try block for error handling.
let videoList = [];

// This will run when the DOM is ready.
document.addEventListener("DOMContentLoaded", function () {
const videoInput = document.getElementById("videoInput");
const videoListContainer = document.getElementById("videoList");
const uploadButton = document.getElementById("uploadButton");

uploadButton.addEventListener("click", function () {
const files = videoInput.files;
for (let i = 0; i < files.length; i++) {
const file = files[i];
const reader = new FileReader();
reader.onload = function (event) {
addVideoToList(file.name, event.target.result);
}
reader.readAsDataURL(file);
}
});

function addVideoToList(videoName, videoSrc) {
videoList.push({ name: videoName, src: videoSrc });
renderVideoList();
}

function renderVideoList() {
videoListContainer.innerHTML = ""; // Clear previous entries
videoList.forEach((video, index) => {
const videoItem = document.createElement("div");
videoItem.className = "col-md-6 my-2";
videoItem.innerHTML = `
<div class="card">
<video controls class="card-img-top" src="${video.src}" style="height: 200px;"></video>
<div class="card-body">
<h5 class="card-title">${video.name}</h5>
<button class="btn btn-danger" onclick="removeVideo(${index})">Remove</button>
</div>
</div>
`;
videoListContainer.appendChild(videoItem);
});
}

window.removeVideo = function (index) {
videoList.splice(index, 1);
renderVideoList();
}
});
} catch (error) {
// This will throw the error to the parent window.
throw error;
}
</script>

<style>
body {
background: linear-gradient(to right, #ffafbd, #ffc3a0);
color: #333;
}
#main-container {
margin-top: 30px;
}
.btn-primary {
background-color: #6a0572;
}
.btn-danger {
background-color: #d9534f;
}
/* Responsive video */
video {
max-width: 100%;
border-radius: 5px;
}
.card {
border-radius: 15px;
border: none;
box-shadow: 0 4px 16px rgba(0, 0, 0, 0.1);
}
</style>
</head>
<body>
<div id="main-container" class="container">
<h1 class="text-center">Reupload Video AI</h1>
<div class="text-center mb-4">
<input type="file" id="videoInput" multiple accept="video/*" class="form-control d-inline-block w-50">
<button id="uploadButton" class="btn btn-primary">Upload Videos</button>
</div>
<div class="row" id="videoList"></div>
</div>
</body>
</html>