I'm trying to play .mp4 video to a framebuffer sink using gstreamer but I keep getting this error:
➜ ~ gst-launch-1.0 filesrc location=/home/srv/videoManager/server/assets/100.mp4 ! decodebin ! videoconvert ! fbdevsink device=/dev/fb0Setting pipeline to PAUSED ...Pipeline is PREROLLING ...Missing element: H.264 (High Profile) decoderMissing element: MPEG-4 AAC decoderERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0: Your GStreamer installation is missing a plug-in.Additional debug info:../gst/playback/gstdecodebin2.c(4701): gst_decode_bin_expose (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0:no suitable plugins found:Missing decoder: MPEG-4 AAC (audio/mpeg, mpegversion=(int)4, framed=(boolean)true, stream-format=(string)raw, level=(string)2, base-profile=(string)lc, profile=(string)lc, codec_data=(buffer)1210, rate=(int)44100, channels=(int)2)Missing decoder: H.264 (High Profile) (video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe1001a6764001facd9405005bb0110000003001000000303c0f183196001000668eae172c8b0, width=(int)1280, height=(int)720, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true)ERROR: pipeline doesn't want to preroll.Setting pipeline to NULL ...Freeing pipeline ...
What I tried:
Installing all possible gstreamer plugins (ugly/bad/good, etc...) suggested by stackoverflow and chatgpt:gst123 gstreamer1.0-libav:i386 gstreamer1.0-plugins-uglygstreamer1.0-adapter-pulseeffects gstreamer1.0-libcamera gstreamer1.0-plugins-ugly:amd64gstreamer1.0-alsa gstreamer1.0-nice gstreamer1.0-pocketsphinxgstreamer1.0-alsa:amd64 gstreamer1.0-opencv gstreamer1.0-pulseaudiogstreamer1.0-autogain-pulseeffects gstreamer1.0-packagekit gstreamer1.0-pulseaudio:amd64gstreamer1.0-clutter-3.0 gstreamer1.0-pipewire gstreamer1.0-python3-plugin-loadergstreamer1.0-convolver-pulseeffects gstreamer1.0-plugins-bad gstreamer1.0-qt5gstreamer1.0-crystalizer-pulseeffects gstreamer1.0-plugins-bad:amd64 gstreamer1.0-qt5:amd64gstreamer1.0-espeak gstreamer1.0-plugins-bad-apps gstreamer1.0-qt6gstreamer1.0-fdkaac gstreamer1.0-plugins-base gstreamer1.0-rtspgstreamer1.0-gl gstreamer1.0-plugins-base:amd64 gstreamer1.0-toolsgstreamer1.0-gl:amd64 gstreamer1.0-plugins-base-apps gstreamer1.0-vaapigstreamer1.0-gtk3 gstreamer1.0-plugins-base:i386 gstreamer1.0-vaapi:amd64gstreamer1.0-gtk3:amd64 gstreamer1.0-plugins-good gstreamer1.0-xgstreamer1.0-libav gstreamer1.0-plugins-good:amd64 gstreamer1.0-x:amd64gstreamer1.0-libav:amd64 gstreamer1.0-plugins-rtp gstreamer-qapt
Manually building and installing VAAPI from here: https://github.com/intel/media-driver
My system is an Ubuntu Server 24.04 with dual Intel Xeon E5-2680 v4