我在一个文件夹中有一大堆文本文件,jpg 和 mp4。我希望单独保留 jpg 和文本文件。我想使用-crf
值为 , 的 ffmpeg 参数压缩所有 mp423
以节省磁盘空间。文件应该被原地覆盖。
我在这里使用了@llogan 答案,并替换.avi
为.mp4
但不起作用。
for f in *.mp4; do ffmpeg -i "$f" -c:v libx264 -crf 23 -preset medium \
-c:a aac -b:a 128k -movflags +faststart -vf scale=-2:720,format=yuv420p \
"encoded/${f%.avi}.mp4"; done
在不删除和/或修改同一工作目录中的任何其他文件的情况for
下,将 mp4 转换为较低质量 () 的循环是什么?-crf 23
我也真的不想要其他标志,因为我不会调整大小、上传 youtube、更改编码速度等。
您只需要更改
"encoded/${f%.avi}.mp4"
为"encoded/${f%.mp4}.mp4"
or"encoded/${f%.*}.mp4"
:我删除了所有其他你不需要的东西。我假设您的输入音频已经是 AAC,所以我曾经
-c:a copy
启用流复制模式,就像复制和粘贴一样。-crf 23 -preset medium
是默认值,因此如果您对这些值感到满意,则可以删除它们。否则,请参阅FFmpeg Wiki:H.264以获取有关使用内容-crf
和-preset
值的指南。