Команда для извлечения аудио из видео без конвертации

25

Я знаю, что flvи mp4файлы содержат aacаудио, в то время как aviвидео обычно mp3аудио потоки.

Какая команда (avconv, ffmpeg) извлекает аудио, не перекодируя его?


источник
Вас может заинтересовать созданный мной PHP-скрипт , который я использую для автоматического определения расширения выходного аудиофайла.
Двойной Гра

Ответы:

29
ffmpeg -i video.mp4 -vn -acodec copy audio.aac

Вот краткое объяснение того, что делает каждый параметр:

  • -i опция указывает входной файл.
  • -vn опция используется, чтобы пропустить видео часть.
  • -acodec copy скопирует аудиопоток, сохраняя оригинальный кодек.
jherran
источник
в то время как видео mp4 содержит аудио aac, а не mp3, это сохраняет аудиопоток без транскодирования?
1
Не позаботился о расширении выходного файла, моя ошибка. Обновил ответ. В любом случае, если вы прочитаете полный ответ, вы найдете копию -acodec, это позволит избежать перекодирования.
Джерран
я предлагаю m4a (контейнер для aac) вместо aac, потому что кажется, что играть нелегко
возможно ли при использовании ffmpeg или avconv иметь команду без упоминания реальных имен файлов ввода-вывода, чтобы эту команду можно было использовать как таковую? (я хотел бы использовать это в действии контекстного меню в файловом менеджере nemo)
1
Возможно, вы захотите использовать переменную или что-то в этом роде, но лучше задать вопрос со всеми конкретными деталями.
Джерран
4

В качестве дополнительного ответа, с командой, которая не нуждается в конкретном имени файла.

Для видео, содержащего звук aac:

ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a

Для использования в команде контекстного меню, такая форма работает:

bash -c 'ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a' %f 

Замените на соответствующий аудиоформат для другого видео формата.


Первоначальный источник здесь .


источник