【ffmpeg使用教程】使用ffmpeg提取视频帧保存为图片,同时将图片合成视频

《------往期经典推荐------》

一、【100个深度学习实战项目】【链接】,持续更新~~

二、机器学习实战专栏【链接】 ,已更新31期,欢迎关注,持续更新中~~
三、深度学习【Pytorch】专栏【链接】
四、【Stable Diffusion绘画系列】专栏【链接】
五、YOLOv8改进专栏【链接】持续更新中~~
六、YOLO性能对比专栏【链接】,持续更新中~

《------正文------》

目录

  • 引言
  • [1. 将视频保存为图片](#1. 将视频保存为图片)
  • [2. 将批量图片合成为视频](#2. 将批量图片合成为视频)

引言

本文主要介绍如何使用ffmpeg将视频保存为图片,同时如何将批量的图片合成视频。并给出了详细的参数说明,供小伙伴们学习。

1. 将视频保存为图片

假设从名为 video.mp4 的视频文件中提取帧,并保存为 output/frame_%04d.jpg 格式的图片文件,命令为:

python 复制代码
ffmpeg -i video.mp4 -q:v 2  -start_number 0 output/frame_%05d.jpg

参数解释说明:
-i video.mp4:指定输入视频文件为 video.mp4。
-start_number 0:指定输出文件的起始编号为0。这意味着第一张图片将被命名为 output/00000.jpg。
-q:v 2:代表视频质量(质量因子,Quality factor)设置视频质量等级为2,数值范围通常为 1 到 31,其中 1 是质量最好(但文件更大),31 是质量最差(但文件更小)。2 通常被认为是高质量的设置。
output/%05d.jpg:指定输出图片的文件名模式。%05d 表示五位数字的帧序号,不足部分用零填充。所有图片将被保存在 output/ 目录下。
这个命令的作用是从 video.mp4 中提取每一帧,并将其保存为一系列的 .jpg 图片文件。图片文件将按照帧序号排序,从 00000.jpg 开始,以递增的方式命名。

注意需要先创建一个output文件夹用于存储提取的图片。

运行结果如下:

在output目录下面会生成保存的每一帧图片。

如果你想要控制每秒提取多少帧,可以使用 -vf fps=num 参数来设置帧率,例如:

python 复制代码
ffmpeg -i video.mp4 -q:v 2 -vf fps=10 -start_number 0 output/frame_%05d.jpg

上述命令是每秒钟只保存10帧图片。

2. 将批量图片合成为视频

要将一组图片文件合成视频,可以使用以下命令。假设你有一组名为 frame_%05d.jpg 的图片文件,并希望将它们合成一个名为 output.mp4 的视频文件,命令如下:

python 复制代码
ffmpeg -framerate 30 -i frame_%05d.jpg -c:v libx264 -pix_fmt yuv420p output.mp4

参数说明:
-framerate 30:设置输出视频的帧率为每秒30帧。
-i frame_%05d.jpg:指定输入图片的文件名模式。
-c:v libx264:设置视频编解码器为 H.264。
-pix_fmt yuv420p:设置像素格式为 yuv420p,这是大多数设备兼容的格式。
output.mp4:指定输出视频文件名。

注意:命令应该在包含视频或图片的目录中运行,或者提供完整的文件路径。

运行结果如下:

好了,这篇文章就介绍到这里,如果对你有帮助,感谢点赞关注!


关注文末名片G-Z-H:【阿旭算法与机器学习】,发送【开源】可获取更多学习资源

好了,这篇文章就介绍到这里,喜欢的小伙伴感谢给点个赞和关注,更多精彩内容持续更新~~
关于本篇文章大家有任何建议或意见,欢迎在评论区留言交流!

相关推荐
风哥2号3 小时前
数据库教程FGMT02‑生产环境Linux+Oracle19c安装配置与项目实战
linux·数据库·ffmpeg
Bruce_Liuxiaowei20 小时前
录屏片段无损合并:从 ffmpeg concat 原理到 Python 自动化脚本
python·ffmpeg·自动化
工具派3 天前
口播视频怎么自动剪掉冷场?视频静音删除的阈值实测
ffmpeg·音视频·视频
❀͜͡傀儡师3 天前
移动端 360° 商品展示方案:从 20MB 雪碧图到 800KB 丝滑视频
ffmpeg·webgl·sprite
2501_930472443 天前
深度复盘|数据库迁移实战(上):腾讯云助手解析慢查询日志,定位索引缺失与语法不兼容
数据库·阿里云·ffmpeg·云计算·腾讯云·aws
我就是DaLing呀!3 天前
flutter + ffmpeg_kit_extended_flutter 大视频合并下载
flutter·ffmpeg·音视频
可乐鸡翅yeah_5 天前
多浏览器 HLS 兼容性差异排查,Chrome、Firefox、Safari 表现不一致定位
chrome·ffmpeg·音视频·firefox·safari·m3u8
行者-全栈开发6 天前
Spring Boot + FFmpeg 视频批量处理实战:压缩、HLS切片与异步任务引擎
spring boot·ffmpeg·异步处理·视频压缩·hls切片·批量任务·redis队列
可乐鸡翅yeah_6 天前
M3U8测试流使用指南,流媒体开发自测与环境校验标准化方案
网络·ffmpeg·音视频·m3u8·m3u8在线·音视频在线播放
heqingchun166 天前
Ubuntu 22.04 交叉编译 RK3568 MPP + FFmpeg 完整指南
linux·ubuntu·ffmpeg