Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Intel QSV not working with ffmpeg build #1602

Open
laurence-diack-pk opened this issue Apr 10, 2024 · 1 comment
Open

Intel QSV not working with ffmpeg build #1602

laurence-diack-pk opened this issue Apr 10, 2024 · 1 comment
Assignees

Comments

@laurence-diack-pk
Copy link

laurence-diack-pk commented Apr 10, 2024

Describe the bug
Can't get QSV to work with the ffmpeg build from prerequisites.sh --enable-qsv. The intel drivers all seem to be working, and ffmpeg builds with the correct QSV extensions, but ffmpeg is unable to create the device context (no devices found)

I am running an intel nuc with a i7-1165G7 processor using MediaSDK

I have installed the drivers with OvenMediaEngine-master/misc/install_intel_driver.sh

I have attached outputs from vainfo and the suggested MediaSDK test to confirm that the drivers are working and should support the relevant H264 encoding, though the ffmpeg build created by prerequisites.sh does not seem capable of using the render device:

[2024-04-09 13:11:02.798] E [OvenMediaEngine:172300] FFmpeg | third_parties.cpp:111  | [AVHWDeviceContext: 0x7f4a0d4d9c00] No supported child device type is enabled

The service runs at root so it shouldn't be a permissions issue? (accessing /dev/dri/...)

I also have another differently configured ffmpeg installation on the machine for a different streaming task, though that shouldn't be interfering as the paths to the various libs are baked into the ffmpeg install as far as I understand

Server.xml*
Here are the relevant server.xml lines - this works with HWAccels set to false

...
            <Applications>
                <Application>
                    <Name>app</Name>
                    <!-- Application type (live/vod) -->
                    <Type>live</Type>
                    <OutputProfiles>
                        <!-- Enable this configuration if you want to hardware acceleration using GPU -->
                        <HWAccels>
                            <Decoder>
                                <Enable>true</Enable>
                                    <Modules>qsv</Modules>
                            </Decoder>
                            <Encoder>
                                <Enable>true</Enable>
                                    <Modules>qsv</Modules>
                            </Encoder>
                        </HWAccels>
                        <OutputProfile>
                            <Name>bypass_stream</Name>
                            <OutputStreamName>${OriginStreamName}</OutputStreamName>
                            <Playlist>
                                <Name>For WebRTC</Name>
                                <FileName>abr</FileName>
                                <Options>
                                    <WebRtcAutoAbr>true</WebRtcAutoAbr>
                                </Options>
                                <Rendition>
                                    <Name>720p</Name>
                                    <Video>bypass_video</Video>
                                    <Audio>bypass_audio</Audio>
                                </Rendition>
                                <Rendition>
                                    <Name>480p</Name>
                                    <Video>video_480</Video>
                                    <Audio>bypass_audio</Audio>
                                </Rendition>
                            </Playlist>
                            <Encodes>
                                <Video>
                                    <Name>bypass_video</Name>
                                    <Bypass>true</Bypass>
                                </Video>
                                <Audio>
                                    <Name>bypass_audio</Name>
                                    <Bypass>true</Bypass>
                                </Audio>
                                <Video>
                                    <Name>video_480</Name>
                                    <Codec>h264</Codec>
                                    <Bitrate>500000</Bitrate>
                                    <Width>848</Width>
                                    <Height>480</Height>
                                    <Framerate>15</Framerate>
                                    <KeyFrameInterval>15</KeyFrameInterval>
                                    <BFrames>0</BFrames>
                                    <Preset>faster</Preset>
                                </Video>
                            </Encodes>
                        </OutputProfile>
                    </OutputProfiles>
...

Logs
OvenMedia logs:

