Je sais que flv
et mp4
les fichiers contiennent aac
audio, tandis que avi
vidéo généralement mp3
flux audio.
Quelle commande (avconv, ffmpeg) extraire laudio sans le transcoder?
Commentaires
- Cela pourrait vous intéresser un script PHP que jai conçu, que jutilise pour déterminer automatiquement lextension du fichier audio de sortie.
Réponse
ffmpeg -i video.mp4 -vn -acodec copy audio.aac
Voici une brève explication sur ce que fait chaque paramètre:
-
-i
spécifie le fichier dentrée. -
-vn
est utilisée pour ignorer la partie vidéo. -
-acodec copy
copiera le flux audio en conservant le codec dorigine.
Comme nts
- alors que la vidéo mp4 contient de laudio AAC, pas du mp3, est-ce que cela permet de conserver le flux audio sans transcodage?
- Didn ' t prendre soin de lextension du fichier de sortie, mon erreur. Mise à jour de la réponse. Quoi quil en soit, si vous lisez la réponse complète, vous trouverez que la copie -acodec, cela évite le transcodage.
- Je suggère m4a (conteneur pour aac) au lieu de aac, car il semble que ce nest pas facile à jouer
- est-il possible, en utilisant ffmpeg ou avconv, davoir une commande sans mentionner les vrais noms des fichiers dentrée / sortie, pour que la commande soit utilisée comme telle? (je voudrais utiliser cela dans une action de menu contextuel dans le gestionnaire de fichiers nemo)
- Vous voudrez peut-être utiliser une variable ou quelque chose comme ça, mais il vaut mieux que vous posiez une question avec tous les détails spécifiques.
Réponse
Comme réponse complémentaire, avec une commande qui na pas besoin du nom spécifique du fichier.
Pour une vidéo contenant de laudio aac:
ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a
À utiliser dans une commande de menu contextuel, un formulaire comme celui-ci fonctionne:
bash -c "ffmpeg -i "$0" -map 0:1 -c:a copy "${0%%.*}".m4a" %f
Remplacez par la sortie de format audio correspondant pour une autre entrée de format vidéo.
Source initiale ici .