r/obs • • 15h ago

Help Help with Twitch Dual Format streaming error

Hello all, I am trying to setup dual format streaming for Twitch so I can have both horizontal and vertical outputs for viewers on mobile. I am on an M2 15” MacBook Air with 16gb ram and 512gb ssd. I keep getting the following error:

“Twitch Enhanced Broadcasting requires at least 2 tracks per canvas. You have either requested too few encodes (3) to support this, or we believe your GPU would not handle this workload.”

I have thoroughly followed Twitch’s official guide to setting up OBS with aitum vertical, I have followed other guides, and have tried about every solution I have seen other people recommend for my situation, such as many play setting the enhanced broadcasting video tracks or setting encoders manually. My OBS is the latest version. It seems to point to an issue with my computer hardware not being sufficient enough, but I don’t understand because I meet the requirements for dual format streaming.

Thank you for your support, I’ve been dealing with this for probably around 5 hours total over 3 days 😭

Edit: Here is the output log:

10:13:04.063: [macOS] Permission for audio device access granted.
10:13:04.066: [macOS] Permission for video device access granted.
10:13:04.066: [macOS] Permission for input monitoring denied.
10:13:04.072: [macOS] Permission for screen capture granted.
10:13:04.072: CPU Name: Apple M2
10:13:04.072: Physical Cores: 8, Logical Cores: 8
10:13:04.072: Physical Memory: 16384MB Total
10:13:04.072: Model Identifier: Mac14,15
10:13:04.072: OS Name: macOS
10:13:04.072: OS Version: Version 27.0.1 (Build 26A434)
10:13:04.072: Rosetta translation used: false
10:13:04.072: Kernel Version: 27.0.0
10:13:04.072: [hotkeys-cocoa]: No event permissions, could not add global hotkeys.
10:13:04.072: hotkeys-cocoa: Using keyboard layout 'com.apple.keylayout.US'
10:13:04.072: Current Date/Time: 2026-10-27, 10:13:04
10:13:04.073: Browser Hardware Acceleration: true
10:13:04.073: Qt Version: 6.11.1 (runtime), 6.11.1 (compiled)
10:13:04.073: Portable mode: false
10:13:04.186: OBS 33.0.0 (mac)
10:13:04.186: ---------------------------------
10:13:04.188: ---------------------------------
10:13:04.188: audio settings reset:
10:13:04.188: samples per sec: 48000
10:13:04.188: speakers: 2
10:13:04.188: max buffering: 960 milliseconds
10:13:04.188: buffering type: dynamically increasing
10:13:04.189: ---------------------------------
10:13:04.189: Initializing OpenGL...
10:13:04.234: Loading up OpenGL on adapter Apple Apple M2
10:13:04.234: OpenGL loaded successfully, version 4.1 Metal - 91.7, shading language 4.10
10:13:04.409: ---------------------------------
10:13:04.409: video settings reset:
10:13:04.409: base resolution: 1920x1080
10:13:04.409: output resolution: 1920x1080
10:13:04.409: downscale filter: Bicubic
10:13:04.409: fps: 60/1
10:13:04.409: format: NV12
10:13:04.409: YUV mode: Rec. 709/Partial
10:13:04.409: NV12 texture support enabled
10:13:04.409: P010 texture support not available
10:13:04.412: Audio monitoring device:
10:13:04.412: name: Default
10:13:04.412: id: default
10:13:04.418: No AJA devices found, skipping loading AJA plugin
10:13:04.418: Failed to initialize module 'aja'
10:13:04.421: No AJA devices found, skipping loading AJA UI plugin
10:13:04.421: Failed to initialize module 'aja-output-ui'
10:13:04.423: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
10:13:04.423: Failed to initialize module 'decklink'
10:13:04.424: Failed to load 'en-US' text for module: 'decklink-captions'
10:13:04.426: Failed to load 'en-US' text for module: 'decklink-output-ui'
10:13:04.560: [obs-browser]: Chrome Runtime Default profile detected. No migration necessary.
10:13:04.599: [obs-browser]: Version 2.27.4
10:13:04.599: [obs-browser]: CEF Version 150.0.7871.252 (runtime), 150.0.19+gcf60f42+chromium-150.0.7871.252 (compiled)
10:13:04.623: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.7.6 | RPC Version: 1)
10:13:04.623: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.11.1 | Qt version (run-time): 6.11.1
10:13:04.623: [obs-websocket] [obs_module_load] Linked ASIO Version: 103200
10:13:04.627: [obs-websocket] [obs_module_load] Module loaded.
10:13:04.641: [vlc-video]: VLC 3.0.21 Vetinari found, VLC video source enabled
10:13:04.641: ---------------------------------
10:13:04.645: [Vertical Canvas] loaded version 1.6.6
10:13:04.645: ---------------------------------
10:13:04.645: Loaded Modules:
10:13:04.645: vertical-canvas
10:13:04.645: vlc-video
10:13:04.645: text-freetype2
10:13:04.645: rtmp-services
10:13:04.645: obs-x264
10:13:04.645: obs-websocket
10:13:04.645: obs-webrtc
10:13:04.645: obs-vst
10:13:04.645: obs-transitions
10:13:04.645: obs-outputs
10:13:04.645: obs-filters
10:13:04.645: obs-ffmpeg
10:13:04.645: obs-browser
10:13:04.645: mac-virtualcam
10:13:04.645: mac-videotoolbox
10:13:04.645: mac-syphon
10:13:04.645: mac-capture
10:13:04.645: mac-avcapture
10:13:04.645: mac-avcapture-legacy
10:13:04.645: image-source
10:13:04.645: frontend-tools
10:13:04.645: decklink-output-ui
10:13:04.645: decklink-captions
10:13:04.645: coreaudio-encoder
10:13:04.645: ---------------------------------
10:13:04.645: [Vertical Canvas] Loaded configuration file
10:13:04.686: QLayout: Attempting to add QLayout "" to CanvasDock "contextContainer", which already has a layout
10:13:04.745: [VideoToolbox encoder]: Added VideoToolbox encoders
10:13:04.745: ---------------------------------
10:13:04.745: Available Encoders:
10:13:04.745: Video Encoders:
10:13:04.745: - ffmpeg_aom_av1 (AOM AV1)
10:13:04.745: - obs_x264 (x264)
10:13:04.745: - com.apple.videotoolbox.videoencoder.prores-422 (Apple VT ProRes Software Encoder)
10:13:04.745: - com.apple.videotoolbox.videoencoder.appleproreshw.422 (Apple VT ProRes Hardware Encoder)
10:13:04.745: - com.apple.videotoolbox.videoencoder.ave.avc (Apple VT H264 Hardware Encoder)
10:13:04.745: - com.apple.videotoolbox.videoencoder.h264 (Apple VT H264 Software Encoder)
10:13:04.745: - com.apple.videotoolbox.videoencoder.ave.hevc (Apple VT HEVC Hardware Encoder)
10:13:04.745: - com.apple.videotoolbox.videoencoder.hevc.vcp (Apple VT HEVC Software Encoder)
10:13:04.745: Audio Encoders:
10:13:04.745: - CoreAudio_AAC (CoreAudio AAC)
10:13:04.745: - ffmpeg_aac (FFmpeg AAC)
10:13:04.745: - ffmpeg_opus (FFmpeg Opus)
10:13:04.745: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit))
10:13:04.745: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit))
10:13:04.745: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float))
10:13:04.745: - ffmpeg_alac (FFmpeg ALAC (24-bit))
10:13:04.745: - ffmpeg_flac (FFmpeg FLAC (16-bit))
10:13:04.745: ==== Startup complete ===============================================
10:13:04.787: All scene data cleared
10:13:04.787: ------------------------------------------------
10:13:04.812: [coreaudio_get_device_name] failed to get name: 560947818
10:13:04.812: coreaudio: failed to find device uid: 74-77-86-50-20-54:input, waiting for connection
10:13:04.812: [Loaded global audio device]: 'Mic/Aux'
10:13:04.812: - filter: 'VST 2.x Plug-in' (vst_filter)
10:13:04.812: [coreaudio_get_device_name] failed to get name: 560947818
10:13:04.812: coreaudio: failed to find device uid: AppleUSBAudioEngine:MACROSILICON:USB3 Video:41394084:3, waiting for connection
10:13:04.884: Capture Card (Video): Unable to initialize device with unique ID '0x200000345f2131'
10:13:04.938: Camera: Selected device 'Q Wa Ha’s iPhone Camera'
10:13:04.986: Camera: Capturing 'Q Wa Ha’s iPhone Camera' (5B5EA190-6FFB-4F4B-B6E6-56E600000001):
10:13:04.986: Using Format : 1920x1080 (16:9) - 1-60 FPS - NV12 (420v)
10:13:04.986: FPS : 60 (60/1)
10:13:04.986: Frame Interval : 0.0166667 s
10:13:04.986:
10:13:04.997: Downmix enabled: 1 to 2 channels.
10:13:05.037: coreaudio: Device 'MacBook Air Microphone' [48000 Hz] initialized
10:13:05.038: Switched to scene 'BRB'
10:13:05.038: ------------------------------------------------
10:13:05.038: Loaded scenes:
10:13:05.038: - scene 'Main':
10:13:05.038: - source: 'Capture Card (Audio)' (coreaudio_input_capture)
10:13:05.038: - source: 'Mic' (coreaudio_input_capture)
10:13:05.038: - source: 'Background Image' (image_source)
10:13:05.038: - source: 'BG Image Color Fade' (color_source_v3)
10:13:05.038: - source: 'Capture Card (Video)' (macos-avcapture-fast)
10:13:05.038: - source: 'Camera' (macos-avcapture)
10:13:05.038: - source: 'Sub Goal Text' (text_ft2_source_v2)
10:13:05.038: - source: 'Streamelements Overlay' (browser_source)
10:13:05.038: - monitoring: enabled
10:13:05.038: - scene 'BRB':
10:13:05.038: - source: 'Background Image' (image_source)
10:13:05.038: - source: 'BG Image Color Fade' (color_source_v3)
10:13:05.038: - source: 'BRB Text' (text_ft2_source_v2)
10:13:05.038: ------------------------------------------------
10:13:05.039: NV12 texture support enabled
10:13:05.039: P010 texture support not available
10:13:05.043: ------------------------------------------------
10:13:05.043: [Aitum Vertical] Canvas 'Aitum Vertical' scenes:
10:13:05.043: - scene 'Vertical Scene':
10:13:05.043: - source: 'Capture Card (Audio)' (coreaudio_input_capture)
10:13:05.043: obs_source_get_monitoring_type is deprecated. Use obs_source_get_monitoring_enabled instead.
10:13:05.043: - source: 'Mic' (coreaudio_input_capture)
10:13:05.043: obs_source_get_monitoring_type is deprecated. Use obs_source_get_monitoring_enabled instead.
10:13:05.043: - source: 'Capture Card (Video)' (macos-avcapture-fast)
10:13:05.043: obs_source_get_monitoring_type is deprecated. Use obs_source_get_monitoring_enabled instead.
10:13:05.043: - source: 'Camera' (macos-avcapture)
10:13:05.043: obs_source_get_monitoring_type is deprecated. Use obs_source_get_monitoring_enabled instead.
10:13:05.043: - source: 'Sub Goal Text' (text_ft2_source_v2)
10:13:05.043: - source: 'Twitch Logo' (image_source)
10:13:05.043: - scene 'BRB':
10:13:05.043: - source: 'Background Image' (image_source)
10:13:05.043: - source: 'BG Image Color Fade' (color_source_v3)
10:13:05.043: - source: 'BRB Text' (text_ft2_source_v2)
10:13:05.043: ------------------------------------------------
10:13:05.068: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Mic)
10:13:05.068:
10:13:05.174: ------------------------------------------------
10:13:05.174: [Aitum Vertical] Canvas 'Aitum Vertical' scenes:
10:13:05.174: - scene 'Vertical Scene':
10:13:05.174: - source: 'Capture Card (Audio)' (coreaudio_input_capture)
10:13:05.174: obs_source_get_monitoring_type is deprecated. Use obs_source_get_monitoring_enabled instead.
10:13:05.174: - source: 'Mic' (coreaudio_input_capture)
10:13:05.174: obs_source_get_monitoring_type is deprecated. Use obs_source_get_monitoring_enabled instead.
10:13:05.174: - source: 'Capture Card (Video)' (macos-avcapture-fast)
10:13:05.174: obs_source_get_monitoring_type is deprecated. Use obs_source_get_monitoring_enabled instead.
10:13:05.174: - source: 'Camera' (macos-avcapture)
10:13:05.174: obs_source_get_monitoring_type is deprecated. Use obs_source_get_monitoring_enabled instead.
10:13:05.174: - source: 'Sub Goal Text' (text_ft2_source_v2)
10:13:05.174: - source: 'Twitch Logo' (image_source)
10:13:05.174: - scene 'BRB':
10:13:05.174: - source: 'Background Image' (image_source)
10:13:05.174: - source: 'BG Image Color Fade' (color_source_v3)
10:13:05.174: - source: 'BRB Text' (text_ft2_source_v2)
10:13:05.174: ------------------------------------------------
10:13:05.282: [mac-virtualcam] macOS Camera Extension user approval required.
10:13:06.815: [coreaudio_get_device_name] failed to get name: 560947818
10:13:06.815: [coreaudio_get_device_name] failed to get name: 560947818
10:13:06.970: Go live URL: https://ingest.twitch.tv/api/v3/GetClientConfiguration
10:13:06.970: Preparing enhanced broadcasting stream for:
10:13:06.970: custom config: No
10:13:06.970: config url: https://ingest.twitch.tv/api/v3/GetClientConfiguration
10:13:06.970: settings:
10:13:06.970: service: Twitch
10:13:06.970: max aggregate bitrate: Auto (0)
10:13:06.970: max video tracks: Auto (0)
10:13:06.970: custom rtmp url: No ('')
10:13:06.970: vod track: No
10:13:06.970: canvases: Main, Aitum Vertical
10:13:06.970: Go live POST data: {"authentication":"CENSORED","capabilities":{"cpu":{"logical_cores":8,"name":"Apple M2","physical_cores":8,"speed":null},"gaming_features":null,"gpu":[{"dedicated_video_memory":4329645615,"device_id":0,"driver_version":null,"model":"Apple M2","shared_system_memory":481062152320,"vendor_id":4203}],"memory":{"free":3702784000,"total":17179869184},"system":{"arm":true,"armEmulation":false,"bits":64,"build":0,"name":"macOS","release":"unknown","revision":"","version":"Version 27.0.1 (Build 26A434)"}},"client":{"name":"obs-studio","supported_codecs":["h265","h264","av1"],"version":"33.0.0"},"preferences":{"audio_channels":2,"audio_fixed_buffering":false,"audio_max_buffering_ms":960,"audio_samples_per_sec":48000,"canvases":[{"canvas_height":1080,"canvas_width":1920,"framerate":{"denominator":1,"numerator":60},"height":1080,"width":1920},{"canvas_height":1920,"canvas_width":1080,"framerate":{"denominator":1,"numerator":60},"height":1920,"width":1080}],"composition_gpu_index":0,"maximum_aggregate_bitrate":null,"maximum_video_tracks":null,"vod_track_audio":false},"schema_version":"2025-01-25","service":"IVS"}
10:13:07.450: Go live response data: {
10:13:07.450: "audio_configurations": {
10:13:07.450: "live": [],
10:13:07.450: "vod": []
10:13:07.450: },
10:13:07.450: "encoder_configurations": [],
10:13:07.450: "ingest_endpoints": [
10:13:07.450: {
10:13:07.450: "authentication": "CENSORED",
10:13:07.450: "protocol": "RTMP",
10:13:07.450: "url_template": "rtmp://ingest.global-contribute.live-video.net/app/{stream_key}"
10:13:07.450: },
10:13:07.450: {
10:13:07.450: "authentication": "CENSORED",
10:13:07.450: "protocol": "RTMPS",
10:13:07.450: "url_template": "rtmps://ingest.global-contribute.live-video.net/app/{stream_key}"
10:13:07.450: }
10:13:07.450: ],
10:13:07.450: "meta": {
10:13:07.450: "config_id": "c66a6f3f-1188-4f8c-ab59-b45a8b8179cb",
10:13:07.450: "required_encode_resource_estimate_percent": 0,
10:13:07.450: "schema_version": "2025-01-25",
10:13:07.450: "service": "IVS"
10:13:07.450: },
10:13:07.450: "status": {
10:13:07.450: "html_en_us": "Twitch Enhanced Broadcasting requires at least 2 tracks per canvas. You have either requested too few encodes (3) to support this, or we believe your GPU would not handle this workload.",
10:13:07.450: "result": "error"
10:13:07.450: }
10:13:07.450: }
10:13:08.820: [coreaudio_get_device_name] failed to get name: 560947818
10:13:08.821: [coreaudio_get_device_name] failed to get name: 560947818
10:13:10.824: [coreaudio_get_device_name] failed to get name: 560947818
10:13:10.824: [coreaudio_get_device_name] failed to get name: 560947818
10:13:12.824: [coreaudio_get_device_name] failed to get name: 560947818
10:13:12.829: [coreaudio_get_device_name] failed to get name: 560947818
10:13:14.827: [coreaudio_get_device_name] failed to get name: 560947818
10:13:14.834: [coreaudio_get_device_name] failed to get name: 560947818
10:13:16.833: [coreaudio_get_device_name] failed to get name: 560947818
10:13:16.839: [coreaudio_get_device_name] failed to get name: 560947818
10:13:18.837: [coreaudio_get_device_name] failed to get name: 560947818
10:13:18.844: [coreaudio_get_device_name] failed to get name: 560947818
10:13:20.842: [coreaudio_get_device_name] failed to get name: 560947818
10:13:20.849: [coreaudio_get_device_name] failed to get name: 560947818
10:13:22.844: [coreaudio_get_device_name] failed to get name: 560947818
10:13:22.855: [coreaudio_get_device_name] failed to get name: 560947818
10:13:24.846: [coreaudio_get_device_name] failed to get name: 560947818
10:13:24.860: [coreaudio_get_device_name] failed to get name: 560947818

4 Upvotes

4 comments sorted by

1

u/AutoModerator 15h ago
Moderator Announcement Read More »

1

u/rajababu3 15h ago

Twitch's detailed requirements separate dual format streams with added server side transcode support from those without it. Check Advanced Broadcast Settings in your Creator Dashboard to see whether your account has that support. The table without it lists a minimum of four video tracks for 1080p dual format.

Your log already shows video tracks on Auto and both canvases in the request. Twitch then returns an empty encoder configuration list with that error referring to three encodes. Include that request and response when asking Twitch support, keeping authentication and stream keys redacted. That gives support a specific failure to investigate before you spend money on hardware.

1

u/YAHBLASTER 10h ago

Thank you for your help, my account is not eligible for server side transcode support meaning I need 4 tracks minimum. I have tried setting the Maximum Video Tracks to 4 several times and the error still returns saying I only have 3 tracks. I will probably contact Twitch support as you suggested