我花了很多时间试图找到答案,但我失败了。我有一台带RTSP访问权限的IP摄像机(h.264)。如果我从OpenCV打开流,它会尝试通过ffmpeg进行解码(据我所知)和currupts帧。
[h264 @ 0x1821f20] error while decoding MB 3 35, bytestream -14
据我所知,我应该使用gstreamer进行硬件加速(使用NVIDIA GPU),但我找不到真正的解决方案。我该怎么做?
答案 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