Jak wyodrębnić audio AAC z pliku MP4 do m4a

13

Jak mogę wyodrębnić audio AAC z pliku MP4?

Próbowałem z ffmpeg, -acodec copyale jeśli użyję mp4 jako wyjścia, nadal koduje wideo i otrzymuję ten sam rozmiar pliku.

Jeśli użyję m4a jako wyjścia, to jakoś nadal koduje wideo i otrzymuję prawie taki sam rozmiar pliku.

Z aac jako wyjściem nie mogę otworzyć pliku w puddletag, chociaż rozmiar pliku sugeruje, że wideo zostało usunięte

Z góry dziękuję

Turtlepurple
źródło

Odpowiedzi:

23

W końcu sam znalazłem rozwiązanie, używając mp4 lub m4a jako formatu wyjściowego i dodając -vn, aby zapobiec również kopiowaniu wideo.

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

(Źródło: /superuser//a/706622/180675 )

Teraz wydaje się to proste:]

Szybkie i bezstratne zdejmowanie izolacji

Turtlepurple
źródło
3

Inna opcja:

MP4Box -add infile.mp4#audio outfile.m4a

MP4Box jest częścią pakietu gpac.

ɈsәɹoɈ
źródło
0

Dla zabawy możesz to również zrobić za pomocą VLC. Poniższy skrypt usuwa wszystkie pliki * .mp4 w bieżącym katalogu do * .m4a. Istnieje kilka komunikatów o błędach, które można zignorować.

#!/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
źródło