Commit Graph

4 Commits

Author SHA1 Message Date
SkyLiCoder 386d8d5852 refactor: flatten project structure, remove ti2026h-web subdirectory 2026-08-01 16:08:44 +08:00
SkyLiCoder 6bbe83e1f1 fix: use native img tag for MJPEG live display
Live view now uses <img :src='streamUrl'> (browser-native MJPEG
support, same as the working test HTML). The fetch-based multipart
parser is kept only for recording frame capture. Also fixed
multipart boundary parsing to correctly handle boundary values
that already include leading dashes.

- LiveView receives streamUrl string, passes it directly to <img>
- useMjpegStream simplified to URL + state management
- useRecorder manages its own fetch stream independently
- RecorderControls shows recorder-specific errors
2026-08-01 16:04:20 +08:00
SkyLiCoder 97e6b4c056 feat: MJPEG stream viewer with recording and playback
- Add MJPEG stream parsing via Fetch ReadableStream (multipart/x-mixed-replace)
- Live view display with configurable stream URL (persisted to localStorage)
- Frontend recording: capture frames to memory, save to IndexedDB
- Playback panel: list saved recordings, replay with original frame timing
- Dark-themed single-page UI with Live/Playback tabs
2026-08-01 15:29:41 +08:00
SkyLiCoder 890a654729 initial commit 2026-08-01 14:54:07 +08:00