여러 오디오 트랙이 포함된 mp4 비디오 파일이 있습니다. 나머지 트랙을 제거하고 하나만 유지하고 싶습니다. 어떻게 해야 하나요?
답변1
먼저 실행하여 ffmpeg -i file.mp4
파일에 어떤 스트림이 있는지 확인하세요. 다음과 같은 내용이 표시됩니다.
Stream #0.0: Video: mpeg4, yuv420p, 720x304 [PAR 1:1 DAR 45:19], 23.98 tbr, 23.98 tbn, 23.98 tbc
Stream #0.1: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
Stream #0.2: Audio: ac3, 48000 Hz, 5.1, s16, 384 kb/s
그런 다음 실행 ffmpeg -i file.mp4 -map 0:0 -map 0:2 -acodec copy -vcodec copy new_file.mp4
하여 비디오 스트림과 두 번째 오디오 스트림을 new_file.mp4
.
답변2
관련 질문 - 삭제모두mp4 파일의 오디오 트랙은 다음과 같이 수행할 수 있습니다.
ffmpeg -i input_file.mp4 -vcodec copy -an output_file.mp4
답변3
스트림 번호를 식별합니다.
$ ffmpeg -i in.mp4
...
Stream #0:0: Video: ...
Stream #0:1: Audio: ...
Stream #0:2: Audio: ...
-map _file_:_stream_
처리하고 출력할 스트림을 선택하는 데 사용됩니다.
$ ffmpeg -i in.mp4 -map 0:0 -map 0:2 -vcodec copy -acodec copy out.mp4
답변4
당신은 시도 할 수 있습니다avidemux
내부적으로는 하나의 오디오 파일만 처리합니다(따라서 특정 트랙을 선택해야 함). .mp4를 사용해 본 적이 없지만 다른 형식에서도 작동합니다.