79 votes

Comment télécharger les vidéos de youtube en mp3 de meilleure qualité audio en utilisant youtube-dl

Je veux télécharger les vidéos de YouTube en fichiers mp3 dans leur meilleure qualité. Le code ci-dessous permet de télécharger les vidéos YouTube en tant que fichiers mp3. m4a mais pas nous mp3

youtube-dl -f bestaudio --audio-quality 0 --audio-format mp3 https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_

pouvez-vous me dire comment utiliser bestaudio paramètre pour télécharger la vidéo YouTube en tant que mp3

120voto

Maythux Points 77506

De man youtube-dl :

-x, --extract-audio                  Convert video files to audio-only files (requires ffmpeg or avconv and ffprobe or avprobe)
    --audio-format FORMAT            Specify audio format: "best", "aac", "vorbis", "mp3", "m4a", "opus", or "wav"; "best" by default
    --audio-quality QUALITY          Specify ffmpeg/avconv audio quality, insert a value between 0 (better) and 9 (worse) for VBR or a specific bitrate like 128K (default

Donc votre commande pourrait être :

youtube-dl -f bestaudio --extract-audio --audio-format mp3 --audio-quality 0 <Video-URL>

El --audio-quality 0 utilise la plus haute qualité d'encodage mais peut augmenter inutilement la taille de votre fichier. La valeur par défaut est 5 et peut être un meilleur choix selon la qualité de la source.

Donc, si la qualité et la taille du fichier sont importantes pour vous, vous devriez éviter le réencodage et rester avec les formats musicaux natifs de Youtube :

youtube-dl -f bestaudio[ext=m4a] --embed-thumbnail --add-metadata <Video-URL>

ce qui donne lieu à un m4a ou

youtube-dl -f bestaudio --extract-audio --embed-thumbnail --add-metadata <Video-URL>

entraînant probablement une ogg fichier.

Vous pouvez énumérer le format disponible avec

youtube-dl -F <Video-URL>

14voto

Luis Gneiting Points 141

Si vous ne voulez que le fichier mp3 :

youtube-dl -f bestaudio  "https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_" --exec "ffmpeg -i {}  -codec:a libmp3lame -qscale:a 0 {}.mp3 && rm {} "

Si vous ne voulez pas supprimer le fichier original :

youtube-dl -f bestaudio  "https://www.youtube.com/playlist?list=PLYRruMbyFRcBVdVN8v4FNkIKkXvL-bZn_" --exec "ffmpeg -i {}  -codec:a libmp3lame -qscale:a 0 {}.mp3 "

8voto

RogierSchouten Points 31

Je recommande d'utiliser Pafy (Python), très facile à obtenir le lien audio, et vous pouvez télécharger directement si vous voulez :

  • https://pypi.Python.org/pypi/pafy
  • http://pythonhosted.org/pafy/

    python3

    import pafy video = pafy.new('video id or video url') bestaudio = video.getbestaudio() bestaudio.bitrate #get bit rate bestaudio.extension #extension of audio fileurl ... bestaudio.url #get url ...

    download if you want

    bestaudio.download()

5voto

Wilf Points 28034

Il convient également de noter d'autres pièces hors de man youtube-dl (une copie en ligne peut être trouvée aquí ) :

(Pour ceux qui pensent TL;DR, lisez simplement le 4ème paragraphe, et vous pouvez utiliser youtube-dl -x URL car il devrait télécharger la meilleure qualité de toute façon :)

Aussi youtube-dl -f bestaudio URL fonctionne dans mon expérience ! Cependant, avec ces deux options, la plupart du temps, vous devrez convertir en MP3 en utilisant les méthodes suivantes ffmpeg ou similaire - puisque vous êtes déjà en train d'éditer le fichier, vous pouvez également l'étiqueter (utilisez l'ancienne version ID3 pour une meilleure compatibilité avec les appareils !)

SÉLECTION DU FORMAT

Par défaut, youtube-dl essaie de télécharger la meilleure qualité, mais parfois vous pouvez vouloir télécharger un autre format. Le cas le plus simple est de demander un format spécifique, par exemple -f 22 . Vous pouvez obtenir la liste des formats disponibles en utilisant --list-formats Vous pouvez également utiliser une extension de fichier (actuellement, il prend en charge aac, m4a, mp3, mp4, ogg, wav, webm) ou les noms spéciaux best, bestvideo, bestaudio et worst.

Si vous souhaitez télécharger plusieurs vidéos et qu'elles n'ont pas les mêmes formats disponibles, vous pouvez spécifier l'ordre de préférence en utilisant des barres obliques, comme dans le cas suivant -f 22/17/18 . Vous pouvez également filtrer les résultats de la vidéo en mettant une condition entre parenthèses, comme dans le cas suivant -f "best[height=720]" (ou -f "[filesize>10M]" ). Cela fonctionne pour filesize, height, width, tbr, abr, vbr, asr, et fps et les comparaisons <, <=, >, >=, =, != et pour ext, codec, vcodec, container, et protocol et les comparaisons =, != . Les formats pour lesquels la valeur n'est pas connue sont exclus sauf si vous mettez un point d'interrogation ( ?) après l'opérateur. Vous pouvez combiner les filtres de format, ainsi -f "[height <=? 720][tbr>500]" sélectionne des vidéos jusqu'à 720p (ou des vidéos dont la hauteur n'est pas connue) avec un débit binaire d'au moins 500 KBit/s.

Utilisez des virgules pour télécharger plusieurs formats, par exemple -f 136/137/mp4/bestvideo,140/m4a/bestaudio. Vous pouvez fusionner la vidéo et audio de deux formats en un seul fichier en utilisant -f <video-format>+<audio-format> (nécessite ffmpeg ou avconv), par exemple -f bestvideo+bestaudio.

Depuis fin avril 2015 et la version 2015.04.26 youtube-dl utilise -f bestvideo+bestaudio/best comme sélection de format par défaut (voir #5447, #5456). Si ffmpeg ou avconv sont installés, le résultat est de télécharger bestvideo et bestaudio séparément et de les muxer ensemble en un seul fichier donnant la meilleure qualité globale disponible. Sinon, il se rabat sur best et résulte en un téléchargement de la meilleure qualité disponible servie dans un seul fichier. best est également nécessaire pour les vidéos qui ne proviennent pas de YouTube car ils ne fournissent pas l'audio et la vidéo dans deux fichiers différents. Si vous souhaitez ne télécharger que certains formats de tirets (par exemple si vous n'êtes pas intéressé par l'obtention de vidéos avec une résolution supérieure à 1080p), vous pouvez ajouter -f bestvideo[height<=?1080]+bestaudio/best à votre fichier de configuration. Notez que si vous utilisez youtube-dl pour diffuser un flux vers la sortie (et très probablement vers votre lecteur multimédia), c'est-à-dire si vous spécifiez explicitement le modèle de sortie en tant que -o - youtube-dl utilise toujours -f best afin de commencer la diffusion du contenu immédiatement sur votre lecteur et ne pas attendre que bestvideo et bestaudio soient téléchargés et muxés.

Si vous voulez préserver l'ancien comportement de sélection de format (avant youtube-dl 2015.04.26), c'est-à-dire que vous voulez télécharger la meilleure qualité de média disponible servie en tant que fichier unique, vous devez explicitement spécifier votre choix de format. qualité disponible servis en tant que fichier unique, vous devez spécifier explicitement votre choix avec la commande -f best . Vous pouvez l'ajouter au fichier de configuration (#configuration) afin de ne pas avoir à le taper à chaque fois que vous lancez youtube-dl.

...

Pouvez-vous remettre l'option -b ?

La plupart des personnes qui posent cette question ne savent pas que youtube-dl télécharge maintenant par défaut la plus haute qualité disponible telle que signalée par YouTube, qui sera 1080p ou 720p dans certains cas, de sorte que vous n'avez plus besoin de l'option -b. Pour certaines vidéos spécifiques, il se peut que YouTube ne signale pas qu'elles sont disponibles dans un format de haute qualité spécifique qui vous intéresse. Dans ce cas, il suffit de le demander avec l'option -f et youtube-dl essaiera de le télécharger.

Youtube (probablement tel qu'il est supposée pour être un site de lecture de vidéos) compresse aussi apparemment l'audio (voir aquí ) jusqu'à 120~KBs, ce qui est assez bas mais semble correct pour la plupart.

Pour comparer les vidéos téléchargées, vous pouvez interroger les pistes vidéo/audio téléchargées (vous devrez peut-être utiliser la fonction avprobe au lieu de ffprobe ) pour voir lequel est le meilleur :

$ ffprobe -hide_banner output-output-loads-of-options.webm
Input #0, matroska,webm, from 'output-output-loads-of-options.webm':
  Metadata:
    encoder         : google
  Duration: 00:04:02.63, start: 0.000000, bitrate: 118 kb/s
    Stream #0:0(eng): Audio: vorbis, 44100 Hz, stereo, fltp (default)
$ ffprobe -hide_banner output_with_just_-x.ogg 

Input #0, ogg, from 'output_with_just_-x':
  Duration: 00:04:02.65, start: 0.000000, bitrate: 117 kb/s
    Stream #0:0(eng): Audio: vorbis, 44100 Hz, stereo, fltp, 128 kb/s
    Metadata:
      LANGUAGE        : eng
      ENCODER         : Lavf56.4.101

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X