Ffmpeg를 사용하여 비디오를 통한 오디오 다중화

Ffmpeg를 사용하여 비디오를 통한 오디오 다중화

그래서 나는 많은 테스트를 거쳤지만 여전히 ffmpeg를 사용하여 비디오를 통해 오디오를 다중화할 수 없는 것 같고 내가 잘못되고 있는 부분을 파악할 수 없으므로 도움을 주시면 정말 감사하겠습니다.

이 영상이 있어요. 비디오 다운로드

그리고 ffmpeg -i를 실행하면 이것이 나옵니다.

 Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, smpte170m/smpte170m/bt709), 366x662 [SAR 1:1 DAR 183:331], 755 kb/s, 24 fps, 24 tbr, 90k tbn, 180k tbc (default)
    Metadata:
      handler_name    : VideoHandler
    Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 105 kb/s (default)

그래서 0:0 스트리밍

그리고 나한테는 이 오디오 파일이 있어요. 오디오 다운로드

그리고 ffmpeg를 실행하면 이것을 얻습니다.

Stream #0:0: Audio: mp3, 44100 Hz, stereo, s16p, 277 kb/s
Stream #0:1: Video: png, rgb24, 400x400, 90k tbr, 90k tbn, 90k tbc

그래서 제가 하려는 일은 전체 파일을 다시 인코딩하지 않고 비디오 오디오 0:1을 대체하기 위해 오디오 0:0을 복사하는 것입니다.

ffmpeg -i testing.mp4 -i rkelly.mp3 -c copy -map 0:1 -map 0:0 -shortest out3.mp4 

답변1

옵션 의 첫 번째 숫자 -map는 입력 파일 인덱스입니다. 따라서 0두 번 사용하는 경우 testing.mp4.

대신 이것을 시도해 보세요:

ffmpeg -i testing.mp4 -i rkelly.mp3 -c copy -map 0:v:0 -map 1:a:0 -shortest out3.mp4 

여기서는 0:v:0첫 번째 입력 파일의 첫 번째 비디오 스트림을 선택하고, 1:a:0두 번째 입력 파일의 첫 번째 오디오 스트림을 선택합니다. 원칙적으로는 :0파일에 필요하지 않지만 여러 비디오/오디오 트랙의 경우에는 이 파일을 가지고 있어도 문제가 되지 않습니다.

참조-map옵션 에 대한 FFmpeg 위키 항목이상.

관련 정보