Ghi*_*ile 2 command-line bash ffmpeg
我是 linux 新手,我想对文件进行循环以对文件夹中的所有文件执行相同的命令,该命令包括文件名:
ffmpeg -i REC_2019_08_31_11_52_30_F.MP4 REC_2019_08_31_11_52_30_F.ass
Run Code Online (Sandbox Code Playgroud)
我试过
for f in files do ''command'' done
Run Code Online (Sandbox Code Playgroud)
但它没有用。
使用参数扩展来for转换.MP4当前目录中的每个文件以更改文件扩展名的循环如下所示:
for i in *.MP4; do
ffmpeg -i "$i" "${i/%MP4/ass}"
done
Run Code Online (Sandbox Code Playgroud)
${i/%MP4/ass}扩展为当前处理的文件名,最后出现的“MP4”替换为“ass”。实现相同目的的另一种方法是从最后一个点处剪下字符串并添加新的扩展名:${i%.*}.ass
在像这样的多个可能持久操作的情况下,我真的很喜欢使用GNUparallel,它通过并行运行作业可以大大提高速度。上面的循环parallel简单地是:
parallel ffmpeg -i {} {.}.ass ::: *.MP4
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
193 次 |
| 最近记录: |