取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
peng_jimmy
Observer
Observer
260 次查看
注册日期: ‎02-08-2021

在ZCU104中使用gstreamer软件解码rtsp视频流

跳至解决方案

你好!我使用petalinux2020.1生成了在ZCU104开发板上运行的linux系统,并且系统中已经添加了gstreamer组件。现在我想直接使用gstreamer利用arm核解码来自网络摄像头的RTSP H264视频流,我并没有使用VCU模块。我在生成的linux系统下运行下面的命令行读取视频流:

root@xilinx-zcu104-2020_1:~# gst-launch-1.0 playbin uri=rtsp://192.168.1.108:554/id=1&type=0

但是出现如下错误:

root@xilinx-zcu104-2020_1:~# Setting pipeline to PAUSED ...
Pipeline is live and does not need PREROLL ...
Progress: (open) Opening Stream
Progress: (connect) Connecting to rtsp://192.168.1.108:554/id=1
Progress: (open) Retrieving server options
Progress: (open) Retrieving media info
Progress: (request) SETUP stream 0
Progress: (open) Opened Stream
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Progress: (request) Sending PLAY request
Progress: (request) Sending PLAY request
Progress: (request) Sent PLAY request
[2021-02-08 14:25:38.396859090] [omx_core.cpp:181] [OMX_GetHandle] Couldnt allocate dma allocator (tried using /dev/allegroDecodeIP)
Missing element: H.264 (Main Profile) decoder
WARNING: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: No decoder available for type 'video/x-h264, stream-format=(string)byte-stream, alignment=(string)au, level=(string)3.1, profile=(string)main, width=(int)1280, height=(int)720, framerate=(fraction)10/1, interlace-mode=(string)progressive, chroma-format=(string)4:2:0, bit-depth-luma=(uint)8, bit-depth-chroma=(uint)8, colorimetry=(string)1:3:5:1, parsed=(boolean)true'.
Additional debug info:
../../../git/gst/playback/gsturidecodebin.c(920): unknown_type_cb (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0
ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: Your GStreamer installation is missing a plug-in.
Additional debug info:
../../../git/gst/playback/gsturidecodebin.c(987): no_more_pads_full (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0:
no suitable plugins found:
../../../git/gst/playback/gstdecodebin2.c(4678): gst_decode_bin_expose (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:
no suitable plugins found:
Couldn't set omxh264dec-omxh264dec0 to READY:
Could not initialize supporting library.
Could not initialize supporting library.
../../../../git/gst-libs/gst/video/gstvideodecoder.c(2614): gst_video_decoder_change_state (): /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0/GstOMXH264Dec-omxh264dec:omxh264dec-omxh264dec0:
Failed to open decoder

请问这个问题如何解决呢?另外petalinux生成的linux系统是否支持软件解码呢?

0 项奖励
回复
1 解答

已接受的解答
terryn
Xilinx Employee
Xilinx Employee
221 次查看
注册日期: ‎06-19-2019

从你error信息上来看,应该是gstreamer缺少了plug-in

“ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: Your GStreamer installation is missing a plug-in.”

xilinx petalinux中的gsteamer并没有包含所有plug-in。

你可以参考pg252和以下链接看看是否包含需要的plug-in

https://github.com/Xilinx/gstreamer

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------

在原帖中查看解决方案

1 回复
terryn
Xilinx Employee
Xilinx Employee
222 次查看
注册日期: ‎06-19-2019

从你error信息上来看,应该是gstreamer缺少了plug-in

“ERROR: from element /GstPlayBin:playbin0/GstURIDecodeBin:uridecodebin0: Your GStreamer installation is missing a plug-in.”

xilinx petalinux中的gsteamer并没有包含所有plug-in。

你可以参考pg252和以下链接看看是否包含需要的plug-in

https://github.com/Xilinx/gstreamer

------------------------------------------------------------------
Don't forget to reply, kudo, and accept as solution.
如果提供的信息能解决您的问题,请标记为“接受为解决方案”。
如果您认为帖子有帮助,请点击“奖励”。谢谢!
-------------------------------------------------------------------

在原帖中查看解决方案