obsproject / obs-studio

OBS Studio - Free and open source software for live streaming and screen recording
https://obsproject.com
GNU General Public License v2.0
60.57k stars 8.01k forks source link

OBS-Studion can't find OpenH264 encoder #11143

Closed KelvinNovais closed 3 months ago

KelvinNovais commented 3 months ago

Operating System Info

Other

Other OS

Fedora Linux 40

OBS Studio Version

30.2.2

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/fQbBiDBrjuyNOYCO

OBS Studio Crash Log URL

No response

Expected Behavior

Recognize that the OpenH264 is installed.

Current Behavior

OBS-Studio doesn't start recording. Instead, it returns "Failed to open OpenH264: Encoder not found"

Steps to Reproduce

  1. Set the Settings > Output > Recording > Video Encoder to "Software (OpenH264)"
  2. Save the new settings
  3. Click on "Start Recording"

Anything else we should know?

The OBS Studio log URL seems to contain no data (since I couldn't start recording), so I'm including it manually here: ``` 09:09:14.005: Platform: Wayland 09:09:14.005: CPU Name: AMD Ryzen 7 5700U with Radeon Graphics 09:09:14.005: CPU Speed: 1929.475MHz 09:09:14.006: Physical Cores: 8, Logical Cores: 16 09:09:14.006: Physical Memory: 5775MB Total, 948MB Free 09:09:14.006: Kernel Version: Linux 6.10.4-200.fc40.x86_64 09:09:14.006: Distribution: "Fedora Linux" 40 09:09:14.006: Desktop Environment: GNOME (gnome) 09:09:14.006: Session Type: wayland 09:09:14.009: Qt Version: 6.7.2 (runtime), 6.7.2 (compiled) 09:09:14.009: Portable mode: false 09:09:14.044: OBS 30.2.2 (linux) 09:09:14.044: --------------------------------- 09:09:14.044: --------------------------------- 09:09:14.044: audio settings reset: 09:09:14.044: samples per sec: 48000 09:09:14.044: speakers: 2 09:09:14.044: max buffering: 960 milliseconds 09:09:14.044: buffering type: dynamically increasing 09:09:14.054: --------------------------------- 09:09:14.054: Initializing OpenGL... 09:09:14.054: Using EGL/Wayland 09:09:14.093: Initialized EGL 1.5 09:09:14.108: Loading up OpenGL on adapter AMD AMD Radeon Graphics (radeonsi, renoir, LLVM 18.1.6, DRM 3.57, 6.10.4-200.fc40.x86_64) 09:09:14.109: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 24.1.5, shading language 4.60 09:09:14.139: --------------------------------- 09:09:14.139: video settings reset: 09:09:14.139: base resolution: 1920x1080 09:09:14.139: output resolution: 1280x720 09:09:14.139: downscale filter: Bicubic 09:09:14.139: fps: 60/1 09:09:14.139: format: NV12 09:09:14.139: YUV mode: Rec. 709/Partial 09:09:14.139: NV12 texture support enabled 09:09:14.139: P010 texture support not available 09:09:14.144: Audio monitoring device: 09:09:14.144: name: Default 09:09:14.144: id: default 09:09:14.144: --------------------------------- 09:09:14.162: Failed to load 'en-US' text for module: 'decklink-captions.so' 09:09:14.181: Failed to load 'en-US' text for module: 'decklink-output-ui.so' 09:09:14.198: A DeckLink iterator could not be created. The DeckLink drivers may not be installed 09:09:14.198: Failed to initialize module 'decklink.so' 09:09:14.434: [pipewire] Available capture sources: 09:09:14.434: [pipewire] - Monitor source 09:09:14.435: [pipewire] - Window source 09:09:14.477: v4l2loopback not installed, virtual camera not registered 09:09:14.540: [obs-browser]: Version 2.23.5 09:09:14.540: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0+g17f8588+chromium-103.0.5060.134 (compiled) 09:09:14.717: VAAPI: API version 1.21 09:09:14.720: FFmpeg VAAPI H264 encoding not supported 09:09:14.728: FFmpeg VAAPI AV1 encoding not supported 09:09:14.737: FFmpeg VAAPI HEVC encoding not supported 09:09:14.964: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.5.1 | RPC Version: 1) 09:09:14.964: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.7.2 | Qt version (run-time): 6.7.2 09:09:14.964: [obs-websocket] [obs_module_load] Linked ASIO Version: 103002 09:09:14.968: [obs-websocket] [obs_module_load] Module loaded. 09:09:15.053: [vlc-video]: VLC 3.0.21 Vetinari found, VLC video source enabled 09:09:15.053: --------------------------------- 09:09:15.053: Loaded Modules: 09:09:15.053: vlc-video.so 09:09:15.053: text-freetype2.so 09:09:15.053: rtmp-services.so 09:09:15.053: obs-x264.so 09:09:15.054: obs-websocket.so 09:09:15.054: obs-webrtc.so 09:09:15.054: obs-webkitgtk.so 09:09:15.054: obs-vst.so 09:09:15.054: obs-transitions.so 09:09:15.054: obs-qsv11.so 09:09:15.054: obs-outputs.so 09:09:15.054: obs-libfdk.so 09:09:15.054: obs-filters.so 09:09:15.054: obs-ffmpeg.so 09:09:15.054: obs-browser.so 09:09:15.054: linux-v4l2.so 09:09:15.054: linux-pulseaudio.so 09:09:15.054: linux-pipewire.so 09:09:15.054: linux-jack.so 09:09:15.054: linux-capture.so 09:09:15.054: linux-alsa.so 09:09:15.054: image-source.so 09:09:15.054: frontend-tools.so 09:09:15.054: decklink-output-ui.so 09:09:15.054: decklink-captions.so 09:09:15.054: --------------------------------- 09:09:15.054: --------------------------------- 09:09:15.054: Available Encoders: 09:09:15.054: Video Encoders: 09:09:15.054: - ffmpeg_openh264 (OpenH264) 09:09:15.054: - ffmpeg_svt_av1 (SVT-AV1) 09:09:15.054: - ffmpeg_aom_av1 (AOM AV1) 09:09:15.054: - obs_x264 (x264) 09:09:15.054: Audio Encoders: 09:09:15.054: - ffmpeg_aac (FFmpeg AAC) 09:09:15.054: - ffmpeg_opus (FFmpeg Opus) 09:09:15.054: - ffmpeg_pcm_s16le (FFmpeg PCM (16-bit)) 09:09:15.054: - ffmpeg_pcm_s24le (FFmpeg PCM (24-bit)) 09:09:15.054: - ffmpeg_pcm_f32le (FFmpeg PCM (32-bit float)) 09:09:15.054: - ffmpeg_alac (FFmpeg ALAC (24-bit)) 09:09:15.054: - ffmpeg_flac (FFmpeg FLAC (16-bit)) 09:09:15.054: - libfdk_aac (libfdk AAC) 09:09:15.054: ==== Startup complete =============================================== 09:09:15.094: All scene data cleared 09:09:15.094: ------------------------------------------------ 09:09:15.100: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.7) 15.0.0' 09:09:15.100: pulse-input: Audio format: s32le, 48000 Hz, 2 channels 09:09:15.101: pulse-input: Started recording from 'alsa_output.pci-0000_03_00.6.analog-stereo.monitor' (default) 09:09:15.101: [Loaded global audio device]: 'Desktop Audio' 09:09:15.101: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.7) 15.0.0' 09:09:15.102: pulse-input: Audio format: s32le, 48000 Hz, 2 channels 09:09:15.102: pulse-input: Started recording from 'alsa_input.pci-0000_03_00.6.analog-stereo' (default) 09:09:15.102: [Loaded global audio device]: 'Mic/Aux' 09:09:15.102: PipeWire initialized 09:09:15.103: Switched to scene 'Scene' 09:09:15.104: ------------------------------------------------ 09:09:15.104: Loaded scenes: 09:09:15.104: - scene 'Scene': 09:09:15.104: - source: 'Built-in Screen' (pipewire-desktop-capture-source) 09:09:15.104: ------------------------------------------------ 09:09:15.178: [pipewire] Screencast session created 09:09:15.202: [pipewire] Asking for monitor 09:09:15.231: [pipewire] source selected, setting up screencast 09:09:15.239: [pipewire] Server version: 1.0.7 09:09:15.239: [pipewire] Library version: 1.0.7 09:09:15.239: [pipewire] Header version: 1.0.7 09:09:15.239: [pipewire] Created stream 0x55add57c7bf0 09:09:15.240: [pipewire] Stream 0x55add57c7bf0 state: "connecting" (error: none) 09:09:15.240: [pipewire] Playing stream 0x55add57c7bf0 09:09:15.240: [pipewire] Stream 0x55add57c7bf0 state: "paused" (error: none) 09:09:15.247: [pipewire] Negotiated format: 09:09:15.247: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA) 09:09:15.247: [pipewire] Modifier: 0x0 09:09:15.247: [pipewire] Size: 1920x1080 09:09:15.247: [pipewire] Framerate: 0/1 09:09:15.249: [pipewire] Negotiated format: 09:09:15.249: [pipewire] Format: 12 (Spa:Enum:VideoFormat:BGRA) 09:09:15.249: [pipewire] Modifier: 0x200000000401a01 09:09:15.249: [pipewire] Size: 1920x1080 09:09:15.249: [pipewire] Framerate: 0/1 09:09:15.261: [pipewire] Stream 0x55add57c7bf0 state: "streaming" (error: none) 09:09:15.666: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio) 09:09:15.666: 09:09:18.923: --------------------------------- 09:09:18.923: [H.264 encoder: 'simple_video_recording'] settings: 09:09:18.923: encoder: OpenH264 09:09:18.923: rc_mode: quality 09:09:18.923: bitrate: 2500 09:09:18.923: profile: main 09:09:18.923: width: 1280 09:09:18.923: height: 720 09:09:18.923: ffmpeg opts: 09:09:18.923: 09:11:11.952: --------------------------------- 09:11:11.952: [H.264 encoder: 'simple_video_recording'] settings: 09:11:11.952: encoder: OpenH264 09:11:11.952: rc_mode: quality 09:11:11.952: bitrate: 2500 09:11:11.952: profile: main 09:11:11.952: width: 1280 09:11:11.952: height: 720 09:11:11.952: ffmpeg opts: 09:11:11.952: 09:13:30.584: OpenType support missing for "Open Sans", script 11 09:13:30.587: OpenType support missing for "Open Sans", script 12 09:13:30.590: OpenType support missing for "Open Sans", script 16 09:13:30.593: OpenType support missing for "Open Sans", script 20 ```

By running dnf install <package>, notice those are already installed:

Package openh264-2.4.1-2.fc40.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

####

Package gstreamer1-plugin-openh264-1.24.6-1.fc40.x86_64 is already installed.
Dependencies resolved.
Nothing to do.
Complete!

Someone else also reported this bug here: https://obsproject.com/forum/threads/obs-fedora-40-openh264-not-found.178820/

gxalpha commented 3 months ago

OpenH264 is not currently supported by OBS. Fedora provides custom patches, please report this to them.