对文件夹中的所有文件应用命令

对文件夹中的所有文件应用命令

我有一个充满视频的文件夹,其中都有 2 个音轨,我想从每个视频中删除第一个音轨。

所以我需要运行:

ffmpeg -i [filename] -map 0:0 -map 0:2 -acodec copy -vcodec copy temp.mp4
mv temp.mp4 [filename]

该文件夹中的每个文件。

答案1

find . -type f \
       -exec ffmpeg -i '{}' -map 0:0 -map 0:2 -acodec copy -vcodec copy temp.mp4 \; \
       -exec mv temp.mp4 '{}' \;`

答案2

我会find使用-exec

find . -type f -name "*.mp4" -exec ffmpeg -i {} -map 0:0 -map 0:2 -acodec copy -vcodec copy {} \;

但 als -1 *.mp4 | ffmpeg也可以正常工作。

答案3

for file in $(ls)
do
    #whatever you want to do with "${file}"
done

相关内容