avis 배치를 mp4로 변환하는 방법은 무엇입니까?

avis 배치를 mp4로 변환하는 방법은 무엇입니까?

한 디렉토리에 여러 개의 avi 파일이 있고 avconv를 사용하여 해당 파일을 mp4로 변환하고 싶습니다. 이제 각 avi에 대해 수동으로 이 작업을 수행하는 방법에 대한 기본 프로세스를 알고 있습니다. 즉, $@각 새 avi에 따라 변경되는 변수는 어디에 있습니까?

avconv -i [email protected] -c copy [email protected]

그러나 이것을 자동화하기 위해 bash 스크립트를 작성하는 방법을 아는 사람이 있는지 궁금합니다. 나에게 제공된 답변의 수정된 버전을 시도했습니다.PNG 문제 최적화지금 바로:

for k in `find . -name "*.avi"`
do
   avconv -i "$k" -c copy "$k.mp4"
done

그러나 k는 형식이므로 ./filenameavconv는 입력으로 주어지면 이를 이해할 수 없습니다. 또 다른 문제는 따옴표를 사용하더라도 많은 avis 파일 이름에 공백이 있기 때문에 어떤 이유로 avconv가 파일 이름에서 공백으로 구분된 모든 단어에서 실행된다는 것입니다.

답변1

그러면 모든 파일을 반복하여 .avi변환해야 합니다(테스트되지 않음).

printf '%s\0' *.avi | xargs -0 -I {} -P 1 avconv -i "{}" -c copy "{}".mp4

-P 1예를 들어 -P 88개 파일을 병렬로 변환 하도록 변경할 수 있습니다 .

관련 정보