FFmpeg:一次编码多个视频文件(批处理)

时间:2015-11-21 09:46:21

标签: bash encoding ffmpeg

如何使用相同的设置,使用ffmpeg一批编码多个视频文件?

我发现这个one-line solution将当前文件夹中的.avi文件转换为.mov。请注意,我想编码.mov -> .mov

for i in *.mov; do ffmpeg -i "$i" "${i%.mov}.mov" ; done

我希望使用以下设置进行编码:

ffmpeg -i "$i" -c:v libx265 -preset ultrafast -crf 20 -af "volume=25dB, highpass=f=200, equalizer=f=50:width_type=h:width=100:g=-15" -c:a aac -strict experimental -b:a 192k OUTPUT-ENCODED.MOV

防止覆盖的可能方法:

  • -ENCODED添加到文件扩展名
  • 之前的文件名末尾
  • 将文件重命名为连续的文件,例如OUTPUT01.MOVOUTPUT02.MOV
  • 将编码文件放在目录子文件夹中,但文件名相同

1 个答案:

答案 0 :(得分:1)

您可以自由地操作输出文件${i%.mov}.mov - 这里,“关键因素”是语句${i%.mov}生成变量i的内容,其中.mov的匹配最短从后面删除。有关详细信息,请参阅有关在bash中操作字符串的tutorial