Как воспроизвести файл NUT ffmpeg в gstreamer? - PullRequest
0 голосов
/ 10 июля 2019

Я не могу воспроизвести формат NUT ffmpeg в gstreamer. Если я использую декодер, он говорит Отсутствует элемент: декодер H.264.

$ gst-launch-1.0 -v --gst-debug=trace filesrc location=test.nut ! avdemux_nut ! decodebin ! autovideosink   
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h264, width=(int)800, height=(int)800, framerate=(fraction)30/1, alignment=(string)au, codec_data=(buffer)000000016764001facb2019032d80880000003008000001e078c19240000000168ebc3cb22c0
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-h264, width=(int)800, height=(int)800, framerate=(fraction)30/1, alignment=(string)au, codec_data=(buffer)000000016764001facb2019032d80880000003008000001e078c19240000000168ebc3cb22c0
Missing element: H.264 decoder
ERROR: from element /GstPipeline:pipeline0/GstDecodeBin:decodebin0: Your GStreamer installation is missing a plug-in.
Additional debug info:
gstdecodebin2.c(4640): gst_decode_bin_expose (): /GstPipeline:pipeline0/GstDecodeBin:decodebin0:
no suitable plugins found:
Couldn't set h264parse0 to PAUSED

ERROR: pipeline doesn't want to preroll.
Setting pipeline to NULL ...
Freeing pipeline ...

Однако декодер h264 есть. Я могу воспроизвести mp4 без проблем:

$ gst-launch-1.0 -v --gst-debug=trace filesrc location=test.mp4 ! qtdemux ! decodebin ! autovideosink            
Setting pipeline to PAUSED ...
Pipeline is PREROLLING ...
/GstPipeline:pipeline0/GstDecodeBin:decodebin0.GstGhostPad:sink.GstProxyPad:proxypad0: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe100186764001facb2019032d80880000003008000001e078c192401000668ebc3cb22c0, width=(int)800, height=(int)800, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstTypeFindElement:typefind.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe100186764001facb2019032d80880000003008000001e078c192401000668ebc3cb22c0, width=(int)800, height=(int)800, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1
/GstPipeline:pipeline0/GstDecodeBin:decodebin0/GstH264Parse:h264parse0.GstPad:src: caps = video/x-h264, stream-format=(string)avc, alignment=(string)au, level=(string)3.1, profile=(string)high, codec_data=(buffer)0164001fffe100186764001facb2019032d80880000003008000001e078c192401000668ebc3cb22c0, width=(int)800, height=(int)800, framerate=(fraction)30/1, pixel-aspect-ratio=(fraction)1/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, parsed=(boolean)true
Redistribute latency...

...