J'ai essayé la commande suivante pour extraire l'audio de la vidéo:
ffmpeg -i Sample.avi -vn -ar 44100 -ac 2 -ab 192k -f mp3 Sample.mp3
mais j'obtiens la sortie suivante
libavutil 50.15. 1 / 50.15. 1
libavcodec 52.72. 2 / 52.72. 2
libavformat 52.64. 2 / 52.64. 2
libavdevice 52. 2. 0 / 52. 2. 0
libavfilter 1.19. 0 / 1.19. 0
libswscale 0.11. 0 / 0.11. 0
libpostproc 51. 2. 0 / 51. 2. 0
SamplE.avi: Invalid data found when processing input
Quelqu'un peut-il aider s'il vous plaît?
Pour encoder un MP3 de haute qualité à partir d'une meilleure utilisation AVI -q: a pour un débit binaire variable:
Si vous souhaitez extraire une partie de l'audio d'une vidéo, utilisez l' option -ss pour spécifier l'horodatage de départ et l' option -t pour spécifier la durée d'encodage, par exemple de 3 minutes et 5 secondes pendant 45 secondes:
Les horodatages doivent être au format HH: MM: SS.xxx ou en secondes.
Si vous ne spécifiez pas l' option -t , cela ira à la fin.
Exemple de travail:
la source
-q:a
valeurs: trac.ffmpeg.org/wiki/Encode/MP3 Zero est le paramètre VBR de la plus haute qualité, ce qui se traduit généralement par des débits moyens dans la partie supérieure de la plage CBR saine (où 320 kbit / s est le maximum, probablement un peu au-delà du point où la compression sans perte devient plus appropriée).-map a
-il?-vn
ne fonctionne pas.La ligne de commande est correcte et fonctionne sur un fichier vidéo valide. Je m'assurerais que vous avez installé la bonne bibliothèque pour travailler avec mp3, installez lame o probe avec un autre codec audio.
habituellement
ou
donnerait suffisamment d'informations pour que vous en sachiez plus.
la source
ffmpeg -i sample.avi
vous donnera les informations de format audio / vidéo pour votre fichier. Assurez-vous que les bibliothèques appropriées sont configurées pour analyser les flux d'entrée. Assurez-vous également que le fichier n'est pas corrompu.la source
Pour coder l'audio mp3 ffmpeg.org montre l'exemple suivant:
J'ai extrait l'audio d'une vidéo simplement en le remplaçant
input.wav
par le nom du fichier vidéo. Les2
moyens 190 kb / sec. Vous pouvez voir les autres niveaux de qualité sur mon lien ci-dessus.la source
Voici ce que je viens d'utiliser:
Explication des options:
-map 0:3
signifie que je veux un troisième flux à partir d'un fichier vidéo. Mettez votre N là - les fichiers vidéo ont souvent plusieurs flux audio; vous pouvez l'omettre ou utiliser-map 0:a
pour prendre le flux audio par défaut. Exécutezffprobe my.mkv
pour voir quels flux le fichier vidéo contient.la source
Juste une supposition:
devrait être
Il semble que cela pourrait être un problème, mais peut-être que ffmpeg est assez intelligent pour le corriger.
la source
Si l'audio enveloppé dans l'avi n'est pas au format mp3 pour commencer, vous devrez peut-être spécifier
-acodec mp3
un paramètre supplémentaire. Ou quel que soit votre codec mp3 (sur les systèmes Linux, c'est probablement-acodec libmp3lame
). Vous pouvez également obtenir le même effet, indépendant de la plate-forme, en spécifiant-f mp3
à la place de «forcer» le format au format mp3, bien que toutes les versions de ffmpeg ne prennent toujours pas en charge ce commutateur. Votre kilométrage peut varier.la source
Pour extraire sans conversion, j'utilise une entrée de menu contextuel - en tant qu'action personnalisée du gestionnaire de fichiers sous Linux - pour exécuter ce qui suit (après avoir vérifié le type audio que contient la vidéo; exemple pour une vidéo contenant de l'
ogg
audio):qui est basé sur la commande ffmpeg
ffmpeg -i INPUT -map 0:a -c:a copy OUTPUT
.Je l'ai utilisé
-map 0:1
sans problème, mais, comme l'a dit dans un commentaire de @LordNeckbeard, "Le flux0:1
n'est pas garanti d'être toujours audio. L'utilisation à la-map 0:a
place de-map 0:1
évitera toute ambiguïté."la source
0:1
n'est pas garanti d'être toujours audio. Utiliser à la-map 0:a
place de-map 0:1
évitera toute ambiguïté.mediainfo
de déterminer la piste audio, et je l'ai choisie comme ceci:-map 0:a:1
où a: 1 est le deuxième index de la piste audio, thx!-c:a copy
rendu beaucoup plus rapide!Pour les personnes à la recherche d'un moyen plus simple d'extraire l'audio d'un fichier vidéo tout en conservant les paramètres du fichier vidéo d'origine, vous pouvez utiliser:
Par exemple, exécuter:
extrait un
mp3
fichier audio d'unmov
fichier vidéo.la source
Utilisez
-b:a
au lieu de-ab
comme-ab
est obsolète maintenant, assurez-vous également que le chemin de votre fichier d'entrée est correct.Pour extraire l'audio d'une vidéo, j'ai utilisé la commande ci-dessous et son bon fonctionnement.
Ici,
-y
- Écraser les fichiers de sortie sans demander.-i
- FFmpeg lit à partir d'un nombre arbitraire de «fichiers» d'entrée spécifiés par le-i
option-vn
- Désactiver l'enregistrement vidéo-ar
- définit le taux d'échantillonnage pour les flux audio s'ils sont encodés-ac
- Réglez le nombre de canaux audio.-b:a
- Réglez le débit audio-f
- formatDécouvrez ceci pour mon exemple complet de projet Android FFmpeg sur GitHub.
la source