Anaconda和Opencv没有打开mp4

时间:2017-02-10 17:00:44

标签: python opencv ubuntu video

我试图在我的python脚本中使用Opencv3(安装在conda env中)在ubuntu上读取mp4文件。但得到以下信息:

Unable to stop the stream: Inappropriate ioctl for device

我发现Opencv不支持mp4开箱即用。可以在我的机器上安装额外的库来使视频工作而无需重建Opencv吗?有些配置可能吗?

代码如下:

def workOnVideoFile(path) : 
    print('Reading the video from ' + path )
    cap = cv2.VideoCapture(path)

    print('Is video opened?  ' + str(cap.isOpened()) )
    while(cap.isOpened()):

        ret, frame = cap.read()
        print('Frame has been read ' + str(ret))
        workOnFrame(frame)
        if cv2.waitKey(1) & 0xFF == ord('q'):
            break

    print('Releasing the video' + str(cap))
    cap.release()


#img = cv2.imread('car.jpg')



if __name__ == "__main__":
    if (os.path.isfile(videoFile)) :
        workOnVideoFile(videoFile)
    else : 
        print('File ' + videoFile + ' is not found')


cv2.destroyAllWindows()

1 个答案:

答案 0 :(得分:1)

我认为可能ubuntu不支持开箱即用的MP4 - 这是因为MP4有一些专利问题。

通常的方法是以标准的方式为这样的Ubuntu安装添加对MP4的支持:

  

sudo apt-get install ubuntu-restricted-extras

这个名字可能看起来有些奇怪,但它的标准做法或多或少 - 请参阅此处的帮助文章以向您保证:

许多想要播放视频的人只需安装VideoLan即可完成所有这些工作,因此他们无需执行上述步骤。