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
57.28k stars 7.72k forks source link

Unable to use Intel QSV on OBS Studio Flatpak #10156

Closed Raul1198 closed 5 months ago

Raul1198 commented 5 months ago

Operating System Info

Other

Other OS

Fedora 39 Workstation

OBS Studio Version

30.0.2

OBS Studio Version (Other)

No response

OBS Studio Log URL

https://obsproject.com/logs/DhBeONSjxC0TCt52

OBS Studio Crash Log URL

No response

Expected Behavior

when setting recording encoder to be hardware qsv (h.264) the recording should be working with using intel qsv hardware encoding

Current Behavior

give error - "starting the output failed . please check logs note " Screenshot from 2024-01-28 21-31-43

Steps to Reproduce

  1. go to settings
  2. output
  3. under recording video encoder
  4. select Hardware (QSV,H.264)

Anything else we should know?

when tested on same system under windows 11 qsv works but on fedora 39 (no modification done to the system) using flatpak obs studio qsv hardware doesnt works

tytan652 commented 5 months ago

Duplicate of #9930 and fixed by #10047

leodip commented 4 months ago

@Raul1198 @tytan652 @twelho

I'm curious, were you successful in recording with QSV using version 30.0.2 and flatpack?

I thought the merge of #10047 was going to fix this issue for me, but I get the same error as before.

If I use the Fedora RPM version (non-flatpack), it works fine on the same system.

Logs:

