Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/fsharp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
IP摄像头(h.264,rstp)和#x2B;GStreamer&x2B;OpenCV(Ubuntu、Jetson TK1\Desktop)_Opencv_Gstreamer_H.264_Ip Camera - Fatal编程技术网

IP摄像头(h.264,rstp)和#x2B;GStreamer&x2B;OpenCV(Ubuntu、Jetson TK1\Desktop)

IP摄像头(h.264,rstp)和#x2B;GStreamer&x2B;OpenCV(Ubuntu、Jetson TK1\Desktop),opencv,gstreamer,h.264,ip-camera,Opencv,Gstreamer,H.264,Ip Camera,我花了很多时间试图找到答案,但我失败了。我有一个带有RTSP访问(h.264)的IP摄像头。如果我从OpenCV打开流,它会尝试通过ffmpeg和currupts帧进行解码(据我所知) [h264 @ 0x1821f20] error while decoding MB 3 35, bytestream -14 据我所知,我应该使用gstreamer进行硬件加速(使用NVIDIA GPU),但我找不到真正的解决方案。我该怎么办 从控制台运行gstreamer,并通过OpenCV应用程序从缓冲区

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

[h264 @ 0x1821f20] error while decoding MB 3 35, bytestream -14
据我所知,我应该使用gstreamer进行硬件加速(使用NVIDIA GPU),但我找不到真正的解决方案。我该怎么办

  • 从控制台运行gstreamer,并通过OpenCV应用程序从缓冲区(RAM?)获取帧
  • 在OpenCV应用程序中做些什么
  • 使用gstreamer和不使用ffmpeg重新编译OpenCV

  • 请参阅中gstreamer1.0示例的播放示例

    gst-launch-1.0 filesrc location=!qtdemux name=demux!
    h264parse!天哪!Inveglessink–e

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

    gst-launch-1.0 rtspsrc位置=!德克宾!天哪!Inveglessink–e

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

    如果您非常幸运,它可能只适用于以下情况:


    gst-launch-1.0 playbin uri=-e

    您的OpenCV版本是什么?请参阅可能有用我正在使用Repora中的OpenCV for Tegra(2.4.10),正如我在回答另一个问题时指出的(请参阅我上面的评论),更新OpenCV_ffmpeg.dll可能会有所帮助。你能试试看会发生什么吗?好的,我明天会测试它,但我仍然有问题:a)我应该从终端运行这个命令吗?如何从gstreamer缓冲区获取帧?b) 在解码器使用之后(我的意思是,使用192个图形内核进行计算),我可以使用CUDA吗?这是一个终端命令,是的。要访问缓冲区,您必须编写GStreamer应用程序。查看有关如何操作的
    appsink
    文档。为什么现在你不能对CUDA内核进行更多的计算?