FFmpeg amerge 필터 - 가장 긴 오디오 스트림으로 계속 진행

FFmpeg amerge 필터 - 가장 긴 오디오 스트림으로 계속 진행

이미 1개의 오디오 스트림이 있는 비디오가 있습니다. m4a비디오에 이미 존재하는 오디오 스트림과 병합하려는 다른 파일이 있습니다 .

파일 m4a은 다른 오디오 스트림보다 약 10초 짧으며,FFmpeg문서:

입력의 지속 시간이 동일하지 않으면 출력은 가장 짧은 것으로 중지됩니다.

하지만 더 긴 오디오 스트림으로 계속 진행하고 싶습니다(그러나 여전히 두 스트림이 하나로 병합되어 있습니다.

가장 짧은 오디오 스트림이 끝나면 오디오를 중지하는 현재 사용 중인 명령은 다음과 같습니다.

ffmpeg -i input.mp4 -i shorteraudio.m4a -filter_complex "[0:v]scale=-2:720,format=yuv420p[v];[0:a]amerge=inputs=2[a]" -map [v] -map [a] output.mp4

단 하나의 FFmpeg 명령으로 내가 하고 싶은 일을 할 수 있나요?

답변1

두 번째 입력의 오디오 스트림이 더 짧은 것으로 알려진 경우 첫 번째 입력이 더 짧아지도록 길이를 채울 수 있습니다.

ffmpeg -i input.mp4 -i shorteraudio.m4a -filter_complex "[0:v]scale=-2:720,format=yuv420p[v];[1:a]apad[a1];[0:a][a1]amerge=inputs=2[a]" -map [v] -map [a] output.mp4

관련 정보