ffmpeg指令
1. 将图片转换为视频(可指定起始帧号)
ffmpeg -framerate 20 -start_number 121 -i "%08d.000.jpeg" -c:v libx264 -pix_fmt yuv420p output.mp4
-framerate 20
: 设置视频的帧率为每秒30帧。你可以根据需要调整这个值。-start_number 121
: 这个新增的参数告诉FFmpeg从编号121开始读取图片。-i "folder/*.jpg"
: 指定输入文件。这里假设你的图片都在名为 “folder” 的文件夹中,并且都是 .jpg 格式。根据实际情况修改路径和文件格式。-c:v libx264
: 使用 H.264 编码器来编码视频。-pix_fmt yuv420p
: 设置像素格式,这能确保输出的视频在大多数播放器上都能正常播放。output.mp4
: 输出文件的名称和格式。
注意事项:
- 确保你的图片文件名是按照字母顺序或数字顺序命名的,这样 FFmpeg 才能按正确的顺序处理它们。
- 如果你的图片不是 .jpg 格式,请相应地修改文件扩展名。
- 如果你想要更高质量的输出,可以增加比特率,例如添加
-b:v 5M
参数来设置视频比特率为 5Mbps。 - 如果你的图片分辨率不一致,可以添加
-vf scale=1920:1080
参数来将所有图片缩放到指定的分辨率。
2. 使用 FFmpeg 将视频的分辨率宽高各降低一半
要使用 FFmpeg 将视频的分辨率宽高各降低一半,可以使用以下命令:
ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2" output.mp4
命令解释:
-i input.mp4
: 指定输入文件-vf "scale=iw/2:ih/2"
: 这是视频滤镜(video filter)选项scale
: 缩放滤镜iw/2
: 将宽度设置为原宽度的一半(iw 代表 input width)ih/2
: 将高度设置为原高度的一半(ih 代表 input height)
output.mp4
: 指定输出文件
一些注意事项和可选参数:
-
保持宽高比:
上面的命令会精确地将宽高各减半。如果你想确保输出是偶数分辨率(某些编码器需要),可以使用:ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2:force_original_aspect_ratio=decrease,scale=trunc(iw/2)*2:trunc(ih/2)*2" output.mp4
-
指定编码器:
如果你想指定特定的视频编码器,可以添加-c:v
选项,例如:ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2" -c:v libx264 output.mp4
-
控制质量:
对于 H.264 编码,你可以使用-crf
选项控制质量:ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2" -c:v libx264 -crf 23 output.mp4
-
保持音频不变:
默认情况下,FFmpeg 会重新编码音频。如果你想保持原始音频,可以添加-c:a copy
:ffmpeg -i input.mp4 -vf "scale=iw/2:ih/2" -c:v libx264 -c:a copy output.mp4
-
显示进度:
添加-stats
选项可以在处理过程中显示进度信息。