ffmpeg - заміна аудіо у відео


48

Як замінити аудіо у відеофайлі за допомогою аудіофайлу за допомогою ffmpeg?

Я думаю, що команда виглядає так:

ffmpeg -i v.mp4 -i a.wav -MAGIC video-new.mp4

Це дуже схоже на Як замінити аудіопотік у відеофайлі кількома звуковими потоками? але це питання обробляє декілька аудіозаписів, що дуже ускладнює його, тому стає незрозумілим, якої частини рішення достатньо для простого звукового обміну.

Відповіді:


68

Ви хочете скопіювати відеопотік без перекодування, щоб заощадити багато часу, але повторне кодування аудіо може допомогти запобігти несумісності:

ffmpeg -i v.mp4 -i a.wav -c:v copy -map 0:v:0 -map 1:a:0 new.mp4

-map 0:v:0відображає перший (індексний 0) відеопотік від входу до першого (покажчика 0) відеопотоку у виході.

-map 1:a:0відображає другий (індексний 1) аудіопотік від входу до першого (індексу 0) аудіопотоку у виході.

Якщо звук довший, ніж у відео, вам потрібно буде додати -shortestдо назви вихідного файлу.

Не вказавши аудіокодек, автоматично вибере працюючий. Ви можете вказати його, наприклад, додавши -c:a libvorbisпісля -c:v copy.


2
або безпосередньо -c copyпросто переутворювати аудіо та відео без повторного кодування будь-якого потоку ^^
Франческо Йосі Гоббо

1
Чи знаєте ви, як конвертувати нове звук у тому ж форматі (з тими ж параметрами), що і в оригінальному відео? Я маю на увазі, що мені потрібно, щоб нові аудіо були кодовані так само, як це було в старому аудіо.
Костанос

Працює як шарм !!
Tessaracter

@Kostanos не автоматично, але я хотів би. Будь ласка, задайте інше запитання. Ви можете посилатися на це, щоб уточнити, що ваше нове.
qubodup
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.