폴더의 모든 파일에 명령 적용

폴더의 모든 파일에 명령 적용

비디오로 가득 찬 폴더가 있고 모두 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 {} \;

그러나 a ls -1 *.mp4 | ffmpeg도 잘 작동합니다.

답변3

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

관련 정보