Jak dołączyć pliki audio różnych formatów w ffmpeg

3

Próbuję dołączyć wiele plików audio w ffmpeg. Używam następującego polecenia:

 ffmpeg -f concat -i myfile.txt -c copy output.mp3

Gdzie myfile.txtzawiera ścieżki plików audio. Jestem w stanie dołączyć do dźwięku MP3, ale czy można połączyć dźwięk innego formatu (np. Avi, wav, m4a itp.)?

Amit Chandra
źródło
Z dokumentacji demuxera konkat : „Wszystkie pliki wejściowe muszą mieć te same strumienie (te same kodeki, ta sama podstawa czasu itp.”).
llogan
@Amit Chandra - prawdopodobnie masz na myśli „dołącz”, a nie „scal”? Join położyłby je jeden po drugim. Scalenie „miksuje” strumienie razem. Co dokładnie chcesz osiągnąć?
Rajib
@Rajib Chcę dołączyć do audios. Jak mogę to osiągnąć?
Amit Chandra,
Jak wyjaśnia @LordNeckbeard, będziesz musiał transkodować i używać concat filterzamiast demuxera, jeśli twoje wejścia mają różne kodeki.
Rajib

Odpowiedzi:

4

Użyj tego:

ffmpeg -i input1.wav -i input2.mp3 -i input3.aac -filter_complex 'concat=n=3:v=0:a=1[a]' -map '[a]' <encoding options> output.mp3

Tutaj przesyłamy do formatu mp3 z 3 różnych wejść kodeków audio. Będziesz musiał wprowadzić parametry kodowania mp3. Zakładam, że twoje pliki wejściowe są tylko dźwiękiem.

Dobre parametry dla mp3 mogą wynosić 256 kb / s. Następnie użyj tego:

-codec:a libmp3lame -b:a 256k

Ale jest to uważane za marnotrawstwo w przypadku mp3 i możesz zamiast tego użyć: -q:a 3

Zobacz to i także to .

Rajib
źródło
Jesteś moim bohaterem! Wielkie dzięki!
knagode