
У меня есть папка с видео, каждое из которых имеет две звуковые дорожки, и я хочу удалить первую из каждой из них.
Итак, мне нужно запустить:
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 {} \;
Но a ls -1 *.mp4 | ffmpeg
тоже работает нормально.
решение3
for file in $(ls)
do
#whatever you want to do with "${file}"
done