python opencv 读取本地视频文件 修改ffmpeg的方法

yipeiwu_com6年前Python基础

Python + opencv 读取视频的三种情况:

情况一:通过摄像头采集视频

情况二:通过本地视频文件获取视频

情况三:通过摄像头录制视频,再读取录制的视频

摄像头采集、本地视频文件的读取、写视频文件,网上都有代码。

我发现情况一和情况三都没有问题,大家注意读取自己通过摄像头录制的视频文件是没有问题的。但读取其他视频都会发现帧率为0(如果你获取视频的帧率并打印出来的话),并且退出读取。这时候读取是不成功的。

进去正题:如何解决读取视频失败的情况。这个问题很普遍,以至在官方教程的程序下面都提示说请确认ffmpeg或者gstreamer已经正确安装。

解决办法:

解决方法有两种,首先找到opencv安装路径下的 /sources/3rdparty/ffmpeg 文件夹,如D:\Program Files\opencv\sources\3rdparty\ffmpeg。

如果你安装的opencv版本是2.4.9的话,将文件夹中的opencv_ffmpeg.dll文件名修改为opencv_ffmpeg249.dll;如果你安装的是opencv2.4.10,那就修改成opencv_ffmpeg2410.dll;其他版本依次类推。

如果你是64位的系统,那就修改opencv_ffmpeg_64.dll文件名为opencv_ffmpeg249_64.dll。

方法1:将opencv_ffmpeg249.dll复制到python的安装目录下,我的路劲是D:\Python27。

方法2:在windows的环境变量中添加上D:\Program Files\opencv\sources\3rdparty\ffmpeg

以上这篇python opencv 读取本地视频文件 修改ffmpeg的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

详解python中init方法和随机数方法

1、__init__方法的使用 2、random方法的使用 在python中,有一些方法是特殊的,是以两个下划线开始,两个下划线结束,定义类,最常用的方法就是__init__()方法,这...

利用python实现简易版的贪吃蛇游戏(面向python小白)

利用python实现简易版的贪吃蛇游戏(面向python小白)

引言 作为python 小白,总是觉得自己要做好百分之二百的准备,才能开始写程序。以至于常常整天在那看各种语法教程,学了几个月还是只会print('hello world')。 这样...

Python使用中文正则表达式匹配指定中文字符串的方法示例

Python使用中文正则表达式匹配指定中文字符串的方法示例

本文实例讲述了Python使用中文正则表达式匹配指定中文字符串的方法。分享给大家供大家参考,具体如下: 业务场景: 从中文字句中匹配出指定的中文子字符串 .这样的情况我在工作中遇到非常多...

Python中__init__和__new__的区别详解

__init__ 方法是什么? 使用Python写过面向对象的代码的同学,可能对 __init__ 方法已经非常熟悉了,__init__ 方法通常用在初始化一个类实例的时候。例如:...

跟老齐学Python之关于循环的小伎俩

不是说while就不用,比如前面所列举而得那个猜数字游戏,在业务逻辑上,用while就更容易理解(当然是限于那个游戏的业务需要而言)。另外,在某些情况下,for也不是简单地把对象中的元素...