ffmpeg에서 오디오 및 비디오 파일을 병합하는 방법


161

오디오 파일 (.wav 또는 .au 형식)을 비디오 파일 (.mp4 형식)과 병합하고 싶습니다.

이것을 달성하는 방법을 제안하십시오. 이 파일을 새 .mp4 비디오 파일로 병합하고 싶습니다. ffmpeg 명령은 매우 환영합니다.


답변:


260

오디오 재 인코딩으로 비디오 및 오디오 병합

이 블로그 항목 에서 가져 왔지만 최신 구문으로 업데이트 된 이 예를 참조하십시오 . 다음과 같은 효과가 있습니다.

ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental output.mp4

여기서는 비디오 파일에 아직 오디오 스트림이 포함되어 있지 않으며 입력 형식과 동일한 출력 형식 (여기서는 MP4)을 원한다고 가정합니다.

MP4는 PCM 오디오 스트림을 전달할 수 없으므로 위 명령은 오디오를 코드 변환합니다. 원하는 경우 원하는 다른 오디오 코덱을 사용할 수 있습니다. 자세한 내용은 AAC 인코딩 안내서 를 참조하십시오.

오디오 또는 비디오 스트림이 더 긴 경우, -shortest한 파일이 끝나면 ffmpeg가 인코딩을 중지하도록 옵션을 추가 할 수 있습니다 .

다시 인코딩하지 않고 오디오 복사

출력 컨테이너가 MKV와 같은 거의 모든 코덱을 처리 할 수 ​​있으면 오디오 및 비디오 스트림을 모두 복사 할 수 있습니다.

ffmpeg -i video.mp4 -i audio.wav -c copy output.mkv

오디오 스트림 교체

입력 비디오에 이미 오디오가 포함되어 있고 교체하려는 경우 ffmpeg에게 어떤 오디오 스트림을 가져 가야하는지 알려야합니다.

ffmpeg -i video.mp4 -i audio.wav \
-c:v copy -c:a aac -strict experimental \
-map 0:v:0 -map 1:a:0 output.mp4

map옵션 은 ffmpeg가 첫 번째 입력의 첫 번째 비디오 스트림과 출력 파일의 두 번째 입력의 첫 번째 오디오 스트림 만 사용하도록합니다.


나는 그것을 시도했지만 병합하는 동안 ffmpeg가 얼고있다
Sandy

4
나는 mp4 컨테이너가 wav 오디오 스트림을 가질 수 있다고 생각하지 않습니다. Tryffmpeg -i audio.wav -i video.mp4 -acodec copy -vcodec copy -f mkv output.mkv
Luke

1
이것을 사용하고 있으며 입력 오디오에서 원래 오디오를 대체하고 있습니다. 입력 오디오를 입력 비디오의 오디오와 병합하려면 어떻게합니까?
Iqbal Malik

매우 달콤한 명령 줄 ...
찬드라 나카

좋아, 나는 ffmpeg -i video.mp4 -i audio.wav \ -c : v copy -c : a aac-엄격한 실험 출력 .mp4를 사용하여 MP3를 Wav 파일과 병합했습니다 ... => mp4 5 분, 30 초 렌더링 .. 감사합니다
sonida

12

나는 webms를 인코딩 할 때이 문제가 있었기 때문에 나의 평판과 함께 첫 번째 답변에 대한 의견을 쓸 수 없기 때문에 여기의 부록.
예를 들어 오디오 스트림이 비디오 스트림보다 긴 경우 잘라 내야합니다. 그렇지 않으면 정지 이미지 및 오디오가 실행되는 마지막 비디오 프레임이 생깁니다.

스트림을 잘라내려면 -i "file.ext"각각 앞에 -ss [hh : mm : ss] -t [ss]를 사용할 수 있습니다.
-ss [...]는 절단 할 시작점을 정의합니다.
-t [...]는 세그먼트의 길이를 초 단위로 정의합니다

. 예 :

ffmpeg.exe -ss 00:00:10  -t 5 -i "video.mp4" -ss 0:00:01 -t 5 -i "music.m4a" -map 0:v:0 -map 1:a:0 -y out.mp4

4
-shortest끝을 자르는 데 사용할 수도 있습니다 .
nyuszika7h

5

-명령 프롬프트 열기 (windows + r-> cmd-> enter)

그런 다음 오디오 및 비디오 파일이있는 폴더 내부로 이동하십시오.

이 cmd를 적용하십시오

ffmpeg -i "videoFile.mp4" -i "audioFile.mp3" -shortest outPutFile.mp4

Enter .... outPutFime.mp4 (오디오 및 비디오의 병합 된 파일)라는 새 파일을 얻습니다.


2
여기서 커맨드 라인을 사용하는 방법을 설명 할 필요는 없습니다. 사용자가 알아낼 수 있다는 것은 거의 암시 적입니다. 특히 asker가 FFmpeg를 지정했기 때문에. 똑같이 -shortest태그는 매우 깔끔합니다. @ user136036의 답변보다 훨씬 간단합니다.
Kat

3
이것은 모든 것을 다시 인코딩 할 것이며, 아마도 원하는 것이 아닐 것입니다.
mivk


'ffmpeg'는 내부 또는 외부 명령으로 인식되지 않습니다.
UniCoder

PATH에 ffmpeg를 추가해야합니다. wikihow.com/Install-FFmpeg-on-Windows
Arete


1

mencoder를 사용해보십시오 (예 : ffmpeg 기반이지만 알 수 없음). 나는 -audiofile논쟁을 사용한다 . 나는 일반적으로 ffmpeg를 사용하므로 소금 한 덩어리 로이 조언을하십시오.

그리고 Windows를 사용하면 Mediacoder (더 이상 슬프게도 오픈 소스가 아님)가 작동합니다 ... 기본적으로 많은 gnu 인코더와 몇 개의 non-free 인코더의 프론트 엔드입니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.