I would like to use msdkh264enc
(on Linux) which requires that I build gstreamer from sources, as per the docs.
I run the following configure step:
meson setup -Dbad=enabled -Dgst-plugins-bad:msdk=enabled -Dgst-plugins-bad:avtp=disabled build
Which enables msdk
(that's the point here) and disables avtp
(because it fails to build on my Alpine Linux).
The configure step works and shows the required output
Run-time dependency libmfx found: YES 1.28Has header "mfx/mfxdefs.h" : YES Has header "mfxvp9.h" : YES
At the end of the build I install in /tmp/blah
. I have a libgstmsdk.so
, but its ldd libgstmsdk.so
output looks like there are runtime issues:
ldd /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so [0] /lib/ld-musl-x86_64.so.1 (0x7f33e7666000) libgstbase-1.0.so.0 => /usr/lib/libgstbase-1.0.so.0 (0x7f33e75a2000) libgstreamer-1.0.so.0 => /usr/lib/libgstreamer-1.0.so.0 (0x7f33e7457000) libgstvideo-1.0.so.0 => /usr/lib/libgstvideo-1.0.so.0 (0x7f33e7393000) libgstpbutils-1.0.so.0 => /usr/lib/libgstpbutils-1.0.so.0 (0x7f33e7354000) libgstcodecparsers-1.0.so.0 => /usr/lib/libgstcodecparsers-1.0.so.0 (0x7f33e72ca000) libgstva-1.0.so.0 => /usr/lib/libgstva-1.0.so.0 (0x7f33e72b6000) libglib-2.0.so.0 => /usr/lib/libglib-2.0.so.0 (0x7f33e716a000) libgobject-2.0.so.0 => /usr/lib/libgobject-2.0.so.0 (0x7f33e710d000) libmfx.so.1 => /usr/lib/libmfx.so.1 (0x7f33e70fd000) libva.so.2 => /usr/lib/libva.so.2 (0x7f33e70d3000) libdrm.so.2 => /usr/lib/libdrm.so.2 (0x7f33e70bd000) libgudev-1.0.so.0 => /usr/lib/libgudev-1.0.so.0 (0x7f33e70b2000) libc.musl-x86_64.so.1 => /lib/ld-musl-x86_64.so.1 (0x7f33e7666000) libintl.so.8 => /usr/lib/libintl.so.8 (0x7f33e70a0000) libgmodule-2.0.so.0 => /usr/lib/libgmodule-2.0.so.0 (0x7f33e7099000) liborc-0.4.so.0 => /usr/lib/liborc-0.4.so.0 (0x7f33e701b000) libgstaudio-1.0.so.0 => /usr/lib/libgstaudio-1.0.so.0 (0x7f33e6f9c000) libgsttag-1.0.so.0 => /usr/lib/libgsttag-1.0.so.0 (0x7f33e6f5e000) libgstallocators-1.0.so.0 => /usr/lib/libgstallocators-1.0.so.0 (0x7f33e6f57000) libva-drm.so.2 => /usr/lib/libva-drm.so.2 (0x7f33e6f52000) libpcre2-8.so.0 => /usr/lib/libpcre2-8.so.0 (0x7f33e6eab000) libffi.so.8 => /usr/lib/libffi.so.8 (0x7f33e6ea1000) libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x7f33e6c08000) libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x7f33e6be4000) libudev.so.1 => /lib/libudev.so.1 (0x7f33e6bd4000) libz.so.1 => /lib/libz.so.1 (0x7f33e6bba000)Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_va_dmabuf_get_modifier_for_format: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_info_dma_drm_to_video_info: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_dma_drm_fourcc_from_string: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_info_dma_drm_new_from_caps: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_dma_drm_fourcc_to_string: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_info_dma_drm_init: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_info_dma_drm_to_caps: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_is_dma_drm_caps: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_va_drm_fourcc_from_video_format: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_video_info_dma_drm_free: symbol not foundError relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmsdk.so: gst_va_video_format_from_drm_fourcc: symbol not found
Also gst-inspect-1.0
does not show anything containing msdk
(a bunch of plugins should be there, including msdkh264enc
), though it shows errors, e.g.:
% GST_PLUGIN_PATH="/tmp/blah/usr/local/lib" /tmp/blah/usr/local/bin/gst-inspect-1.0 msdkh264enc [1](gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.129: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstopengl.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstopengl.so: gst_buffer_pool_config_set_gl_min_free_queue_size: symbol not found(gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.135: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstisomp4.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstisomp4.so: gst_rtp_base_depayload_set_aggregate_hdrext_enabled: symbol not found(gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.136: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstmultifile.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstmultifile.so: gst_util_filename_compare: symbol not found(gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.136: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstrtp.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstrtp.so: gst_rtp_base_depayload_set_aggregate_hdrext_enabled: symbol not found(gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.137: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstrtsp.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstrtsp.so: gst_rtsp_connection_add_extra_http_request_header: symbol not found(gst-plugin-scanner:22397): GStreamer-WARNING **: 16:46:18.139: Failed to load plugin '/tmp/blah/usr/local/lib/gstreamer-1.0/libgstadaptivedemux2.so': Error relocating /tmp/blah/usr/local/lib/gstreamer-1.0/libgstadaptivedemux2.so: gst_element_decorate_stream_id: symbol not found[...]No such element or plugin 'msdkh264enc'
What am I missing? Could I be missing libraries on my system? Could it be related to my disabling avtp?