Как извлечь аудио AAC из файла MP4 в M4A

12

Как извлечь аудио aac из файла mp4?

Я попытался с ffmpeg, -acodec copyно если я использую mp4 в качестве вывода, он все равно будет кодировать видео, и я получу тот же размер файла.

Если я использую m4a в качестве вывода, он все равно будет кодировать видео, и я получу почти тот же размер файла.

С выводом aac я не могу открыть файл в puddletag, хотя размер файла предполагает, что видео было удалено

заранее спасибо

Turtlepurple
источник

Ответы:

21

Наконец-то я сам нашел решение, используя mp4 или m4a в качестве выходного формата и добавив -vn, чтобы предотвратить также копирование видео.

ffmpeg -i input.mp4 -vn -c:a copy output.m4a

(Источник: /superuser//a/706622/180675 )

Кажется простым сейчас:]

Быстрая зачистка без потерь

Turtlepurple
источник
3

Другой вариант:

MP4Box -add infile.mp4#audio outfile.m4a

MP4Box является частью пакета gpac.

ʇsәɹoɈ
источник
0

Просто для удовольствия, вы также можете сделать это с помощью vlc. Приведенный ниже скрипт удаляет все файлы * .mp4 в текущем каталоге до * .m4a. Есть некоторые сообщения об ошибках, которые можно игнорировать.

#!/bin/bash

quote=\"  
executable="/usr/bin/vlc"
argument3=vlc://quit

#parameters
accessvalue=file
muxvalue=mp4

for x in *.mp4; do
    inputname="${x}"
    strippedname=${x%.mp4}
    outputname=${strippedname}.m4a
    quote_outputname=${quote}./${outputname}${quote}
    echo ${inputname}
    echo ${quote_outputname}
    qtranscode=#transcode{vcodec=none}: # rm this commnt, cont' nxt line !!
    standard{access=$accessvalue,mux=$muxvalue,dst=${quote_outputname}}
    argument1="$inputname"
    argument2=--sout=$qtranscode
    "$executable" -I dummy "$argument1" "$argument2" "$argument3"
done
oscar1919
источник