
FFmpeg를 사용하여 비디오 파일에서 오디오 트랙을 제거하려면 어떻게 해야 합니까?
답변1
플래그를 사용하여 오디오를 제거합니다 -an
.
input_file=example.mkv
output_file=example-nosound.mkv
ffmpeg -i $input_file -c copy -an $output_file
이 ffmpeg 플래그는 문서화되어 있습니다.여기.
답변2
비디오를 다시 인코딩하고 싶지 않을 수도 있으므로(느리고 손실이 많은 프로세스) 다음을 시도해 보십시오.
input_file=example.mkv
output_file=example-nosound.mkv
ffmpeg -i $input_file -vcodec copy -an $output_file
(일부 Linux 배포판에는 이제ffmpeg의 avconv 포크)
답변3
avconv -i [input_file] -vcodec copy -an [output_file]
ffmpeg
기존 버전 때문에 설치할 수 없다면 avconv
시도해 보세요.
답변4
또한 최종 비디오 컨테이너에 정확히 무엇이 들어갈지 더 효과적으로 제어하기 위해 -map
옵션을 사용할 수도 있습니다 .ffmpeg
예를 들어 비디오 파일이 my_video.mp4
다음과 같이 구성되어 있다고 가정해 보겠습니다.
Input #0
Stream #0:0 Video: h264
Stream #0:1 Audio: English
Stream #0:2 Audio: German
Stream #0:3 Audio: Japanese
Stream #0:4 Audio: Spanish
Stream #0:5 Audio: Italian
제거모두오디오 트랙( -an
옵션과 유사):
ffmpeg -i my_video.mp4 -map 0 -map -0:a -c copy my_video.noaudio.mp4`
-map 0
전체 입력(비디오, 오디오, 자막, 메타데이터, 챕터 등)을 가져옵니다.
-map -0:a
모든 오디오 트랙을 제거합니다.입력 0에서 ( -
부호 확인).
-c copy
다시 인코딩하지 않고 그대로 복사합니다.
제거하려면일본어그리고스페인의트랙:
ffmpeg -i my_video.mp4 -map 0 -map -0:3 -map -0:4 -c copy my_video.nojap.noesp.mp4`
-map -0:3
일본어 오디오인 입력 0에서 세 번째 트랙을 제거합니다.
-map -0:4
스페인어 오디오인 입력 0에서 네 번째 트랙을 제거합니다.
모든 오디오 트랙을 제거하려면이탈리아 사람:
ffmpeg -i my_video.mp4 -map 0 -map -0:a -map 0:5 -c copy my_video.ita.mp4`
-map -0:a
입력 0에서 모든 오디오 트랙을 제거합니다.
-map 0:5
입력 0에서 5번째 트랙을 삽입합니다. 이는 이탈리아 오디오입니다( -
이 경우에는 부호 없음에 유의하세요).
이는 하나 이상의 파일을 처리할 때도 매우 유용합니다.
예를 들면 다음과 같습니다.
- 하나의 파일에서 오디오 가져오기
- 다른 오디오 트랙
- 세 번째 자막 및 메타데이터