使用OpenCV + Python读取Elp H264的H264流媒体

时间:2017-01-10 21:50:25

标签: python opencv ffmpeg h.264

我正在尝试读取H264编码图像的udp流。软件结构如下:

在BeagleBoneBlack(Ubuntu 16.04)上,我有一个Elp H264 cam(见这里:https://www.amazon.com/ELP-Support-Android-Windows-Surveillance/dp/B00VDSBH9G)。我在单播UDP流上使用ffmpeg流式传输帧。

我想从python和opencv中读取这些图像,以便能够处理它们。

我尝试使用这个简单的代码来查看是否打开了上限:

import cv2
try:
     cap = cv2.VideoCapture("udp://localhost:1234/")
    cap.set(CV_CAP_PROP_FOURCC, CV_FOURCC('H', '2', '6', '4'));
except Exception, e:
    print str(e)

但是当我运行这个脚本时,python说:

  

DtsGetHWFeatures:创建文件失败DtsGetHWFeatures:创建文件   运行DIL失败(3.22.0)版本DtsDeviceOpen:在模式下打开HW   0 DtsDeviceOpen:创建文件失败的libva信息:VA-API版本0.38.1   libva info:va_getDriverName()返回-1 libva错误:   va_getDriverName()因未知的libva错误而失败,driver_name =(null)   libva info:VA-API版本0.38.1 libva信息:va_getDriverName()   返回-1 libva错误:va_getDriverName()因未知的libva而失败   error,driver_name =(null)libva info:VA-API version 0.38.1 libva info:   va_getDriverName()返回-1 libva错误:va_getDriverName()失败   对于未知的libva错误,driver_name =(null)libva info:VA-API版本   0.38.1 libva信息:va_getDriverName()返回-1 libva错误:va_getDriverName()失败,出现未知的libva错误,driver_name =(null)   GStreamer插件:嵌入式视频播放暂停;模块vaapidecode   报道:无法初始化支持库。 OpenCV的   错误:未指定错误(GStreamer:无法启动管道)   cvCaptureFromCAM_GStreamer,file / builddir / build / BUILD / opencv-
  2.4.12.3/modules/highgui/src/cap_gstreamer.cpp,第816行/builddir/build/BUILD/opencv-2.4.12.3/modules/highgui/src/cap_gstreamer.cpp:816:   错误:( - 2)GStreamer:无法在函数中启动管道   cvCaptureFromCAM_GStreamer

有人能帮助我吗?

谢谢,

弗朗西斯。

1 个答案:

答案 0 :(得分:0)

解决:

我解决了更新ffmpeg的问题。