18:54:52.320: Platform: Wayland
18:54:52.320: CPU Name: 13th Gen Intel(R) Core(TM) i9-13900K
18:54:52.320: CPU Speed: 5500.000MHz
18:54:52.321: Physical Cores: 24, Logical Cores: 32
18:54:52.321: Physical Memory: 64035MB Total, 29240MB Free
18:54:52.321: Kernel Version: Linux 6.7.4-200.fc39.x86_64
18:54:52.321: Flatpak Branch: stable
18:54:52.321: Flatpak Arch: x86_64
18:54:52.321: Flatpak Runtime: runtime/org.kde.Platform/x86_64/6.5
18:54:52.321: App Extensions:
18:54:52.321:  - com.obsproject.Studio.Locale
18:54:52.321: Runtime Extensions:
18:54:52.321:  - org.freedesktop.Platform.GL.default
18:54:52.321:  - org.freedesktop.Platform.GStreamer.gstreamer-vaapi
18:54:52.321:  - org.freedesktop.Platform.VAAPI.Intel
18:54:52.321:  - org.freedesktop.Platform.openh264
18:54:52.321:  - org.gtk.Gtk3theme.Breeze
18:54:52.321:  - org.kde.Platform.Locale
18:54:52.321:  - org.freedesktop.Platform.GL.default
18:54:52.321: Flatpak Framework Version: 1.15.6
18:54:52.321: Desktop Environment: KDE (KDE)
18:54:52.321: Session Type: wayland
18:54:52.322: Qt Version: 6.5.3 (runtime), 6.5.3 (compiled)
18:54:52.322: Portable mode: false
18:54:52.339: OBS 30.0.2 (linux)
18:54:52.339: ---------------------------------
18:54:52.339: ---------------------------------
18:54:52.339: audio settings reset:
18:54:52.339:   samples per sec: 48000
18:54:52.339:   speakers:        2
18:54:52.339:   max buffering:   960 milliseconds
18:54:52.339:   buffering type:  dynamically increasing
18:54:52.341: ---------------------------------
18:54:52.341: Initializing OpenGL...
18:54:52.341: Using EGL/Wayland
18:54:52.357: Initialized EGL 1.5
18:54:52.366: Loading up OpenGL on adapter AMD AMD Radeon RX 6600 (radeonsi, navi23, LLVM 15.0.7, DRM 3.57, 6.7.4-200.fc39.x86_64)
18:54:52.366: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 23.3.0 (git-1fbdd37d4c), shading language 4.60
18:54:52.437: ---------------------------------
18:54:52.437: video settings reset:
18:54:52.437:   base resolution:   1920x1080
18:54:52.437:   output resolution: 1280x720
18:54:52.437:   downscale filter:  Bicubic
18:54:52.437:   fps:               30/1
18:54:52.437:   format:            NV12
18:54:52.437:   YUV mode:          Rec. 709/Partial
18:54:52.437: NV12 texture support not available
18:54:52.437: P010 texture support not available
18:54:52.440: Audio monitoring device:
18:54:52.440:   name: Default
18:54:52.440:   id: default
18:54:52.440: ---------------------------------
18:54:52.449: No AJA devices found, skipping loading AJA UI plugin
18:54:52.449: Failed to initialize module 'aja-output-ui.so'
18:54:52.458: No AJA devices found, skipping loading AJA plugin
18:54:52.458: Failed to initialize module 'aja.so'
18:54:52.461: Failed to load 'en-US' text for module: 'decklink-captions.so'
18:54:52.464: Failed to load 'en-US' text for module: 'decklink-output-ui.so'
18:54:52.467: A DeckLink iterator could not be created.  The DeckLink drivers may not be installed
18:54:52.467: Failed to initialize module 'decklink.so'
18:54:52.571: [pipewire] Available captures:
18:54:52.571: [pipewire]     - Desktop capture
18:54:52.571: [pipewire]     - Window capture
18:54:52.587: v4l2loopback not installed, virtual camera disabled
18:54:52.599: [obs-browser]: Version 2.22.2
18:54:52.599: [obs-browser]: CEF Version 103.0.5060.134 (runtime), 103.0.0-5060-shared-textures.2594+g17f8588+chromium-103.0.5060.134 (compiled)
18:54:52.637: VAAPI: API version 1.18
18:54:52.637: FFmpeg VAAPI H264 encoding supported
18:54:52.639: FFmpeg VAAPI HEVC encoding supported
18:54:52.695: [obs-websocket] [obs_module_load] you can haz websockets (Version: 5.3.4 | RPC Version: 1)
18:54:52.695: [obs-websocket] [obs_module_load] Qt version (compile-time): 6.5.3 | Qt version (run-time): 6.5.3
18:54:52.695: [obs-websocket] [obs_module_load] Linked ASIO Version: 102800
18:54:52.695: [obs-websocket] [Config::Load] (FirstLoad) Generating new server password.
18:54:52.700: [obs-websocket] [obs_module_load] Module loaded.
18:54:52.711: ---------------------------------
18:54:52.711:   Loaded Modules:
18:54:52.711:     text-freetype2.so
18:54:52.711:     rtmp-services.so
18:54:52.711:     obs-x264.so
18:54:52.711:     obs-websocket.so
18:54:52.711:     obs-webrtc.so
18:54:52.711:     obs-vst.so
18:54:52.711:     obs-transitions.so
18:54:52.711:     obs-qsv11.so
18:54:52.711:     obs-outputs.so
18:54:52.711:     obs-libfdk.so
18:54:52.711:     obs-filters.so
18:54:52.711:     obs-ffmpeg.so
18:54:52.711:     obs-browser.so
18:54:52.711:     linux-v4l2.so
18:54:52.711:     linux-pulseaudio.so
18:54:52.711:     linux-pipewire.so
18:54:52.711:     linux-jack.so
18:54:52.711:     linux-capture.so
18:54:52.711:     image-source.so
18:54:52.711:     frontend-tools.so
18:54:52.711:     decklink-output-ui.so
18:54:52.711:     decklink-captions.so
18:54:52.711: ---------------------------------
18:54:52.711: ==== Startup complete ===============================================
18:54:52.714: No scene file found, creating default scene
18:54:52.749: All scene data cleared
18:54:52.749: ------------------------------------------------
18:54:52.767: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.3) 15.0.0'
18:54:52.768: pulse-input: Audio format: s32le, 48000 Hz, 2 channels
18:54:52.768: pulse-input: Started recording from 'alsa_output.usb-Generic_USB_Audio-00.HiFi__hw_Audio__sink.monitor' (default)
18:54:52.768: pulse-input: Server name: 'PulseAudio (on PipeWire 1.0.3) 15.0.0'
18:54:52.768: pulse-input: Audio format: s16le, 32000 Hz, 2 channels
18:54:52.768: pulse-input: Started recording from 'alsa_input.usb-046d_C922_Pro_Stream_Webcam_44D1DF6F-02.analog-stereo' (default)
18:54:52.771: Switched to scene 'Scene'
18:54:52.771: Failed to glob scene collections
18:54:53.212: [rtmp-services plugin] Successfully updated file 'services.json' (version 241)
18:54:53.212: [rtmp-services plugin] Successfully updated package (version 241)
18:54:53.470: adding 21 milliseconds of audio buffering, total audio buffering is now 21 milliseconds (source: Desktop Audio)
18:54:53.470: 
18:54:53.641: adding 21 milliseconds of audio buffering, total audio buffering is now 42 milliseconds (source: Mic/Aux)
18:54:53.641: 
18:55:00.186: 
18:55:00.186: ==== Auto-config wizard testing commencing ======

18:55:02.541: Number of remaining views: 1
18:55:02.541: ---------------------------------
18:55:02.541: video settings reset:
18:55:02.541:   base resolution:   1920x1080
18:55:02.541:   output resolution: 1920x1080
18:55:02.541:   downscale filter:  Bicubic
18:55:02.541:   fps:               60/1
18:55:02.541:   format:            NV12
18:55:02.541:   YUV mode:          Rec. 709/Partial
18:55:02.541: NV12 texture support not available
18:55:02.541: P010 texture support not available
18:55:02.545: 
18:55:02.545: ==== Auto-config wizard testing stopping ========

