999c054bb25325c8de4ec2815cc95a9a6760dc2e
Phase A captured raw .h264 streams but left them as non-playable elementary streams. Phase B adds automatic muxing: when a video burst closes, the raw .h264 is remuxed to a self-contained MP4 via `ffmpeg -c copy` (no re-encode, fast) with `+faststart`, waits for the write stream to fully flush first so the mux never reads a truncated tail, and deletes the raw .h264 on success (keeping it on failure). Output: <RECORDINGS_DIR>/<uid>/video-<ssrc>-<ts>.mp4. muxToMp4 is exported + covered by a real-ffmpeg vitest (tests/videoReceiver.test.ts): generates a tiny baseline h264, remuxes, asserts mp4 exists/non-empty & raw deleted (also the 5 depacketizer tests). Full gateway suite 170/170 green, tsc + biome clean.
Description
Bete Discord moderation watcher
29 MiB
Languages
TypeScript
95.8%
CSS
1.4%
Shell
1%
Nix
0.9%
PLpgSQL
0.5%
Other
0.4%