解决 “python + opencv” 不能读取视频的问题
2015-12-22 12:28
826 查看
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
参考:
http://www.th7.cn/Program/Python/201503/400753.shtml
情况一:通过摄像头采集视频
情况二:通过本地视频文件获取视频
情况三:通过摄像头录制视频,再读取录制的视频
摄像头采集、本地视频文件的读取、写视频文件,网上都有代码。
我发现情况一和情况三都没有问题,大家注意读取自己通过摄像头录制的视频文件是没有问题的。但读取其他视频都会发现帧率为0(如果你获取视频的帧率并打印出来的话),并且退出读取。这时候读取是不成功的。
进去正题:如何解决读取视频失败的情况。这个问题很普遍,以至在官方教程的程序下面都提示说请确认ffmpeg或者gstreamer已经正确安装。
解决办法:
解决方法有两种,首先找到opencv安装路径下的 /sources/3rdparty/ffmpeg 文件夹,如D:\ProgramFiles\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
参考:
http://www.th7.cn/Program/Python/201503/400753.shtml
相关文章推荐
- python之面向对象那点事
- Python函数,参数,变量
- Project Euler Problems 19-22 Python实现
- python datetime
- Flask 一个Python的微型WEB开发框架
- Python学习笔记4--列表
- 一篇文章入门Python生态系统
- Python 基础语法
- <Python for Kids>读书笔记
- python pandas
- python--requests下载图片
- Python过滤emoji
- Python控制流语句(if,while,for)
- python注意事项
- pip安装Python包到指定目录
- Python系统学习
- Python正则表达式
- Python生成随机验证码的两种方法
- Python找不到Enum
- python 自学笔记20151222