media: RTMP push via a MUXL fMP4 stream, not GStreamer concat master
Carry the bare canonical .m4s (blindly-concatenatable signed segments) alongside the flat presentation MP4: add Muxl to NewSegmentNotification (set at the validate.go chokepoint, where the bytes are already in hand) and to bus.Seg (set at the source-publish point). Data (flat) stays for the pipelines that still demux through GStreamer (WebRTC packetize, thumbnail); Muxl is the long-term wire format that retires Data. RTMPPush now reassembles the source segments into one continuous fMP4 for a single qtdemux: synthesize the init (ftyp+moov) from the first segment's catalog via wrap --init-only, then blindly concatenate every segment's bytes after it. MUXL segments carry per-track monotonic tfdt, so it's a valid timeline with no remux — replacing the per-tiny-file ConcatBin/qtdemux pad gymnastics. The opus->AAC + flvmux -> rtmp2sink transcode is unchanged. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>