Add thumbnail generation example, fix MP3 detection code error, prefer canvas element over OffscreenCanvas

This commit is contained in:
Vanilagy
2025-05-23 18:52:09 +02:00
parent c620b3e753
commit 4bbb6edf5d
7 changed files with 185 additions and 13 deletions
+46
View File
@@ -0,0 +1,46 @@
<!DOCTYPE html>
<html lang="en" translate="no">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Thumbnail generation example | Mediakit</title>
<script type="module" src="./thumbnail-generation.ts"></script>
<link rel="stylesheet" href="../index.css">
</head>
<body class="flex flex-col items-center py-10 bg-gray-50 text-gray-800 px-2">
<h1 class="text-3xl">Thumbnail generation example</h1>
<p>Select or drop a media file, and Mediakit will extract video thumbnails for it.</p>
<div class="flex gap-2 mt-4">
<button class="rounded-lg bg-gray-200 hover:bg-gray-300 px-5 py-1">
Select media file
</button>
<a href="../../assets/big-buck-bunny-trimmed.mp4" download class="rounded-lg bg-gray-200 hover:bg-gray-300 px-5 group grid place-items-center" title="Download sample file">
<img src="../../assets/download-icon.svg" class="opacity-30 group-hover:opacity-80">
</a>
</div>
<p class="text-xs opacity-60 mt-0.5" id="file-name"></p>
<hr class="w-96 my-4 border-gray-300" style="display: none;">
<p id="error-element" class="text-red-500"></p>
<div id="thumbnail-container" class="grid grid-cols-1 sm:grid-cols-2 md:grid-cols-3 lg:grid-cols-4 gap-4"></div>
<div class="fixed top-0 left-0 flex gap-2 py-2 px-5 items-center">
<img src="../../assets/mediakit-logo.svg" class="size-6">
<p class="text-sm font-semibold">Mediakit</p>
</div>
<a
href="https://github.com/Vanilagy/metamuxer/tree/main/examples/thumbnail-generation"
target="_blank"
class="flex items-center gap-2 fixed top-0 right-0 py-2 px-5 bg-gray-200 hover:bg-gray-300 rounded-bl-xl"
>
<img src="../../assets/github-mark.svg" class="size-6">
<p>View source code</p>
</a>
</body>
</html>