요구 사항
미리 정의된 중첩 시간을 사용하여 두 개의 오디오 파일을 연결하고 싶습니다.
예를 들어 10초 중첩이 정의되면 첫 번째 오디오의 끝 10초와 두 번째 오디오의 시작 10초가 출력에서 중첩됩니다.
|<---- 1st mp3 file --------------------> |
| <-----------2nd mp3 file ------------->|
result:
|<-----------------------(overlap 10 sec )--------------------->|
답변1
사용
ffprobe
지속시간을 얻기 위해첫 번째 mp3 파일.ffmpeg
다음을 사용하여 실행지연오디오를 지연시키려면혼합두 개의 오디오 스트림을 하나로 혼합하려면 다음을 수행하십시오.ffmpeg -i 1.mp3 -i 2.mp3 -filter_complex "[1]adelay=Ns|Ns[a1];[0:a][a1]amix=inputs=2[a]" -map "[a]" output.mp3
Ns
=1.mp3 duration
-overlap duration
. 예를 들어1.mp3
길이가 30초이고 10초 오버레이를 원하는 경우 를 사용합니다20s|20s
.이것은
2.mp3
스테레오라고 가정합니다.버전 4.2보다 오래된 경우
ffmpeg
처럼 adelay에 초 대신 밀리초를 사용하세요20000|20000
.-map "[a]"
ffmpeg
임의로 레이블이 지정된 amix의 출력을 사용하도록 지시합니다[a]
. 그렇지 않으면,기본 스트림 선택 동작사용하게 될 것이다. 괜찮고 의미를 이해하고 있다면 레이블 및-map
(예...amix=inputs=2" output.mp3
: )을 생략해도 됩니다. 또한 참조하십시오-map
선적 서류 비치.