Bash 脚本持续运行命令直到达到特定条件 - ffmpeg

Bash 脚本持续运行命令直到达到特定条件 - ffmpeg

我正在运行以下命令,以减小 mp4 视频的大小

ffmpeg -i input.mp4 -acodec mp2 output.mp4

创建输出后,我再次对输出运行该命令,依此类推,因为每次执行命令的减少大小只有大约 0.1 Mb,所以我需要减少大约 2-3 Mb,这就是为什么我需要迭代运行该命令。

我想编写一个 bash 脚本来自动执行此操作,而不是一遍又一遍地运行该命令。如果文件大小达到我想要的大小,是否有停止运行该命令的选项?

答案1

真的不要这样做——每次这样做都会损害品质。

尝试这样的 ffmpeg 命令:

ffmpeg -i input.mp4 -c:v libx265 -crf 30 -c:a copy output.mp4

因此(在本例中)我使用 h265 编解码器来处理视频,并将系数设置为 30。较小的数字将产生较大的文件,质量更好,较大的数字将产生较小的文件,质量较差。音频只是复制的。我不知道你的源文件中有什么,但通常最大的节省来自重新压缩视频

相关内容