ffmpeg를 사용하여 특정 비디오 및 오디오 트랙 만 변환


26

vidui.mkv6 개의 트랙 이있는 MKV 파일 ( )이 있습니다.

Track 1 - video - xvid - 1920x1080
Track 2 - video - xvid - 720x576
Track 3 - audio -  AAC - 1240kbps - English
Track 4 - audio -  AAC - 648kbps - Spanish
Track 5 - audio -  AAC - 648kbps - Commentary 1
Track 6 - audio -  AAC - 648kbps - Commentary 2

위의 파일을 하나의 h264 비디오와 하나의 AC3 오디오를 사용하여 mp4 형식으로 변환하고 싶습니다. 또한 트랙 1 (비디오)과 트랙 5 (오디오)를 변환하고 싶습니다.

내가 사용하면

ffmpeg.exe -i vidui.mkv -f mp4 -vcodec libx264 -acodec ac3 -crf 20 -sn -n vidui.mp4

첫 번째 비디오 트랙과 첫 번째 오디오 트랙을 변환하지만 트랙 1과 트랙 5를 변환하고 싶습니다.

답변:


43

당신이 사용할 수있는 -map옵션 ( 전체 문서를 특정 입력 스트림을 선택하고 출력에 매핑하기).

map사용할 수 있는 가장 간단한 구문은입니다 -map i:s. 여기서 i입력 파일 ID s는 스트림 ID입니다 0. 귀하의 경우에는, 그 수단은 우리가 트랙을 선택 0하고 4:

ffmpeg -i vidui.mkv -c:v libx264 -c:a ac3 -crf 20 -map 0:0 -map 0:4 vidui.mp4

비디오, 오디오 또는 자막 트랙을 구체적으로 선택하려면 스트림 지정자 를 사용할 수도 있습니다 .

ffmpeg -i vidui.mkv -c:v libx264 -c:a ac3 -crf 20 -map 0:v:0 -map 0:a:1 vidui.mp4

여기 0:v:0에서 첫 번째 비디오 스트림이며 0:a:1두 번째 오디오 스트림입니다.


이 작업을 동적으로 수행하는 방법이 있습니까? 언어 X의 오디오 트랙에만이 작업을 수행하고 ffmpeg가 이것을 선택하고 싶다고 가정 해 봅시다.
Freedo

@Freedo 예, 설명서를 참조하십시오. 예를 들어-map 0:m:language:eng
slhck
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.