18:55:16.492:   OpenType support missing for "Open Sans", script 11
18:55:16.495:   OpenType support missing for "Open Sans", script 12
18:55:16.497:   OpenType support missing for "Open Sans", script 16
18:55:16.500:   OpenType support missing for "Open Sans", script 20
18:56:15.658: Settings changed (outputs)
18:56:15.658: ------------------------------------------------
18:56:23.963: PipeWire initialized
18:56:23.969: User added source 'Screen Capture (PipeWire)' (pipewire-desktop-capture-source) to scene 'Scene'
18:56:23.976: [pipewire] Screencast session created
18:56:23.977: [pipewire] Asking for desktop
18:56:28.405: [pipewire] desktop selected, setting up screencast
18:56:28.408: [pipewire] Server version: 1.0.3
18:56:28.408: [pipewire] Library version: 0.3.65
18:56:28.408: [pipewire] Header version: 0.3.65
18:56:28.408: [pipewire] Created stream 0x563dec7b58e0
18:56:28.408: [pipewire] Stream 0x563dec7b58e0 state: "connecting" (error: none)
18:56:28.408: [pipewire] Playing stream 0x563dec7b58e0
18:56:28.409: [pipewire] Stream 0x563dec7b58e0 state: "paused" (error: none)
18:56:28.410: [pipewire] Negotiated format:
18:56:28.410: [pipewire]     Format: 12 (Spa:Enum:VideoFormat:BGRA)
18:56:28.411: [pipewire]     Modifier: 0x0
18:56:28.411: [pipewire]     Size: 1920x1080
18:56:28.411: [pipewire]     Framerate: 0/1
18:56:28.411: [pipewire] Negotiated format:
18:56:28.411: [pipewire]     Format: 12 (Spa:Enum:VideoFormat:BGRA)
18:56:28.411: [pipewire]     Modifier: 0x20000001876bb03
18:56:28.411: [pipewire]     Size: 1920x1080
18:56:28.411: [pipewire]     Framerate: 0/1
18:56:28.414: [pipewire] Stream 0x563dec7b58e0 state: "streaming" (error: none)
18:56:39.576: >>> gpu tex not active, fall back to old qsv encoder
18:56:39.576: [qsv encoder: 'advanced_video_recording'] settings:
18:56:39.576:   codec:          H.264
18:56:39.576:   rate_control:   VBR
18:56:39.576:   target_bitrate: 5000
18:56:39.576:   max_bitrate:    15000
18:56:39.576:   Lookahead Depth:60
18:56:39.576:   target_usage:   TU3
18:56:39.576:   profile:        high
18:56:39.576:   keyint:         0
18:56:39.576:   latency:        normal
18:56:39.576:   b-frames:       3
18:56:39.576:   enhancements:   on
18:56:39.576:   fps_num:        60
18:56:39.576:   fps_den:        1
18:56:39.576:   width:          1920
18:56:39.576:   height:         1080
18:56:39.576: [qsv encoder: 'advanced_video_recording'] debug info:
18:56:39.579: Failed to initialize MFX
18:56:39.579: [qsv encoder: 'msdk_impl'] Specified object/item/sync point not found. (MFX_ERR_NOT_FOUND)
18:56:39.579: [qsv encoder: 'advanced_video_recording'] qsv failed to load
18:56:39.579:   major:          1
18:56:39.579:   minor:          0
18:56:39.579:   interval:       4
18:56:39.579:   GopPictSize:    0
18:56:39.579:   g_pts2dtsShift: 0
Raul1198 commented 4 months ago

nope still same, will wait for fix in future as there it mention to be something fixed from upsteam (intel) .and as for rpm that i have checked there qsv was working. os if going for rpm route obs can be used meanwhile i use gpuscreen recorder until obs flatpak is fixed

twelho commented 4 months ago

@Raul1198 @tytan652 @twelho

I'm curious, were you successful in recording with QSV using version 30.0.2 and flatpack?

I thought the merge of #10047 was going to fix this issue for me, but I get the same error as before.

The changes from #10047 are slated for OBS 30.1, they are not part of 30.0.2. If you want QSV to work right now, add ONEVPL_SEARCH_PATH=/app/lib to the Flatpak's environment using, e.g., Flatseal (or, alternatively, you can also build latest master from source, which is how I tested this).

jarrard commented 4 months ago

For Arch users this should be: ONEVPL_SEARCH_PATH=/usr/lib

This error drove me nuts and this is the first place on the internet to actually offer a simple solution. Thanks

EDIT: Damn error message came back, no idea why.