如何使用几乎静态图像的 ffmpeg 转换视频

How to convert video with ffmpeg with few almost static images

我有 8GB 的​​视频,只有 1 小时。我正在尝试将其转换为某种格式以减少视频大小。视频包含少量带有背景对话的静态图像。转换它的最佳方式和格式是什么?

非常感谢!

我会推荐 2-pass 可变比特率视频编码。这样,当视频是动态的时,您最终只会使用位。对于音频,只需使用您喜欢的现代编解码器的任何比特率。如果您安装了 ffmpeg,则可以执行以下操作:

首先查看文件并决定要完成多少压缩。

ffprobe infile.avi

您可以将现有比特率除以 10,或者查看 here 比特率指南。现在你准备好了:

ffmpeg -y -i infile.avi -c:v libx264 -b:v 555k -pass 1 -c:a libmp3lame -b:a 128k -f mp4 /dev/null
ffmpeg -y -i infile.avi -c:v libx264 -b:v 555k -pass 2 -c:a libmp3lame -b:a 128k output.mp4

其中视频和音频比特率分别为 555 kb/s 和 128 kb/s。请注意,如果您的音频比特率已经 <= 256 kb/s,除非您确实需要,否则不要再压缩它。您可以通过将 -c:a libmp3lame -b:a 128k 替换为 -acodec copy.

来绕过音频编码器

如果您在 windows 盒子上(给孩子),请将 /dev/null 替换为 NUL