[2024-04-09 10:20:18.251] I [OvenMediaEngine:1529] Config | config_manager.cpp:239  | Trying to set logfile in directory... (/var/log/ovenmediaengine)
[2024-04-09 10:20:18.252] I [OvenMediaEngine:1529] Config | config_manager.cpp:261  | Trying to load configurations... (/usr/share/ovenmediaengine/conf/Server.xml)
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:23   | OvenMediaEngine v0.16.5 ((From archive)) is started on [grover-test] (Linux x86_64 - 5.15.0-101-generic, #111~20.04.1-Ubuntu SMP Mon Mar 11 15:44:43 UTC 2024)
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:27   | With modules:
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:28   |   FFmpeg 5.0.1
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:29   |     Configuration: --prefix=/opt/ovenmediaengine --extra-cflags='-I/opt/ovenmediaengine/include ' --extra-ldflags='-L/opt/ovenmediaengine/lib -Wl,-rpath,/opt/ovenmediaengine/lib ' --extra-libs=-ldl --disable-everything --disable-programs --disable-avdevice --disable-dwt --disable-lsp --disable-lzo --disable-faan --disable-pixelutils --enable-shared --enable-zlib --enable-libopus --enable-libvpx --enable-libfdk_aac --enable-libopenh264 --enable-openssl --enable-network --enable-libsrt --enable-dct --enable-rdft --disable-nvdec --disable-nvdec --disable-vaapi --disable-vdpau --disable-cuda-llvm --disable-cuvid --disable-ffnvcodec --enable-libmfx --enable-ffmpeg --enable-encoder='libvpx_vp8,libopus,libfdk_aac,libopenh264,mjpeg,png,h264_qsv,hevc_qsv' --enable-decoder='aac,aac_latm,aac_fixed,mp3float,mp3,h264,hevc,opus,vp8,vp8_qsv,h264_qsv,hevc_qsv' --enable-parser='aac,aac_latm,aac_fixed,h264,hevc,opus,vp8' --enable-protocol='tcp,udp,rtp,file,rtmp,tls,rtmps,libsrt' --enable-demuxer='rtsp,flv,live_flv,mp4,mp3' --enable-muxer='mp4,webm,mpegts,flv,mpjpeg' --enable-filter='asetnsamples,aresample,aformat,channelmap,channelsplit,scale,transpose,fps,settb,asettb,crop,format'
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:30   |     libavformat: 59.16.100
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:31   |     libavcodec: 59.18.100
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:32   |     libavutil: 57.17.100
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:33   |     libavfilter: 8.24.100
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:34   |     libswresample: 4.3.100
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:35   |     libswscale: 6.4.100
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:36   |   SRT: 1.5.2
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:37   |   SRTP: libsrtp2 2.4.2
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:38   |   OpenSSL: OpenSSL 3.0.7 1 Nov 2022
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:39   |     Configuration: compiler: gcc -fPIC -pthread -m64 -Wa,--noexecstack -Wall -O3 -DOPENSSL_USE_NODELETE -DL_ENDIAN -DOPENSSL_PIC -DOPENSSL_BUILDING_OPENSSL -DNDEBUG
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:40   |   JsonCpp: 1.9.3
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | banner.cpp:41   |   jemalloc: 5.3.0-0-g54eaed1d8b56b1aa528be3bdd1877e59c56fa90c
[2024-04-09 10:20:18.258] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:73   | Server ID : 3d710f08-e924-415c-bf89-5a0620b2bf86
[2024-04-09 10:20:19.118] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:91   | Resolved public IP address (58.84.227.173) from stun server (stun.ovenmediaengine.com:13478)
[2024-04-09 10:20:19.118] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:109  | This host supports IPv4 and IPv6
[2024-04-09 10:20:19.132] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:126  | Trying to create MediaRouter...
[2024-04-09 10:20:19.132] I [OvenMediaEngine:1529] MediaRouter | mediarouter.cpp:40   | Mediarouter has been started.
[2024-04-09 10:20:19.133] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:129  | Trying to create WebRTC Publisher...
[2024-04-09 10:20:19.134] I [OvenMediaEngine:1529] Signalling.P2P | rtc_p2p_manager.cpp:27   | P2P is disabled in the configuration
[2024-04-09 10:20:19.135] I [OvenMediaEngine:1529] HTTP.Server | http_server_manager.cpp:319  | WebRTC Publisher is listening on *:3333 (TLS: *:3334)...
[2024-04-09 10:20:19.136] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 58.84.227.173:10000
[2024-04-09 10:20:19.136] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 192.168.1.100:10000
[2024-04-09 10:20:19.136] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 58.84.227.173:10001
[2024-04-09 10:20:19.136] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 192.168.1.100:10001
[2024-04-09 10:20:19.136] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 58.84.227.173:10002
[2024-04-09 10:20:19.136] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 192.168.1.100:10002
[2024-04-09 10:20:19.136] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 58.84.227.173:10003
[2024-04-09 10:20:19.136] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 192.168.1.100:10003
[2024-04-09 10:20:19.136] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 58.84.227.173:10004
[2024-04-09 10:20:19.136] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 192.168.1.100:10004
[2024-04-09 10:20:19.142] I [OvenMediaEngine:1529] ICE | ice_port.cpp:113  | ICE ports are listening on *:10004/UDP (0x7f6f39518610), *:10003/UDP (0x7f6f39518910), *:10002/UDP (0x7f6f39518c10), *:10001/UDP (0x7f6f39518f10), *:10000/UDP (0x7f6f39519210) (for WebRTC Publisher)
[2024-04-09 10:20:19.142] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:191  | TURN port is listening on *:3478/TCP (for WebRTC Publisher)
[2024-04-09 10:20:19.142] I [OvenMediaEngine:1529] Publisher | publisher.cpp:19   | WebRTC Publisher has been started.
[2024-04-09 10:20:19.143] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:130  | Trying to create LLHLS Publisher...
[2024-04-09 10:20:19.143] W [OvenMediaEngine:1529] LLHLS Publisher | llhls_publisher.cpp:78   | LLHLS Publisher is disabled by configuration
[2024-04-09 10:20:19.143] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:131  | Trying to create HLS Publisher...
[2024-04-09 10:20:19.144] W [OvenMediaEngine:1529] HLS | hls_publisher.cpp:38   | HLS Publisher is disabled by configuration
[2024-04-09 10:20:19.144] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:132  | Trying to create MPEG-DASH Publisher...
[2024-04-09 10:20:19.144] W [OvenMediaEngine:1529] DASH | dash_publisher.cpp:36   | DASH Publisher is disabled by configuration
[2024-04-09 10:20:19.144] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:133  | Trying to create Low-Latency MPEG-DASH Publisher...
[2024-04-09 10:20:19.144] W [OvenMediaEngine:1529] LLDASH | cmaf_publisher.cpp:39   | LLDASH Publisher is disabled by configuration
[2024-04-09 10:20:19.144] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:134  | Trying to create OVT Publisher...
[2024-04-09 10:20:19.144] W [OvenMediaEngine:1529] OVT | ovt_publisher.cpp:39   | OVTPublisher is disabled by configuration
[2024-04-09 10:20:19.144] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:135  | Trying to create File Publisher...
[2024-04-09 10:20:19.144] I [OvenMediaEngine:1529] Publisher | publisher.cpp:19   | FilePublisher has been started.
[2024-04-09 10:20:19.144] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:136  | Trying to create MpegtsPush Publisher...
[2024-04-09 10:20:19.145] I [OvenMediaEngine:1529] Publisher | publisher.cpp:19   | MPEGTSPushPublisher has been started.
[2024-04-09 10:20:19.146] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:137  | Trying to create RtmpPush Publisher...
[2024-04-09 10:20:19.146] I [OvenMediaEngine:1529] Publisher | publisher.cpp:19   | RTMPPushPublisher has been started.
[2024-04-09 10:20:19.146] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:138  | Trying to create SrtPush Publisher...
[2024-04-09 10:20:19.146] I [OvenMediaEngine:1529] Publisher | publisher.cpp:19   | SRTPushPublisher has been started.
[2024-04-09 10:20:19.146] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:139  | Trying to create Thumbnail Publisher...
[2024-04-09 10:20:19.150] W [OvenMediaEngine:1529] Thumbnail | thumbnail_publisher.cpp:79   | ThumbnailPublisher is disabled by configuration
[2024-04-09 10:20:19.150] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:142  | Trying to create Transcoder...
[2024-04-09 10:20:19.156] I [OvenMediaEngine:1529] Transcoder | transcoder_gpu.cpp:43   | Trying to check the hardware accelerator
[2024-04-09 10:20:19.156] W [OvenMediaEngine:1529] Transcoder | transcoder_gpu.cpp:52   | No supported NVIDIA Accelerator
[2024-04-09 10:20:19.156] W [OvenMediaEngine:1529] Transcoder | transcoder_gpu.cpp:62   | No supported Xilinx Media Accelerator
[2024-04-09 10:20:19.156] E [OvenMediaEngine:1529] FFmpeg | third_parties.cpp:111  | [AVHWDeviceContext: 0x7f6f2f66aac0] No supported child device type is enabled
[2024-04-09 10:20:19.156] W [OvenMediaEngine:1529] Transcoder | transcoder_gpu.cpp:72   | No supported Intel QuickSync Accelerator
[2024-04-09 10:20:19.156] W [OvenMediaEngine:1529] Transcoder | transcoder_gpu.cpp:82   | No supported Netint VPU Accelerator
[2024-04-09 10:20:19.156] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:145  | Trying to create WebRTC Provider...
[2024-04-09 10:20:19.160] I [OvenMediaEngine:1529] Signalling.P2P | rtc_p2p_manager.cpp:27   | P2P is disabled in the configuration
[2024-04-09 10:20:19.160] I [OvenMediaEngine:1529] HTTP.Server | http_server_manager.cpp:319  | WebRTCProvider is listening on *:3333 (TLS: *:3334)...
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] HTTP.Server | http_server_manager.cpp:319  | WebRTCProvider is listening on *:3333 (TLS: *:3334)...
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 58.84.227.173:10000
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 192.168.1.100:10000
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 58.84.227.173:10001
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 192.168.1.100:10001
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 58.84.227.173:10002
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 192.168.1.100:10002
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 58.84.227.173:10003
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 192.168.1.100:10003
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 58.84.227.173:10004
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:305  | ICE candidate found: 192.168.1.100:10004
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port.cpp:113  | ICE ports are listening on *:10004/UDP (0x7f6f39518610), *:10003/UDP (0x7f6f39518910), *:10002/UDP (0x7f6f39518c10), *:10001/UDP (0x7f6f39518f10), *:10000/UDP (0x7f6f39519210) (for WebRTCProvider)
[2024-04-09 10:20:19.161] I [OvenMediaEngine:1529] ICE | ice_port_manager.cpp:191  | TURN port is listening on *:3478/TCP (for WebRTCProvider)
[2024-04-09 10:20:19.171] I [OvenMediaEngine:1529] Provider | provider.cpp:37   | WebRTCProvider has been started.
[2024-04-09 10:20:19.171] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:146  | Trying to create MPEG-TS Provider...
[2024-04-09 10:20:19.171] W [OvenMediaEngine:1529] MpegtsProvider | mpegts_provider.cpp:147  | MPEGTSProvider is disabled by configuration
[2024-04-09 10:20:19.171] I [OvenMediaEngine:1529] MpegtsProvider | mpegts_provider.cpp:39   | Terminated Mpegts Provider module.
[2024-04-09 10:20:19.171] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:147  | Trying to create SRT Provider...
[2024-04-09 10:20:19.171] W [OvenMediaEngine:1529] SrtProvider | srt_provider.cpp:50   | SrtProvider is disabled by configuration
[2024-04-09 10:20:19.171] I [OvenMediaEngine:1529] SrtProvider | srt_provider.cpp:40   | Terminated SRT Provider module.
[2024-04-09 10:20:19.171] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:148  | Trying to create RTMP Provider...
[2024-04-09 10:20:19.172] I [OvenMediaEngine:1529] RTMPProvider | rtmp_provider.cpp:143  | RTMPProvider is listening on *:1935
[2024-04-09 10:20:19.172] I [OvenMediaEngine:1529] Provider | provider.cpp:37   | RTMPProvider has been started.
[2024-04-09 10:20:19.172] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:149  | Trying to create OVT Provider...
[2024-04-09 10:20:19.172] I [OvenMediaEngine:1529] Provider | provider.cpp:37   | OVTProvider has been started.
[2024-04-09 10:20:19.172] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:150  | Trying to create RTSPC Provider...
[2024-04-09 10:20:19.172] I [OvenMediaEngine:1529] Provider | provider.cpp:37   | RTSPCProvider has been started.
[2024-04-09 10:20:19.172] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:151  | Trying to create File Provider...
[2024-04-09 10:20:19.172] I [OvenMediaEngine:1529] Provider | provider.cpp:37   | FileProvider has been started.
[2024-04-09 10:20:19.173] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:152  | Trying to create Scheduled Provider...
[2024-04-09 10:20:19.173] I [OvenMediaEngine:1529] Provider | provider.cpp:37   | ScheduledProvider has been started.
[2024-04-09 10:20:19.173] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:153  | Trying to create Multiplex Provider...
[2024-04-09 10:20:19.173] I [OvenMediaEngine:1529] Provider | provider.cpp:37   | MultiplexProvider has been started.
[2024-04-09 10:20:19.173] I [OvenMediaEngine:1529] OvenMediaEngine | main.cpp:160  | All modules are initialized successfully
[2024-04-09 10:20:19.173] I [OvenMediaEngine:1529] Monitor | monitoring.cpp:75   | OvenMediaEngine(3d710f08-e924-415c-bf89-5a0620b2bf86) ServerMetric has been started for monitoring - 2024-04-09T10:20:19.173+12:00
[2024-04-09 10:20:19.175] I [OvenMediaEngine:1529] Certificate | certificate.cpp:35   | A certificate has been loaded for VirtualHost [default]:
	Cert file path: /opt/peek/credentials/ssl/cert.pem
	Chain cert file path: 
	Private key file path: /opt/peek/credentials/ssl/key.pem
