Bhinish Dhiman
Comment extraire l'audio d'une vidéo en MP3, sans l'envoyer en ligne
Traduit de l’original en anglais. Lire l’original
Déposez la vidéo, vérifiez la durée et la mémoire requise, choisissez un débit (192 kbps par défaut), cliquez sur Extract the MP3 et téléchargez. Le décodage passe par la chaîne audio intégrée du navigateur : il fonctionne donc même dans Firefox sur Android. Les fichiers de plus de 13 minutes environ sont refusés : l'audio décodé en 48 kHz stéréo occupe 384 000 octets par seconde, et le plafond est de 300 Mo. Le MP3 est un réencodage : une certaine perte est inévitable.
On veut le son d’une vidéo pour des raisons ordinaires : une conférence à écouter en marchant, un mémo vocal enregistré sous forme de clip, une chanson tirée d’une vidéo de téléphone pour un autoradio qui ne lit rien de plus récent que le MP3. Le fichier est souvent personnel, et l’envoyer au serveur d’un convertisseur est l’étape dont on se passerait volontiers. Ici, la bande son est décodée et encodée dans l’onglet.
Deux termes
L’extraction audio consiste à décoder la bande son d’un fichier vidéo et à la réencoder en fichier audio autonome. La partie décodage utilise la chaîne audio intégrée du navigateur. La partie encodage exige un encodeur MP3, qu’aucun navigateur n’inclut : la page en télécharge donc un.
La perte de deuxième génération désigne les dégâts supplémentaires subis quand un audio déjà compressé avec un codec avec perte est décodé puis recompressé avec un autre. La bande son d’une vidéo est presque toujours déjà en AAC : un MP3 tiré de celle-ci porte donc les artefacts des deux. Un débit plus élevé les masque ; aucun débit ne les annule.
Extraire un MP3, étape par étape
- Ouvrez Video to MP3 et déposez la vidéo sur le panneau, ou cliquez sur le panneau pour la choisir. Les formats MP4, MOV, WebM et MKV sont acceptés.
- Lisez les trois valeurs qui s’affichent : Length (durée), MP3 out (une estimation du fichier que vous obtiendrez) et Held in memory (la quantité d’audio décodé que le navigateur doit garder en mémoire d’un coup, qui décide si le fichier peut être traité).
- Choisissez un débit sous Bitrate : 128, 192, 256 ou 320 kbps. Chaque choix affiche une note sur son usage.
- Cliquez sur Extract the MP3 (extraire le MP3). Le bouton affiche Decoding… puis Encoding… pendant le traitement.
- Écoutez dans le lecteur qui apparaît, vérifiez Sample rate (fréquence d’échantillonnage) et Channels (canaux), puis cliquez sur le bouton de téléchargement, qui nomme le fichier d’après votre vidéo avec l’extension .mp3. Clear vide le panneau pour le fichier suivant.
Le plafond de 13 minutes, calcul à l’appui
La méthode de décodage utilisée ici produit toute la bande son sous forme d’échantillons non compressés avant que l’encodeur puisse démarrer, et l’audio non compressé est volumineux : quatre octets par échantillon, par canal. La durée est d’abord lue dans l’en-tête du fichier, et la mémoire nécessaire est calculée avant tout décodage, en supposant du 48 kHz stéréo. Cela fait 48 000 × 2 × 4 = 384 000 octets par seconde d’audio. Le plafond est de 300 000 000 octets, et 300 000 000 ÷ 384 000 = 781.25 secondes, soit 13 minutes et 1 seconde.
| Durée | Audio décodé en 48 kHz stéréo | Ce qu’affiche le panneau | Résultat |
|---|---|---|---|
| 1 minute | 23 040 000 octets | Held in memory ≈ 21.97 MB | Extrait |
| 4 minutes | 92 160 000 octets | Held in memory ≈ 87.89 MB | Extrait |
| 10 minutes | 230 400 000 octets | Held in memory ≈ 219.73 MB | Extrait |
| 13 minutes | 299 520 000 octets | Held in memory ≈ 285.64 MB | Extrait, de justesse |
| 20 minutes | 460 800 000 octets | “roughly 0.46 GB of memory held at once” | Refusé |
| 60 minutes | 1 382 400 000 octets | “roughly 1.38 GB of memory held at once” | Refusé |
Le panneau compte un mégaoctet comme 1 024 × 1 024 octets, c’est pourquoi ses valeurs sont un peu inférieures au nombre d’octets divisé par un million. Un fichier refusé n’est pas tenté : il reçoit un message indiquant sa durée, la mémoire qu’il exigerait et la limite. C’est important, car un décodage qui manque de mémoire n’échoue pas poliment. Il fait planter l’onglet, et tout ce qui y est ouvert.
L’estimation suppose du 48 kHz, car c’est ce qu’utilisent l’immense majorité des bandes son vidéo, et parce que c’est l’hypothèse prudente par rapport à l’autre valeur courante. Un morceau de quatre minutes en qualité CD, 44.1 kHz, se décode en réalité en environ 85 Mo ; le panneau affiche la valeur la plus haute pour ne jamais sous-estimer.
Pour un long enregistrement, coupez-le d’abord. Trim video copie un passage sans le réencoder, et un passage de moins de 13 minutes passera. L’article où tombe réellement une coupe par simple copie explique pourquoi le morceau coupé peut commencer un peu avant le point choisi.
Choisir un débit
Le MP3 pèse à peu près la durée en secondes × le débit en kbps ÷ 8, en kilooctets. Pour un fichier de quatre minutes (240 secondes) :
| Débit | L’usage indiqué par l’outil | Estimation en octets | Affiché dans MP3 out |
|---|---|---|---|
| 128 kbps | La voix, les cours, tout ce que vous n’écouterez qu’une fois | 3 840 000 | ≈ 3.66 MB |
| 192 kbps (par défaut) | Assez transparent pour la musique sur la plupart des équipements | 5 760 000 | ≈ 5.49 MB |
| 256 kbps | La musique qui vous tient à cœur, sur un casque qui vous tient à cœur | 7 680 000 | ≈ 7.32 MB |
| 320 kbps | Le plafond du MP3 | 9 600 000 | ≈ 9.16 MB |
À 320 kbps, la perte de deuxième génération est assez bien masquée pour que presque personne ne l’entende ; à 128 kbps, la voix passe très bien et la musique peut la laisser paraître. Si vous voulez la bande son d’origine plutôt qu’un MP3 de celle-ci, la meilleure opération est un changement de conteneur : copier la piste AAC dans un fichier .m4a sans aucun réencodage. Cet outil ne le fait pas. Il existe pour le format que lisent les autoradios et le vieux matériel, ce qui est généralement la raison pour laquelle on demande un MP3.
La valeur Sample rate affichée après l’extraction est la fréquence à laquelle votre navigateur a décodé, c’est-à-dire la fréquence de son propre matériel audio, pas forcément celle du fichier. La chaîne audio du navigateur rééchantillonne au décodage et n’offre aucun moyen de l’éviter par cette méthode : l’outil indique donc la valeur au lieu de laisser croire que l’original a été conservé.
Pourquoi il fonctionne là où d’autres outils vidéo échouent
Les autres outils vidéo de ce site dépendent de WebCodecs, que Firefox sur Android ne prend pas du tout en charge. Cet outil n’en a pas besoin. Il décode avec decodeAudioData de l’API Web Audio, présente dans les navigateurs depuis plus de dix ans, qui confie le travail aux codecs du système d’exploitation : AAC dans un MP4, Opus dans un WebM, MP3, FLAC et Vorbis se décodent tous sans téléchargement supplémentaire.
L’encodage, c’est l’inverse. Le tableau de prise en charge des codecs tenu par MDN, cité dans le code source de l’outil, attribue l’encodage MP3 à 0% des navigateurs, contre 96.5% pour le décodage MP3. La page embarque donc une version WebAssembly de LAME 3.100, d’environ 132 Ko compressée, et ne la télécharge que lorsque vous cliquez sur le bouton. Les principaux brevets du MP3 ont expiré le 23 avril 2017, et c’est ce qui permet de distribuer un encodeur.
Certains fichiers sont refusés d’emblée, avec la raison : AVI (il contient presque toujours du DivX, du Xvid ou du MJPEG, qu’aucun navigateur ne décode), WMV, FLV, les flux de programme MPEG et VOB, MXF, RealMedia, et les flux de transport MPEG, qui doivent d’abord être remultiplexés en MP4. Une vidéo sans bande son reçoit le message This video has no soundtrack (cette vidéo n’a pas de bande son) plutôt qu’une erreur de codec déroutante.
La méthode en ligne de commande
Si ffmpeg est installé, une seule ligne fait le même travail, sans plafond de durée de ce type :
ffmpeg -i input.mp4 -vn -c:a libmp3lame -q:a 2 output.mp3
-vn laisse l’image de côté, et libmp3lame est l’encodeur LAME, celui-là même que cette page télécharge. Ce guide n’indique pas de méthode intégrée sous Windows ou macOS.
| Video to MP3 | Un convertisseur en ligne avec envoi | ffmpeg | |
|---|---|---|---|
| Votre vidéo est envoyée | Jamais | Le fichier entier, avant tout traitement | Jamais |
| Limite de durée | Environ 13 minutes, avec la raison affichée | Un plafond de taille, souvent inexpliqué | Pas de plafond de ce type |
| Votre fichier ensuite | Jamais reçu | Conservé de 1 à 2 heures | Reste sur votre disque |
| Fonctionne sur | Tout navigateur doté de Web Audio, y compris Firefox sur Android | N’importe quel navigateur | Un ordinateur où ffmpeg est installé |
Vérifier que la vidéo n’a pas été envoyée
Ouvrez les outils de développement sur l’onglet Réseau, déposez une vidéo et cliquez sur Extract the MP3. Une requête apparaît à ce moment-là : l’encodeur, d’environ 132 Ko, qui arrive. Une vidéo pèse généralement de nombreux mégaoctets, et aucun envoi de cette taille n’apparaît. Comme l’encodeur arrive au premier clic, faites le test hors ligne dans l’autre sens : extrayez un fichier en étant connecté, puis déconnectez-vous et extrayez-en un autre.
Video to MP3 est gratuit. Pour un extrait qui doit rester animé, Video to GIF fonctionne aussi dans l’onglet, mais il exige un navigateur compatible WebCodecs.