
Dual HD
Simultaneous Horizontal and Vertical Live Video Streaming
Dual HD is a concept and set of frame sizes designed to simplify live video streaming across platforms that use different device orientations. It enables creators to stream both horizontal and vertical video formats simultaneously, streamlining content creation for platforms like Twitch/YouTube (horizontal) and TikTok/Instagram (vertical). It’s also ideal for websites that display horizontal video player on desktop and vertical player on mobile.
For Viewers
Orientation-specific formats enhance the viewing experience across devices and solve the letterboxing issue that occurs when horizontal video is displayed on a vertical screen or vertical video on horizontal screen.
For Streamers
Dual HD is easy to adopt without needing to install or learn new broadcasting software. An intermediate server crops and forwards the stream to the appropriate destinations, ensuring that both orientations are correctly streamed to each destination platform. Dual HD works with any streaming software that supports custom frame sizes, such as OBS Studio.
Scope of This Standard
Dual HD focuses solely on frame sizes, not codecs or other technical specifications. However, modern codecs like HEVC or AV1 are recommended to efficiently manage bandwidth, given the larger frame size. An intermediate transcoding service is required to crop and forward the Dual HD stream to the target platforms. An example implementation of a Dual HD server is available on GitHub.
Specification v 1.0
Frame sizes and image templates
Dual HD 1760
Video formats: 720p horizontal, 480p vertical.
- Frame size (w, h): 1760x854
- Horizontal video
- Size (w, h): 1280x720
- Position (x, y): 0, 0
- Vertical video
- Size (w, h): 480x854
- Position (x, y): 1280, 0

Dual HD 2000
Video formats: 720p horizontal, 720p vertical.
- Frame size (w, h): 2000x1280
- Horizontal video
- Size (w, h): 1280x720
- Position (x, y): 0, 0
- Vertical video
- Size (w, h): 720x1280
- Position (x, y): 1280, 0

Dual HD 2640
Video formats: 1080p horizontal, 720p vertical.
- Frame size (w, h): 2640x1280
- Horizontal video
- Size (w, h): 1920x1080
- Position (x, y): 0, 0
- Vertical video
- Size (w, h): 720x1280
- Position (x, y): 1920, 0

Dual HD 3000
Video formats: 1080p horizontal, 1080p vertical.
- Frame size (w, h): 3000x1920
- Horizontal video
- Size (w, h): 1920x1080
- Position (x, y): 0, 0
- Vertical video
- Size (w, h): 1080x1920
- Position (x, y): 1920, 0

Dual HD 4920
Video formats: 4k horizontal, 1080p vertical.
- Frame size (w, h): 4920x2160
- Horizontal video
- Size (w, h): 3840x2160
- Position (x, y): 0, 0
- Vertical video
- Size (w, h): 1080x1920
- Position (x, y): 3840, 0

Broadcasting configuration example
OBS with Dual HD 2640
1. Adjust OBS Settings- Video -> Base (Canvas) Resolution: 2640x1280
- Video -> Output (Scaled) Resolution: 2640x1280
- Output -> Rescale output: Disabled
2. Add an Image source to your OBS canvas with the Dual HD 2640 template. Build your horizontal and vertical layouts directly on top of this template.
If your computer's processing power or bandwidth isn't sufficient for streaming at 2640x1280, select a smaller Dual HD resolution or downscale the output, provided the receiving service supports scaled Dual HD. For ecample, scaled resolution can be 1848x896, which retains 70% of the original width and height.
Example of Dual HD video processing
Transcoding with FFmpeg
Dual HD 2640 video can be split into two destinations with the following command:
ffmpeg -i dualhd2640.mp4 \ -filter_complex "[0:v]crop=1920:1080:0:0[horizontal]; [0:v]crop=720:1280:1920:0[vertical]" \ -map "[horizontal]" -c:v libx264 -preset veryfast -c:a copy fullhd_horizontal_output.mp4 \ -map "[vertical]" -c:v libx264 -preset veryfast -c:a copy 720p_vertical_output.mp4
See example implementation of a Dual HD server on GitHub.
Using in production
Dual HD buttons
Download buttons and link back to dualhd.org to support us - thank you!

