Recommended OBS settings for youtube

gsapic81

New Member
Hi,

I've been trying to stream some sports events to YT using OBS and H.264 codec but the stream keeps freezing after ~30s.
The network is fast enough and I've tried various settings and options (BW change, various ffmpeg and x264 parameter changes) but the result is always more-less the same. YT reports stream as healthy but the video is not showing on the client and it shows as buffering. Then I restart the stream on OBS and the process is repeated.
I'd appreciate any inputs since I am really not at home with streaming. It could also be that I am missing some packages but then I assume it wouldn't work at all...
NOTE: Streaming webcam without using OBS works fine.

################ LOG ##############
11:27:05.989: Platform: Wayland
11:27:05.989: CPU Name: Intel(R) Core(TM) i5-2520M CPU @ 2.50GHz
11:27:05.989: CPU Speed: 2990.420MHz
11:27:05.989: Physical Cores: 2, Logical Cores: 4
11:27:05.989: Physical Memory: 5793MB Total, 575MB Free
11:27:05.989: Kernel Version: Linux 6.5.7-200.fc38.x86_64
11:27:05.990: Distribution: "Fedora Linux" 38
11:27:05.990: Desktop Environment: GNOME (gnome)
11:27:05.990: Session Type: wayland
11:27:05.993: Qt Version: 6.5.2 (runtime), 6.5.2 (compiled)
11:27:05.994: Portable mode: false
11:27:06.074: OBS 29.1.3 (linux)
11:27:06.074: ---------------------------------
11:27:06.075: ---------------------------------
11:27:06.075: audio settings reset:
11:27:06.075: samples per sec: 44100
11:27:06.075: speakers: 2
11:27:06.075: max buffering: 1044 milliseconds
11:27:06.075: buffering type: dynamically increasing
11:27:06.113: ---------------------------------
11:27:06.113: Initializing OpenGL...
11:27:06.113: Using EGL/Wayland
11:27:06.218: Initialized EGL 1.5
11:27:06.243: Loading up OpenGL on adapter Intel Mesa Intel(R) HD Graphics 3000 (SNB GT2)
11:27:06.243: OpenGL loaded successfully, version 3.3 (Core Profile) Mesa 23.1.8, shading language 3.30
11:27:06.314: ---------------------------------
11:27:06.314: video settings reset:
11:27:06.314: base resolution: 1280x720
11:27:06.314: output resolution: 1280x720
11:27:06.314: downscale filter: Bicubic
11:27:06.314: fps: 30/1
11:27:06.314: format: NV12
11:27:06.314: YUV mode: Rec. 709/Partial
11:27:06.314: NV12 texture support not available
11:27:06.314: P010 texture support not available
11:27:06.323: Audio monitoring device:
11:27:06.323: name: Default
11:27:06.323: id: default
11:27:06.324: ---------------------------------
11:27:06.374: Failed to load 'en-US' text for module: 'decklink-captions.so'
11:27:06.426: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
11:27:06.474: A DeckLink iterator could not be created. The DeckLink drivers may not be installed
11:27:06.474: Failed to initialize module 'decklink.so'
11:27:06.541: Failed to load 'en-GB' text for module: 'frontend-tools.so'
11:27:06.820: Failed to load 'en-GB' text for module: 'linux-alsa.so'
11:27:06.868: Failed to load 'en-GB' text for module: 'linux-capture.so'
11:27:06.926: Failed to load 'en-GB' text for module: 'linux-jack.so'
11:27:07.027: Failed to load 'en-GB' text for module: 'linux-pipewire.so'
11:27:07.030: [pipewire] Available captures:
11:27:07.030: [pipewire] - Desktop capture
11:27:07.030: [pipewire] - Window capture
11:27:07.078: Failed to load 'en-GB' text for module: 'linux-pulseaudio.so'
11:27:07.143: v4l2loopback not installed, virtual camera disabled
11:27:07.674: os_dlopen(libnvidia-encode.so.1->libnvidia-encode.so.1): libnvidia-encode.so.1: cannot open shared object file: No such file or directory
11:27:07.674:
11:27:08.138: VAAPI: API version 1.18
11:27:08.152: VAAPI: Failed to initialize display in vaapi_device_h264_supported
11:27:08.153: FFmpeg VAAPI H264 encoding not supported
11:27:08.174: VAAPI: Failed to initialize display in vaapi_device_hevc_supported
11:27:08.174: FFmpeg VAAPI HEVC encoding not supported
11:27:08.280: Failed to load 'en-GB' text for module: 'obs-libfdk.so'
11:27:08.461: Failed to load 'en-GB' text for module: 'obs-vst.so'
11:27:08.536: Failed to load 'en-GB' text for module: 'obs-websocket.so'
11:27:08.536: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.2.3 | RPC Version: 1)
11:27:08.536: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.5.2 | Qt version (run-time): 6.5.2
11:27:08.536: [obs-websocket] [obs_module_load] Linked ASIO Version: 102801
11:27:08.548: [obs-websocket] [obs_module_load] Module loaded.
11:27:08.602: Failed to load 'en-GB' text for module: 'rtmp-services.so'
11:27:08.654: ---------------------------------
11:27:08.655: Loaded Modules:
11:27:08.655: text-freetype2.so
11:27:08.655: rtmp-services.so
11:27:08.655: obs-websocket.so
11:27:08.655: obs-vst.so
11:27:08.655: obs-transitions.so
11:27:08.655: obs-outputs.so
11:27:08.655: obs-libfdk.so
11:27:08.655: obs-filters.so
11:27:08.655: obs-ffmpeg.so
11:27:08.655: linux-v4l2.so
11:27:08.655: linux-pulseaudio.so
11:27:08.655: linux-pipewire.so
11:27:08.655: linux-jack.so
11:27:08.655: linux-capture.so
11:27:08.655: linux-alsa.so
11:27:08.655: image-source.so
11:27:08.656: frontend-tools.so
11:27:08.656: decklink-output-ui.so
11:27:08.656: decklink-captions.so
11:27:08.656: ---------------------------------
11:27:08.656: ==== Startup complete ===============================================
11:27:08.659: Switched to Preview/Program mode
11:27:08.659: ------------------------------------------------
11:27:08.749: All scene data cleared
11:27:08.750: ------------------------------------------------
11:27:08.760: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.83) 15.0.0'
11:27:08.760: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
11:27:08.760: pulse-input: Started recording from 'alsa_output.pci-0000_00_1b.0.analog-stereo.monitor'
11:27:08.761: [Loaded global audio device]: 'Desktop Audio'
11:27:08.761: pulse-input: Server name: 'PulseAudio (on PipeWire 0.3.83) 15.0.0'
11:27:08.762: pulse-input: Audio format: s16le, 48000 Hz, 1 channels
11:27:08.762: pulse-input: Started recording from 'alsa_input.usb-Generalplus_Usb_Audio_Device-00.mono-fallback'
11:27:08.763: [Loaded global audio device]: 'Mic/Aux'
11:27:08.787: [Media Source 'Media Source']: settings:
11:27:08.787: input: /home/shapa/Videos/VID-20230218-WA0012.mp4
11:27:08.787: input_format: (null)
11:27:08.787: speed: 100
11:27:08.787: is_looping: no
11:27:08.787: is_linear_alpha: no
11:27:08.787: is_hw_decoding: no
11:27:08.787: is_clear_on_media_end: yes
11:27:08.787: restart_on_activate: yes
11:27:08.787: close_when_inactive: no
11:27:08.787: full_decode: no
11:27:08.787: ffmpeg_options:
11:27:08.812: pulse-am: Server name: 'PulseAudio (on PipeWire 0.3.83) 15.0.0'
11:27:08.815: pulse-am: Audio format: s32le, 48000 Hz, 2 channels
11:27:08.816: pulse-am: Started Monitoring in 'alsa_output.pci-0000_00_1b.0.analog-stereo'
11:27:08.843: [Media Source 'Music background']: settings:
11:27:08.843: input: /home/shapa/Music/Thor's Hammer - Ethan Meixsell.mp3
11:27:08.843: input_format: (null)
11:27:08.843: speed: 100
11:27:08.843: is_looping: yes
11:27:08.843: is_linear_alpha: no
11:27:08.843: is_hw_decoding: no
11:27:08.843: is_clear_on_media_end: yes
11:27:08.843: restart_on_activate: yes
11:27:08.843: close_when_inactive: no
11:27:08.843: full_decode: no
11:27:08.843: ffmpeg_options:
11:27:08.844: v4l2-input: Start capture from /dev/video2
11:27:08.928: v4l2-input: Input: 0
11:27:09.257: v4l2-input: Resolution: 1280x720
11:27:09.257: v4l2-input: Pixelformat: MJPG
11:27:09.257: v4l2-input: Linesize: 0 Bytes
11:27:09.257: v4l2-input: Framerate: 30.00 fps
11:27:09.262: v4l2-input: /dev/video2: select timeout set to 166666 (5x frame periods)
11:27:09.276: Switched to scene 'Scene 1'
11:27:09.280: ------------------------------------------------
11:27:09.280: Loaded scenes:
11:27:09.280: - scene 'Scene 2':
11:27:09.280: - source: 'Music background' (ffmpeg_source)
11:27:09.280: - filter: '3-Band Equaliser' (basic_eq_filter)
11:27:09.280: - source: 'Media Source' (ffmpeg_source)
11:27:09.280: - monitoring: monitor and output
11:27:09.280: - source: 'Labels' (group)
11:27:09.280: - source: 'Background_description' (image_source)
11:27:09.280: - show: 'Background_description Show Transition' (slide_transition)
11:27:09.280: - hide: 'Background_description Hide Transition' (slide_transition)
11:27:09.280: - source: 'Background_Red' (image_source)
11:27:09.280: - show: 'Background_Red Show Transition' (slide_transition)
11:27:09.280: - hide: 'Background_Red Hide Transition' (slide_transition)
11:27:09.280: - source: 'Background_blue' (image_source)
11:27:09.280: - show: 'Background_blue Show Transition' (slide_transition)
11:27:09.281: - hide: 'Background_blue Hide Transition' (slide_transition)
11:27:09.281: - source: 'Fight_details' (text_ft2_source_v2)
11:27:09.281: - show: 'Fight_details Show Transition' (slide_transition)
11:27:09.281: - source: 'Name_Red' (text_ft2_source_v2)
11:27:09.281: - show: 'Name_Red Show Transition' (slide_transition)
11:27:09.281: - hide: 'Name_Red Hide Transition' (slide_transition)
11:27:09.281: - source: 'Name_Blue' (text_ft2_source_v2)
11:27:09.281: - show: 'Name_Blue Show Transition' (slide_transition)
11:27:09.281: - hide: 'Name_Blue Hide Transition' (slide_transition)
11:27:09.281: - source: 'Logo' (image_source)
11:27:09.281: - show: 'Logo Show Transition' (fade_transition)
11:27:09.281: - hide: 'Logo Hide Transition' (swipe_transition)
11:27:09.281: - scene 'Scene 1':
11:27:09.281: - source: 'USB camera 1' (v4l2_input)
11:27:09.281: - source: 'Labels' (group)
11:27:09.281: - source: 'Background_description' (image_source)
11:27:09.281: - show: 'Background_description Show Transition' (slide_transition)
11:27:09.281: - hide: 'Background_description Hide Transition' (slide_transition)
11:27:09.281: - source: 'Background_Red' (image_source)
11:27:09.281: - show: 'Background_Red Show Transition' (slide_transition)
11:27:09.281: - hide: 'Background_Red Hide Transition' (slide_transition)
11:27:09.281: - source: 'Background_blue' (image_source)
11:27:09.281: - show: 'Background_blue Show Transition' (slide_transition)
11:27:09.281: - hide: 'Background_blue Hide Transition' (slide_transition)
11:27:09.281: - source: 'Fight_details' (text_ft2_source_v2)
11:27:09.281: - show: 'Fight_details Show Transition' (slide_transition)
11:27:09.281: - source: 'Name_Red' (text_ft2_source_v2)
11:27:09.281: - show: 'Name_Red Show Transition' (slide_transition)
11:27:09.281: - hide: 'Name_Red Hide Transition' (slide_transition)
11:27:09.281: - source: 'Name_Blue' (text_ft2_source_v2)
11:27:09.281: - show: 'Name_Blue Show Transition' (slide_transition)
11:27:09.281: - hide: 'Name_Blue Hide Transition' (slide_transition)
11:27:09.281: - source: 'Logo' (image_source)
11:27:09.281: - show: 'Logo Show Transition' (fade_transition)
11:27:09.281: - hide: 'Logo Hide Transition' (swipe_transition)
11:27:09.281: - source: 'Music background' (ffmpeg_source)
11:27:09.281: - filter: '3-Band Equaliser' (basic_eq_filter)
11:27:09.281: ------------------------------------------------
11:27:09.373: adding 23 milliseconds of audio buffering, total audio buffering is now 23 milliseconds (source: Desktop Audio)
11:27:09.373:
11:27:09.485: v4l2-input: /dev/video2: select timed out
11:27:09.485: v4l2-input: /dev/video2: failed to log status
11:27:09.652: v4l2-input: /dev/video2: select timed out
11:27:09.652: v4l2-input: /dev/video2: failed to log status
11:27:11.945: ---------------------------------
11:27:11.946: [H.264 encoder: 'simple_video_stream'] settings:
11:27:11.946: encoder: OpenH264
11:27:11.946: rc_mode: quality
11:27:11.946: bitrate: 2500
11:27:11.946: profile: main
11:27:11.946: width: 1280
11:27:11.946: height: 720
11:27:11.946: ffmpeg opts:
11:27:11.946:
11:27:11.949: libfdk_aac encoder created
11:27:11.949: libfdk_aac bitrate: 128, channels: 2
11:27:11.949: [rtmp stream: 'simple_stream'] Dynamic bitrate disabled. The encoder does not support on-the-fly bitrate reconfiguration.
11:27:11.949: [rtmp stream: 'simple_stream'] Connecting to RTMP URL rtmp://a.rtmp.youtube.com/live2...
11:27:12.662: [rtmp stream: 'simple_stream'] Connection to rtmp://a.rtmp.youtube.com/live2 successful
11:27:12.664: ==== Streaming Start ===============================================
 
Top