[2024-04-09 10:20:19.177] I [OvenMediaEngine:1529] Monitor | server_metrics.cpp:61   | Create HostMetrics(default/3d710f08-e924-415c-bf89-5a0620b2bf86/default) for monitoring
[2024-04-09 10:20:19.177] I [OvenMediaEngine:1529] Orchestrator | orchestrator_internal.cpp:821  | Trying to create an application: [#default#app]
[2024-04-09 10:20:19.178] I [OvenMediaEngine:1529] Monitor | host_metrics.cpp:58   | Create ApplicationMetrics(#default#app/3d710f08-e924-415c-bf89-5a0620b2bf86/default/#default#app) for monitoring
[2024-04-09 10:20:19.178] I [OvenMediaEngine:1529] MediaRouter | mediarouter_application.cpp:51   | [#default#app(0)] Created Mediarouter application. worker(1)
[2024-04-09 10:20:19.178] I [OvenMediaEngine:1529] MediaRouter | mediarouter.cpp:83   | Created Mediarouter. app(#default#app)
[2024-04-09 10:20:19.178] I [OvenMediaEngine:1529] Publisher | application.cpp:181  | WebRTC Publisher Application has created [#default#app] application
[2024-04-09 10:20:19.178] W [OvenMediaEngine:1529] Publisher | publisher.cpp:70   | File publisher is disabled in #default#app application, so it was not created
[2024-04-09 10:20:19.178] W [OvenMediaEngine:1529] Publisher | publisher.cpp:70   | MPEGTSPush publisher is disabled in #default#app application, so it was not created
[2024-04-09 10:20:19.178] W [OvenMediaEngine:1529] Publisher | publisher.cpp:70   | RTMPPush publisher is disabled in #default#app application, so it was not created
[2024-04-09 10:20:19.178] W [OvenMediaEngine:1529] Publisher | publisher.cpp:70   | SRTPush publisher is disabled in #default#app application, so it was not created
[2024-04-09 10:20:19.179] I [OvenMediaEngine:1529] Transcoder | transcoder_application.cpp:34   | Created transcoder application. [#default#app]
[2024-04-09 10:20:19.179] I [OvenMediaEngine:1529] Transcoder | transcoder.cpp:94   | Transcoder has created [config][#default#app] application
[2024-04-09 10:20:19.179] I [OvenMediaEngine:1529] Provider | application.cpp:46   | WebRTCProvider has created [#default#app] application
[2024-04-09 10:20:19.179] I [OvenMediaEngine:1529] Provider | application.cpp:46   | RTMPProvider has created [#default#app] application
[2024-04-09 10:20:19.179] W [OvenMediaEngine:1529] Provider | provider.cpp:93   | OVT provider is disabled in #default#app application, so it was not created
[2024-04-09 10:20:19.179] W [OvenMediaEngine:1529] Provider | provider.cpp:93   | RTSP Pull provider is disabled in #default#app application, so it was not created
[2024-04-09 10:20:19.179] I [OvenMediaEngine:1529] Provider | application.cpp:46   | ScheduledProvider has created [#default#app] application
[2024-04-09 10:20:19.180] W [OvenMediaEngine:1529] Provider | provider.cpp:93   | Multiplex provider is disabled in #default#app application, so it was not created
[2024-04-09 10:20:19.181] I [OvenMediaEngine:1529] Certificate | certificate.cpp:35   | A certificate has been loaded for VirtualHost [api_server]:
	Cert file path: /opt/peek/credentials/ssl/cert.pem
	Chain cert file path: 
	Private key file path: /opt/peek/credentials/ssl/key.pem
[2024-04-09 10:20:19.181] I [OvenMediaEngine:1529] HTTP.Server | http_server_manager.cpp:319  | API Server is listening on *:8081 (TLS: *:8082)...
[2024-04-09 10:26:34.255] I [SPRTMP-t1935:1601] Provider | stream.cpp:51   | Unknown/(100) has been started stream
[2024-04-09 10:26:34.255] I [SPRTMP-t1935:1601] RTMPProvider | rtmp_provider.cpp:194  | A RTMP client has connected from <ClientSocket: 0x7f6f2de01010, #4, Connected, TCP, Nonblocking, 127.0.0.1:48378>
[2024-04-09 10:26:52.105] I [SPRTMP-t1935:1601] MediaRouter | mediarouter_application.cpp:340  | [#default#app/front(100)] Trying to create a stream
[2024-04-09 10:26:52.105] I [SPRTMP-t1935:1601] Monitor | application_metrics.cpp:58   | Create StreamMetrics(front/3d710f08-e924-415c-bf89-5a0620b2bf86/default/#default#app/front/i) for monitoring
[2024-04-09 10:26:52.105] I [SPRTMP-t1935:1601] MediaRouter | mediarouter_application.cpp:440  | [#default#app/front(100)] Stream has been created
[2024-04-09 10:26:52.105] I [SPRTMP-t1935:1601] Transcoder | transcoder_stream.cpp:63   | [#default#app/front(100)] Transcoder stream has been started
[2024-04-09 10:26:52.105] I [InboundWorker:1604] MediaRouter | mediarouter_application.cpp:477  | [#default#app/front(100)] Stream has been prepared 
[Stream Info]
id(100), msid(0), output(front), SourceType(Rtmp), RepresentationType(Source), Created Time (Tue Apr  9 10:26:34 2024) UUID(3d710f08-e924-415c-bf89-5a0620b2bf86/default/#default#app/front/i)

	Video Track #0: Public Name(Video_0) Variant Name(Video) Bitrate(0b) Codec(1,H264,none:0) BSF(AVCC) Resolution(1280x720) Framerate(30.00) KeyInterval(0/frame) SkipFrames(-1) BFrames(0) timebase(1/1000)
	Data  Track #2: Public Name(Data_2) Variant Name(Data) Codec(0,Unknown,none) BSF(ID3v2) timebase(1/1000)
[2024-04-09 10:26:52.105] I [InboundWorker:1604] Transcoder | transcoder_stream.cpp:128  | [#default#app/front(100)] Using local output profiles by webhook
[2024-04-09 10:26:52.106] I [InboundWorker:1604] Transcoder | transcoder_stream.cpp:412  | [#default#app/front(100)] Output stream has been created. [#default#app/front(4262666852)]
[2024-04-09 10:26:52.106] E [InboundWorker:1604] Transcoder | transcoder_stream.cpp:752  | [#default#app/front(100)] Decoder allocation failed.  InputTrack(0) > Decoder(0)
[2024-04-09 10:26:52.106] I [InboundWorker:1604] Transcoder | transcoder_stream.cpp:191  | No decoder generated
[2024-04-09 10:26:52.106] I [InboundWorker:1604] MediaRouter | mediarouter_application.cpp:340  | [#default#app/front(4262666852)] Trying to create a stream
[2024-04-09 10:26:52.106] I [InboundWorker:1604] Monitor | application_metrics.cpp:58   | Create StreamMetrics(front/3d710f08-e924-415c-bf89-5a0620b2bf86/default/#default#app/front/o) for monitoring
[2024-04-09 10:26:52.106] I [InboundWorker:1604] MediaRouter | mediarouter_application.cpp:440  | [#default#app/front(4262666852)] Stream has been created
[2024-04-09 10:26:52.106] I [InboundWorker:1604] Transcoder | transcoder_stream.cpp:150  | [#default#app/front(100)] Transcoder stream has been prepared
[2024-04-09 10:27:46.692] I [SPAPISvr-t8081:1608] HTTP.Server | http_server.cpp:149  | Client(<ClientSocket: 0x7f6f29e01010, #28, Connected, TCP, Nonblocking, 100.126.78.70:34792>) is connected on *:8081
[2024-04-09 10:28:49.196] I [DQHTTPTimer:1592] HTTP.Server | http_connection.cpp:100  | Client(HTTP/1.1 - <ClientSocket: 0x7f6f29e01010, #28, Connected, TCP, Nonblocking, 100.126.78.70:34792>) has timed out
[2024-04-09 10:28:49.219] I [SPAPISvr-t8081:1608] HTTP.Server | http_server.cpp:216  | Client(<ClientSocket: 0x7f6f29e01010, #28, Closed, TCP, Nonblocking, 100.126.78.70:34792>) has been disconnected by *:8081
[2024-04-09 10:28:55.550] I [SPRtcSig-t3334:1593] HTTP.Server | http_server.cpp:149  | Client(<ClientSocket: 0x7f6f34801010, #28, Connected, TCP, Nonblocking, 100.126.78.70:50834>) is connected on *:3334
[2024-04-09 10:28:55.881] I [SPRtcSig-t3334:1593] HTTP.Server | http_connection.cpp:147  | TLS connection accepted : Server Name(grover-test.tail607c9.ts.net) Alpn Protocol(h2) Client (<ClientSocket: 0x7f6f34801010, #28, Connected, TCP, Nonblocking, 100.126.78.70:50834>)
...

Note:

[2024-04-09 10:26:52.106] E [InboundWorker:1604] Transcoder | transcoder_stream.cpp:752  | [#default#app/front(100)] Decoder allocation failed.  InputTrack(0) > Decoder(0)

MediaSDK Test:

~/MediaSDK/build/__bin/release/simple_7_codec 
libva info: VA-API version 1.22.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0

The Media SDK API Version: 1.35

Check decoder H.264 with resolution(4096x2304)
The device supports decoder H.264 with resolution(4096x2304)

Check decoder H.265 with resolution(8192x8192)
The device supports decoder H.265 with resolution(8192x8192)

Check decoder H.265 10bit with resolution(8192x8192); (4096x4096) on SkyLake
The device supports decoder H.265 10bit with resolution(8192x8192); (4096x4096) on SkyLake

Check decoder MPEG-2 with resolution(2048x2048)
Query decoder MPEG-2 with resolution(2048x2048) failed
The device doesn't support decoder MPEG-2 with resolution(2048x2048), initialization failed
The decoder wasn't closed successfully.

Check decoder VC1 with resolution(1920x1080)
The device supports decoder VC1 with resolution(1920x1080)

Check decoder MJPEG with resolution(640x480)
The device supports decoder MJPEG with resolution(640x480)

Check decoder VP8 with resolution(1920x1080)
The device supports decoder VP8 with resolution(1920x1080)

Check encoder H.264 with resolution(4096x4096)
The device supports encoder H.264 with resolution(4096x4096)

Check encoder H.265 with resolution(4096x2176)
The device supports encoder H.265 with resolution(4096x2176)

Check encoder H.265 10bit with resolution(4096x2176) only on KabyLake
The device supports encoder H.265 10bit with resolution(4096x2176) only on KabyLake

Check encoder MPEG-2 with resolution(1920x1080)
The device supports encoder MPEG-2 with resolution(1920x1080)

Check encoder MJPEG with resolution(640x480)
The device supports encoder MJPEG with resolution(640x480)

The device supports the VPP with resolution(4096x4096)

vainfo output:

vainfo
Trying display: wayland
error: XDG_RUNTIME_DIR not set in the environment.
Trying display: x11
error: can't connect to X server!
Trying display: drm
libva info: VA-API version 1.22.0
libva info: User environment variable requested driver 'iHD'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.22 (libva 2.16.0)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 24.2.1 (222a1b93b)
vainfo: Supported profile and entrypoints
      VAProfileNone                   :	VAEntrypointVideoProc
      VAProfileNone                   :	VAEntrypointStats
      VAProfileMPEG2Simple            :	VAEntrypointVLD
      VAProfileMPEG2Simple            :	VAEntrypointEncSlice
      VAProfileMPEG2Main              :	VAEntrypointVLD
      VAProfileMPEG2Main              :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointVLD
      VAProfileH264Main               :	VAEntrypointEncSlice
      VAProfileH264Main               :	VAEntrypointFEI
      VAProfileH264Main               :	VAEntrypointEncSliceLP
      VAProfileH264High               :	VAEntrypointVLD
      VAProfileH264High               :	VAEntrypointEncSlice
      VAProfileH264High               :	VAEntrypointFEI
      VAProfileH264High               :	VAEntrypointEncSliceLP
      (etc)

ffmpeg init_hw_device test:

/opt/ovenmediaengine/bin/ffmpeg -v debug -init_hw_device qsv
ffmpeg version 5.0.1 Copyright (c) 2000-2022 the FFmpeg developers
  built with gcc 9 (Ubuntu 9.4.0-1ubuntu1~20.04.2)
  configuration: --prefix=/opt/ovenmediaengine --extra-cflags='-I/opt/ovenmediaengine/include ' --extra-ldflags='-L/opt/ovenmediaengine/lib -Wl,-rpath,/opt/ovenmediaengine/lib ' --extra-libs=-ldl --disable-everything --disable-programs --disable-avdevice --disable-dwt --disable-lsp --disable-lzo --disable-faan --disable-pixelutils --enable-shared --enable-zlib --enable-libopus --enable-libvpx --enable-libfdk_aac --enable-libopenh264 --enable-openssl --enable-network --enable-libsrt --enable-dct --enable-rdft --disable-nvdec --disable-nvdec --disable-vaapi --disable-vdpau --disable-cuda-llvm --disable-cuvid --disable-ffnvcodec --enable-libmfx --enable-ffmpeg --enable-encoder='libvpx_vp8,libopus,libfdk_aac,libopenh264,mjpeg,png,h264_qsv,hevc_qsv' --enable-decoder='aac,aac_latm,aac_fixed,mp3float,mp3,h264,hevc,opus,vp8,vp8_qsv,h264_qsv,hevc_qsv' --enable-parser='aac,aac_latm,aac_fixed,h264,hevc,opus,vp8' --enable-protocol='tcp,udp,rtp,file,rtmp,tls,rtmps,libsrt' --enable-demuxer='rtsp,flv,live_flv,mp4,mp3' --enable-muxer='mp4,webm,mpegts,flv,mpjpeg' --enable-filter='asetnsamples,aresample,aformat,channelmap,channelsplit,scale,transpose,fps,settb,asettb,crop,format'
  libavutil      57. 17.100 / 57. 17.100
  libavcodec     59. 18.100 / 59. 18.100
  libavformat    59. 16.100 / 59. 16.100
  libavfilter     8. 24.100 /  8. 24.100
  libswscale      6.  4.100 /  6.  4.100
  libswresample   4.  3.100 /  4.  3.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'qsv'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument qsv.
[AVHWDeviceContext @ 0x55bad75a5980] No supported child device type is enabled
Device creation failed: -38.
Failed to set value 'qsv' for option 'init_hw_device': Function not implemented
Error parsing global options: Function not implemented

Server:

  • OS: ubuntu 20.04
  • OvenMediaEngine Version: [e.g. v0.16.5]
  • Branch: dev

Player:

  • Device: PC
  • OS: Ubuntu 20.04
  • Browser Chrome
  • Version 123.0.6312.58
@Keukhan
Copy link
Sponsor Member

Keukhan commented Jun 3, 2024

@laurence-diack-pk

Sorry for the late reply. Thank you for the detailed reporting.
Unfortunately, Recently, QSV was not being maintained. I will make plans soon and take steps to ensure that QSV runs well in the latest OME version. Please wait for good news.

Cheers.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants