IP摄像头(h.264,rstp)+ GStreamer + OpenCV(Ubuntu,Jetson TK1 \ Desktop)

时间:2016-02-23 20:28:24

标签: opencv gstreamer h.264 ip-camera

我花了很多时间试图找到答案,但我失败了。我有一台带RTSP访问权限的IP摄像机(h.264)。如果我从OpenCV打开流,它会尝试通过ffmpeg进行解码(据我所知)和currupts帧。

[h264 @ 0x1821f20] error while decoding MB 3 35, bytestream -14

据我所知,我应该使用gstreamer进行硬件加速(使用NVIDIA GPU),但我找不到真正的解决方案。我该怎么做?

  1. 从控制台运行gstreamer并通过OpenCV app从缓冲区(RAM?)获取帧?
  2. 在OpenCV app中做点什么?
  3. 使用gstreamer重新编译OpenCV而不使用ffmpeg?

1 个答案:

答案 0 :(得分:0)

请参阅http://developer.download.nvidia.com/embedded/L4T/r21_Release_v3.0/L4T_Jetson_TK1_Multimedia_User_Guide_V2.1.pdf中gstreamer1.0示例的播放示例。

gst-launch-1.0 filesrc location=<filename.mp4> ! qtdemux name=demux ! h264parse ! omxh264dec ! nveglglessink –e

您可能希望使用rtspsrc元素而不是文件源。如果你幸运的话,这样的事情可能有用:

gst-launch-1.0 rtspsrc location=<rtsp://url> ! decodebin ! omxh264dec ! nveglglessink –e

可能需要手动插入rtph264depay元素或其他元素。

如果你非常幸运,它可能只是这样:

gst-launch-1.0 playbin uri=<rtsp://url> –e