Python imageio读取视频并进行编解码详解
读视频和写视频一直由于编解码的问题给程序员造成很多麻烦。对此进行了一些探索。用Python读取视频有两种主要方法,分别是基于imageio库和OpenCV,其中OpenCV加上ffmpeg的安装编译很麻烦,推荐大家使用第一种方法,不过大家也可依据自己的需求进行使用。
方法一:使用imageio库
1. 一般imageio库Anconda自带的有,不用我们单独安装,没有安装的可用pip安装或自己下载。
imageio使用方法可参考:http://imageio.readthedocs.io/en/latest/examples.html。
下面是一段使用imageio对视频进行灰度处理的测试代码。
# 将彩色视频转为灰度视频 import imageio reader = imageio.get_reader('imageio:cockatoo.mp4') fps = reader.get_meta_data()['fps'] writer = imageio.get_writer('~/cockatoo_gray.mp4', fps=fps) for im in reader: writer.append_data(im[:, :, 1]) writer.close()
2.一般你没有按照ffmpeg,直接运行会提示如下所示的要安装ffmpeg,使用conda安装即可。另一个编解码器包含比较全的编译包是https://www.johnvansickle.com/ffmpeg/
imageio.core.fetching.NeedDownloadError: Need ffmpeg exe. You can obtain it with either: - install using conda: conda install ffmpeg -c conda-forge - download by calling: imageio.plugins.ffmpeg.download()
所以按照提示运行如下命令安装conda-forge编译好的ffmpeg即可,conda-forge编译的ffmpeg视频编解码库都很齐全,可以直接对视频读存取。
conda install ffmpeg -c conda-forge
PS:小技巧,如果conda安装国外软件包速度很慢的话,可以给conda添加清华大学的镜像源,依次运行下面几条命令就可以了,安装速度一般几M/s.具体可参考https://mirrors.tuna.tsinghua.edu.cn/help/anaconda/
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge/ conda config --set show_channel_urls yes
方法二:使用OpenCV和ffmpeg
安装较复杂,需编译很多库,自己查找参考相关方法。
下面是使用OpenCV读取视频的方法:
import cv2 cap = cv2.VideoCapture('/path/to/your/video.mp4') while(cap.isOpened()): ret, frame = cap.read() cv2.imshow('image', frame) k = cv2.waitKey(20) #q键退出 if (k & 0xff == ord('q')): break cap.release() cv2.destroyAllWindows()
以上这篇Python imageio读取视频并进行编解码详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
相关文章
Pytorch建模过程中的DataLoader与Dataset示例详解
这篇文章主要介绍了Pytorch建模过程中的DataLoader与Dataset,同时PyTorch针对不同的专业领域,也提供有不同的模块,例如 TorchText, TorchVision, TorchAudio,这些模块中也都包含一些真实数据集示例,本文给大家介绍的非常详细,需要的朋友参考下吧2023-01-01详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
这篇文章主要介绍了详解python使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧2018-12-12
最新评论