Skip to content

Vertical (9:16) output for non-Twitch destinations #31

Description

@Soulhackzlol

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions