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
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
+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>