【问题标题】:Anaconda and Opencv does not open mp4Anaconda 和 Opencv 不打开 mp4
【发布时间】:2017-02-10 17:00:43
【问题描述】:

我试图在 ubuntu 上使用 Opencv3(安装在 conda env 中)在我的 python 脚本中读取 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()

【问题讨论】:

  • 它对任何 mp4 文件的描述是否有效?请你分享一下失败的小 mp4 文件。
  • 任何文件,但由于@Mick 提到的专利,Ubuntu 存在视频问题。

标签: python opencv ubuntu video


【解决方案1】:

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

通常的方法是以标准方式在 Ubuntu 安装中添加对 MP4 的支持,如下所示:

sudo apt-get install ubuntu-restricted-extras

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

许多只想播放视频的人只需安装 VideoLan 即可处理所有这些,因此他们不必执行上述步骤。

【讨论】:

  • 我做了上面的步骤它没有帮助
  • 基本上这是我的问题,安装什么和/或如何配置以使 opencv 识别更改。到五月,它在 Mac 上运行良好
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-01
  • 2020-08-24
  • 2016-08-25
  • 1970-01-01
相关资源
最近更新 更多