시작 디렉터리와 그 아래의 모든 하위 디렉터리에서 모든 .mkv 파일을 .mp4로 변환할 수 있는 스크립트를 만들어야 합니다.
다음을 사용하여 한 번에 하나씩 파일을 변환할 수 있었습니다.
avconv -i input.mkv -codec copy output.mp4
현재 디렉토리의 모든 파일을 변환하는 것은 그리 어렵지 않습니다. 그러나 몇 시간 동안 검색한 후에도 이 작업을 재귀적으로 수행할 수 있는 방법을 찾을 수 없습니다.
find 명령을 사용해야 한다는 사실을 모았지만 저는 Linux를 처음 접했기 때문에 필요한 작업을 수행하기 위해 find와 avconv를 결합하는 방법을 완전히 이해하지 못했습니다.
답변1
Bash에서 재귀적 글로빙을 활성화해야 합니다.
shopt -s globstar
그런 다음 출력 파일 이름을 바꾸는 간단한 루프:
for f in **/*.mkv; do avconv -i "$f" -c copy "${f%.mkv}.mp4"; done
MP4 컨테이너가 처리할 수 없는 코덱이 포함된 비디오에서는 이 작업이 실패할 수 있습니다. MP4는 기본적으로 모든 코덱을 포함할 수 있는 MKV보다 더 제한적입니다.