如何使用 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.MOV
, OUTPUT02.MOV
等最佳答案
您可以自由操作输出文件${i%.mov}.mov
- 这里,“关键因素”是声明 ${i%.mov}
产生变量 i
的内容与 .mov
的最短匹配从后面删除。详情见此tutorial关于在 bash 中操作字符串。
关于bash - FFmpeg:一次编码多个视频文件(批量),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33841920/