f1aa08cdf65cbbc374f3a871e121a4df3874fae2
Screen share showed a single frozen frame: the GoLive pipeline sent video only (-"-an", h264 muxer cannot carry audio) so the audio SSRC never transmitted and Discord kept the stream in thumbnail state. - prepareStream: mux NUT when includeAudio (h264 muxer drops audio) and return the actual container format - Demuxer: support NUT input with a second output pipe (fd3) carrying Ogg Opus; parse OGG pages into opus frames (20ms, 48kHz) emitted as GoLiveFrames; fix metadata parsing that dropped the audio stream line when it arrived in a later stderr chunk (early parsedMeta return) - playStream: pipe audio.stream into AudioStream → RTP on the audio SSRC - Encoders: -x264-params repeat-headers=1 → SPS/PPS inline before EVERY IDR (NUT remux drops container extradata; also enables PLI recovery) - screenShareController: includeAudio true - tests: demuxerNut.test.ts — OGG parser unit test + real ffmpeg NUT integration (video access units + parsed opus frames)
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%