web-dev-qa-db-fra.com

Comment extraire l'audio aac d'un fichier mp4 en m4a

Comment puis-je extraire l'audio aac d'un fichier mp4?

J'ai essayé avec ffmpeg et -acodec copy mais si j'utilise mp4 en sortie, la vidéo sera toujours encodée et le fichier sera de la même taille.

Si j'utilise m4a en sortie, la vidéo restera malgré tout encodée et la taille du fichier sera presque identique.

Avec aac en sortie, je ne peux pas ouvrir le fichier dans puddletag bien que la taille du fichier suggère que la vidéo a été supprimée.

Merci d'avance

12
Turtlepurple

J'ai finalement trouvé la solution moi-même en utilisant mp4 ou m4a comme format de sortie et en ajoutant -vn pour empêcher également la copie de la vidéo.

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

(Source: https://superuser.com/a/706622/180675 )

Cela semble simple maintenant:]

Décapage rapide et sans perte

20
Turtlepurple

Une autre option:

MP4Box -add infile.mp4#audio outfile.m4a

MP4Box fait partie du paquet gpac.

3
ʇsәɹoɈ

Juste pour le plaisir, vous pouvez également le faire en utilisant vlc. Le script ci-dessous supprime tous les fichiers * .mp4 du répertoire actuel en * .m4a. Certains messages d'erreur peuvent être ignorés.

#!/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
0
oscar1919