fix: use canvas capture for recording, remove cancel button

Recording now creates an offscreen <img> (browser-native MJPEG
decoding) and captures frames via canvas.toBlob() at 100ms intervals.
This replaces the broken fetch-based multipart parser.

- useRecorder: img+canvas capture instead of fetch+ReadableStream
- RecorderControls: removed Cancel button, only Record/Stop remain
- App.vue: removed cancel wiring
This commit is contained in:
2026-08-01 16:20:48 +08:00
parent 386d8d5852
commit 88caa1e976
7 changed files with 99 additions and 196 deletions
+2 -2
View File
@@ -5,8 +5,8 @@
<link rel="icon" href="/favicon.ico">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>MJPEG Stream Viewer</title>
<script type="module" crossorigin src="/assets/index-BqiYluth.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-CJmYwh3k.css">
<script type="module" crossorigin src="/assets/index-3GYuRNvV.js"></script>
<link rel="stylesheet" crossorigin href="/assets/index-DuJPD2XK.css">
</head>
<body>
<div id="app"></div>