背景
测试过程中可能会需要用到一些素材,如指定格式指定分辨率的图片、视频等。为了提高效率,需要有可以快速生成图片和视频的方法
*参考文档
环境配置
1、下载ffmpeg
官网或ffmpeg-n5.1-latest-win64-gpl-shared-5.1.zip
2、配置环境变量
把bin目录配置到环境变量path中
3、验证是否安装成功
命令行输入ffmpeg -help,没有提示找不到命令即成功
实用操作
生成指定格式图片
1、静态图片
|
2、gif
|
3、webp
|
生成指定格式的视频
1、图片转视频
|
注:windows无法支持直接用ffmpeg编码的视频(yuv444),需要添加参数-pix_fmt yuv420p
2、视频格式转换
|
3、指定视频分辨率
|
4、合并视频文件
|
注:进行多个视频合并过程中出现了“unsafe file name”错误,解决的办法是加个-safe 0
5、拆分视频
|
裁剪00:00:02开始往后2s的视频
参数解析
参数 | 定义 | 举例 | 说明 |
---|---|---|---|
-ss | 从第几秒开始,可以为数字8,也可以为时间串如:00:00:08 | ffmpeg -i test.mp4 -ss 00:00:08 test%02d.png | 输出从第8秒开始的图片 |
-t | 截取几秒,可以为数字8,也可以为时间串如:00:00:08 | ffmpeg -i test.mp4 -t 00:00:08 test%02d.png | 输出时长8s的视频的图片 |
-i | 输入文件,即目标操作文件 | ffmpeg -i test.mp4 test%02d.png | |
-y | 若文件存在自动覆盖 | ffmpeg -i test.mp4 -y test%02d.png | |
-s | 输出分辨率,切记中间是小写的x | ffmpeg -i test.mp4 -y -ss 1280x768 test%02d.png | 输出分辨率为1280x768的图片 |
-vframes | 帧 | ffmpeg -i test.mp4 -vframes 1 test%02d.png | 输出1帧的图片 |
-aspect | 宽高比 | ffmpeg -i test.mp4 -aspect 4:3 test%02d.png | 输出宽高比是4:3的图片 |
-qscale | 以<数值>质量为基础的VBR,取值0.01-255,约小质量越好,0代表原质量 | ffmpeg -i test.mp4 -s 1280x768 -lossy -loop 0 -y test.webp | 输出高质量的动图 |
-loop | 代表循环,0就是一直循环,1是循环1遍 | ffmpeg -i test.mp4 -loop 0 -y test.webp | 输出循环播放的动图 |
-f | 设定输出格式,一般不需要使用亦可 | ffmpeg -f image2 -i test.mp4 -s 1280x768 -r 15 -y test.gif | 输出image2格式的文件 |
-q:v | 表示输出的图片质量,一般是1到5之间(1 为质量最高) | ffmpeg -i test.mp4 -q:v 1 test%02d.png | 输出最高质量图片 |