python - 什么是处理视频文件帧的好 Python 库?

标签 python video video-processing

我正在寻找一个 Python 视频处理库,类似于 PIL ,在这里我可以遍历源视频的所有帧,访问每个帧的像素数据,在每个帧上绘制并将结果保存为新的视频文件。

我发现了几个类似的问题,但它们现在已经很老了:

他们推荐PyMediaPyFFMPEG . PyMedia 似乎已经过时(但可能仍然有效?),而 PyFFMPEG 虽然更新,但几乎没有文档。

在我继续之前,我没有在 Ubuntu 10.10 上安装这些:

a) 我应该看一个更好的库?

b) 关于如何启动和运行其中任何一个的良好说明?

最佳答案

我经常需要同样的东西,据我所知,在 Python 中没有很好的绑定(bind)解决方案。

此外,操作视频文件的帧也不像看起来那么简单。现代视频文件格式不会逐帧存储帧,而是使用“增量帧”,其中仅存储从一帧到另一帧的变化。其他考虑因素(例如具有可变帧率的视频)使问题变得更加困难。

过去,我使用以下命令从视频生成图像。

ffmpeg -i /path/to/file.mpg -an -r 30 -s 320x240 tmp%06d.jpg

其中 30 是目标帧速率,320x240 是图像尺寸,tmp%06d.jpg 是用于存储生成的 jpeg 的模式。然后你可以使用 PIL 来操作每一帧,然后使用 mencoder 或 ffmpeg 将图像重新拼接成电影:

ffmpeg -r 30 -i tmp%06d.jpg output.mpg

显然,您会丢失音轨。

关于python - 什么是处理视频文件帧的好 Python 库?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5619053/

相关文章:

ios - 使用 AVFoundation,如何从视频的所有帧中删除中间 400 像素

python - Pandas 获取具有独特列组合的 DataFrame

java - 如何检查 URL 中的视频加载情况?

python - 在python中使用public_key进行KeyCloak解码

angular - Twilio video onParticipant{Disabled}VideoTrack 卡住视频

multithreading - OpenGL 视频播放器的纹理缓冲区

video - FFmpeg 解码输出中的奇怪绿色像素

c++ - 从OpenCV的视频捕获中仅读取mp4文件的一部分

python - 加密的 PDF 不会写入磁盘

python - Pandas 在读取大 (2GB) csv 时忽略标题