GStreamer with HAP


I’m trying to use the movie player with HAP videos on Linux. I assume it should be possible with GStreamer, but I might be missing something.

I rebuilt ffmpeg with snappy support, and rebuilt gstreamer1-libav. According to GStreamer it has the hap decoder installed.

$ gst-inspect-1.0  | grep hap
`libav:  avdec_hap: libav Vidvox Hap decoder`

But in Cinder I get an error in the console:

|error  | gboolean gst::video::checkBusMessagesAsync(GstBus*, GstMessage*, gpointer)[195] ERROR from element uridecodebin0 : Your GStreamer installation is missing a plug-in.
|error  | gboolean gst::video::checkBusMessagesAsync(GstBus*, GstMessage*, gpointer)[197] Debugging info : gsturidecodebin.c(988): no_more_pads_full (): /GstPlayBin:playbinsink/GstURIDecodeBin:uridecodebin0:
no suitable plugins found:
gstdecodebin2.c(4640): gst_decode_bin_expose (): /GstPlayBin:playbinsink/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Missing decoder: video/x-gst-fourcc-Hap1 (video/x-gst-fourcc-Hap1, width=(int)1080, height=(int)1080, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1)

Any suggestions would be appreciated.



Hi Gabor,

Unfortunately I don’t think that GStreamer has full support for HAP implemented on all elements involved in the processing pipeline, so I m not sure if this would work actually.

You can double check that by trying to play the file directly with gst-launch-1.0 playbin uri=file:///path/to/hap/videofile

I would not expect this to work and in that case I would ask on the GStreamer dev list about the current status of HAP support in the library and more specifically about playbin support for this codec.



Thanks Petros. You are right. I could not play the file with GStreamer, although I could play it in Vlc and Mpv. I will try to look into GStreamer HAP support. It would be a better solution to support it through GStreamer, but maybe it is easier to modify Cinder-Hap to make it work in Linux. Thanks for the pointers.