Reuse the vertical 9:16 canvas that Twitch Dual Format (Enhanced Broadcasting + Aitum Vertical) already produces, and simulcast it to non-Twitch destinations (YouTube Shorts, Kick mobile, TikTok) as a standard single-track RTMP feed - no second scene, no extra encoder.
Requirements:
- Per-destination Horizontal / Vertical choice (Twitch is native dual-canvas, so the choice is non-Twitch only).
- Identify the vertical canvas by decoding each track's SPS for orientation (portrait = height > width), not by guessing track IDs.
- Forward the vertical AVC track as legacy AVC framing (YouTube's vertical ingest is flaky with Enhanced-RTMP avc1) and lead with the canvas's own keyframe after each (re)connect/cut.
- Degrade gracefully: when no vertical canvas is on the wire (Dual Format off), the destination waits and sends nothing rather than half-connecting; horizontal/Twitch destinations are unaffected.
Follow-up to #27 (which covered forwarding the dual canvas to Twitch). Implemented in #30.
Reuse the vertical 9:16 canvas that Twitch Dual Format (Enhanced Broadcasting + Aitum Vertical) already produces, and simulcast it to non-Twitch destinations (YouTube Shorts, Kick mobile, TikTok) as a standard single-track RTMP feed - no second scene, no extra encoder.
Requirements:
Follow-up to #27 (which covered forwarding the dual canvas to Twitch). Implemented in #30.