Gstreamer Nov 24, 2022 Tested a binary that uses gstreamer, but it just segfaulted. gdb and strace didn’t help much, but setting GST_DEBUG=4 showed a lot what was going on. To learn something about a certain gstreamer plugin: $ gst-inspect-1.0 vaapi Plugin Details: Name vaapi Description VA-API based elements Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so Version 1.20.1 License LGPL Source module gstreamer-vaapi Source release date 2022-03-14 Binary package gstreamer-vaapi Origin URL https://gitlab.freedesktop.org/gstreamer/gstreamer-vaapi/issues vaapidecodebin: VA-API Decode Bin vaapih264dec: VA-API H264 decoder vaapih264enc: VA-API H264 encoder vaapih265dec: VA-API H265 decoder vaapijpegdec: VA-API JPEG decoder vaapijpegenc: VA-API JPEG encoder vaapimpeg2dec: VA-API MPEG2 decoder vaapipostproc: VA-API video postprocessing vaapisink: VA-API sink vaapivp8dec: VA-API VP8 decoder vaapivp9dec: VA-API VP9 decoder 11 features: +-- 11 elements If the plugin is present, but there are 0 elements: this might also be caused by blacklisting of drivers: $ gst-inspect-1.0 vaapi Plugin Details: Name vaapi Description VA-API based elements Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so Version 1.16.0 License LGPL Source module gstreamer-vaapi Source release date 2019-04-19 Binary package gstreamer-vaapi Origin URL http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer 0 features: To verify it is just the blacklist, use this variable: $ GST_VAAPI_ALL_DRIVERS=all gst-inspect-1.0 vaapi Plugin Details: Name vaapi Description VA-API based elements Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstvaapi.so Version 1.16.0 License LGPL Source module gstreamer-vaapi Source release date 2019-04-19 Binary package gstreamer-vaapi Origin URL http://bugzilla.gnome.org/enter_bug.cgi?product=GStreamer vaapih264enc: VA-API H264 encoder vaapijpegenc: VA-API JPEG encoder vaapisink: VA-API sink vaapidecodebin: VA-API Decode Bin vaapipostproc: VA-API video postprocessing vaapih265dec: VA-API H265 decoder vaapivp9dec: VA-API VP9 decoder vaapivp8dec: VA-API VP8 decoder vaapih264dec: VA-API H264 decoder vaapimpeg2dec: VA-API MPEG2 decoder vaapijpegdec: VA-API JPEG decoder 11 features: +-- 11 elements Other codecs that can do H.264 encoding are openh264: $ gst-inspect-1.0 openh264 Plugin Details: Name openh264 Description OpenH264 encoder/decoder plugin Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstopenh264.so Version 1.16.0 License BSD Source module gst-plugins-bad Source release date 2019-04-19 Binary package GStreamer Bad Plugins (Ubuntu) Origin URL https://launchpad.net/distros/ubuntu/+source/gst-plugins-bad1.0 openh264enc: OpenH264 video encoder openh264dec: OpenH264 video decoder 2 features: +-- 2 elements x264, but that is from “ugly”: $ gst-inspect-1.0 x264 Plugin Details: Name x264 Description libx264-based H.264 encoder plugin Filename /usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstx264.so Version 1.20.1 License GPL Source module gst-plugins-ugly Source release date 2022-03-14 Binary package GStreamer Ugly Plugins (Ubuntu) Origin URL https://launchpad.net/distros/ubuntu/+source/gst-plugins-ugly1.0 x264enc: x264 H.264 Encoder 1 features: +-- 1 elements Fluendo codecs: fluvah264enc and, fluh264enc. But I don’t have them.