Comment sélectionner la qualité vidéo de youtube-dl?


255

J'ai installé YouTube-dl dans mon 14.04.

Je peux télécharger la vidéo en suivant la commande,

$ youtube-dl [youtube-link]

Mais je veux savoir comment sélectionner la qualité de pixel disponible de la vidéo youtube ( 1080p, 720p, 480p, etc. ) .

Dans la description du logiciel, ils ont dit que c'était possible (voir l'image ci-dessous), mais comment faire ..

ss


1
La description ci-dessus est obsolète. Dans la manpage: "YouTube-dl utilise désormais par défaut le téléchargement de la meilleure qualité disponible, telle que signalée par YouTube, qui sera 1080p ou 720p dans certains cas."
Jos

1
Notez que YouTube a utilisé une sorte de protection qui empêche les outils de téléchargement de télécharger (ou même de voir) la version 1080p, mais vous pouvez toujours télécharger toutes les autres résolutions, y compris 720p.
thomasrutter

Je sais que je suis un peu en retard à la fête, mais voici mon expérience: askubuntu.com/a/1097056/327339 . Utilisez l' -f bestoption.
Gabriel Staples

Réponses:


360

Pour télécharger une vidéo, vous tapez l'URL après la commande comme suit:

youtube-dl 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

Pour sélectionner la qualité de la vidéo , utilisez d’abord l’ -Foption pour lister les formats disponibles, voici un exemple,

youtube-dl -F 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

Voici la sortie:

[youtube] Setting language
[youtube] P9pzm5b6FFY: Downloading webpage
[youtube] P9pzm5b6FFY: Downloading video info webpage
[youtube] P9pzm5b6FFY: Extracting video information
[info] Available formats for P9pzm5b6FFY:
format code extension resolution  note 
140         m4a       audio only  DASH audio , audio@128k (worst)
160         mp4       144p        DASH video , video only
133         mp4       240p        DASH video , video only
134         mp4       360p        DASH video , video only
135         mp4       480p        DASH video , video only
136         mp4       720p        DASH video , video only
17          3gp       176x144     
36          3gp       320x240     
5           flv       400x240     
43          webm      640x360     
18          mp4       640x360     
22          mp4       1280x720    (best)

La meilleure qualité est de 22 alors utilisez -f 22plutôt que de -Ftélécharger la vidéo MP4 avec une résolution de 1280x720 comme ceci:

youtube-dl -f 22 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

Ou utilisez éventuellement les indicateurs suivants pour télécharger automatiquement les meilleures pistes audio et vidéo disponibles en tant que fichier unique:

youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

Si vous rencontrez une erreur lors du processus de multiplexage ou un problème avec la sélection de la qualité vidéo, vous pouvez utiliser l'une des commandes suivantes:

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

ou comme Gabriel Staples l'a souligné ici , la commande suivante sélectionne généralement la meilleure résolution de qualité vidéo d'un fichier à la place du débit binaire de la qualité vidéo:

youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'

Ces commandes vous permettront de télécharger la vidéo de la meilleure qualité mp4 et l’audio m4a à partir de la vidéo sous forme de fichier unique ou de les fusionner en un seul mp4 (en l’utilisant ffmpegdans mon cas). Si ffmpegou avconvn'est pas disponible, youtube-dldevrait revenir au fichier unique au -f best optionlieu du fichier par défaut.

Cliquez ici pour des informations plus détaillées et quelques exemples.

Cliquez également sur cette réponse associée de Gabriel Staples.


Source: www.webupd8.org/2014/02/video-downloader-youtube-dl-gets.html

Source: github.com/rg3/youtube-dl


5
Assurez-vous que vous ne choisissez pas DASH. Ce sera injouable!
ps95

@ prakharsingh95 seul l'audio DASH peut être converti au format standard wave ou mp3 à l'aide de gnac ou d'un logiciel similaire.
mardi

1
Je voulais dire DASH Video. J'ai essayé de télécharger 4K, mais tout est au DASHformat ( DASHpermet à YouTube de préserver la bande passante). C'est radicalement différent, il sera surtout injouable.
ps95

1
@ prakharsingh95 Oui, vous pouvez peut-être visualiser le mp4 à l'aide de VLC, car VLC vous permet de synchroniser la vidéo avec un fichier séparé pour l'audio. Je n'ai pas essayé cependant. Avez-vous essayé de convertir le fichier mp4 du téléchargement DASH au format avi? Je pense qu'ils sont similaires.
mardi

2
Oui. Dash est bien sûr jouable, mais vous devez mélanger les flux avec quelque chose comme avconv. Trop lent pour 4K.
ps95

110

Vous pouvez télécharger 1080p en utilisant youtube-dl, mais vous devez faire un petit travail supplémentaire. Habituellement, il ne téléchargera que 720p maximum, même si vous pouvez voir 1080p sur youtube.com.

Courez avec -Fpour voir les formats disponibles:

youtube-dl -F https://www.youtube.com/watch\?v\=-pxRXP3w-sQ

171         webm      audio only  DASH audio  115k , audio@128k (44100Hz), 2.59MiB (worst)
140         m4a       audio only  DASH audio  129k , audio@128k (44100Hz), 3.02MiB
141         m4a       audio only  DASH audio  255k , audio@256k (44100Hz), 5.99MiB
160         mp4       256x144     DASH video  111k , 12fps, video only, 2.56MiB
247         webm      1280x720    DASH video 1807k , 1fps, video only, 23.48MiB
136         mp4       1280x720    DASH video 2236k , 24fps, video only, 27.73MiB
248         webm      1920x1080   DASH video 3993k , 1fps, video only, 42.04MiB
137         mp4       1920x1080   DASH video 4141k , 24fps, video only, 60.28MiB
43          webm      640x360
18          mp4       640x360
22          mp4       1280x720    (best)

remarquez que youtube-dlla dernière option 1280x720 est étiquetée comme étant la "meilleure" qualité et que c'est ce qui sera téléchargé par défaut, mais que la ligne commençant par 137 correspond en réalité à une qualité supérieure 1920x1080. Youtube a séparé les flux vidéo et audio des lignes intitulées DASH. Nous devons donc également sélectionner le son de la plus haute qualité, qui dans ce cas correspond à la ligne commençant par 141. Ensuite, nous exécutons à youtube-dlnouveau cette fois en spécifiant l'audio et la vidéo:

youtube-dl -f 137+141 https://www.youtube.com/watch\?v\=-pxRXP3w-sQ

et il téléchargera la vidéo 1080p et la fusionnera automatiquement avec l'audio de la plus haute qualité. Il convient également de supprimer automatiquement les différentes parties téléchargées. Cette méthode demande un peu plus de travail mais vous donnera les meilleurs résultats.


11
merci beaucoup, ne savait pas environ 137 + 141
whitesiroi

3
Votre exemple et d’autres offrent des choix faciles pour l’audio - c’est-à-dire que, pour une qualité optimale, choisissez celui dont la valeur de bitrate est la plus élevée. Je me suis toutefois récemment trouvé confronté à un choix entre DASH audio , opus @160kou DASH audio 126k , audio@128k (44100Hz), 1.79MiBou DASH audio 127k , m4a_dash container, aac @128k (44100Hz), 1.94MiB. Je devais choisir mais je ne suis pas sûr de la qualité, ni peut-être de la compatibilité.
user643722

1
La meilleure chose à propos de YouTube-dl est qu'il est multi-plateforme. Cette solution ne fonctionne pas uniquement sous Linux, mais également sous Mac et Windows. Je vous remercie!
Antony

2
De nos jours, c'est la valeur par défaut, mais uniquement si vous avez installé avconv (libav) ou ffmpeg pour effectuer la conversion de fichier. Pour Windows, vous souhaitez définir --ffmpeg-locationdans %APPDATA%\youtube-dl\config.txtle répertoire où avconv / ffmpeg est installé. Si vous avez un système bas de gamme que vous voudrez peut-être -f bestvideo[fps<=30]+bestaudioaussi, éviter la vidéo à 60 images par seconde.
GreenReaper

29

Pour sélectionner des résolutions spécifiques, vous pouvez spécifier la taille et la qualité audio afin qu'elles soient sélectionnées automatiquement. Pour 480p :

-f 'bestvideo[height<=480]+bestaudio/best[height<=480]'

avec bestvideo[height<=720]+bestaudio/best[height<=720]pour 720p, etc. Cela peut être ajouté au fichier de configuration à ~/.config/youtube-dl/config(ou même /etc/youtube-dl.conf) pour ne pas obtenir de téléchargements trop volumineux:

mkdir ~/.config/youtube-dl
echo "-f 'bestvideo[height<=720]+bestaudio/best[height<=720]'" >> ~/.config/youtube-dl/config

Vous pouvez utiliser --ignore-configsi vous souhaitez désactiver le fichier de configuration pour une exécution particulière de youtube-dl.

Veuillez noter que assez souvent, il devra télécharger une vidéo et un fichier audio séparés et les fusionner.

Pour plus d'exemples, reportez-vous à youtube-dlla section .


1
J'ai eu un problème où différents segments de la même vidéo avaient des codes de format différents pour la même résolution (par exemple, hls-1476 pour la vidéo 1 sur 2 et hls-1665 pour la vidéo 2 sur 2 où les deux étaient 540p) alors je ne pouvais pas simplement utiliser "-f hls-1476" ou "-f hls-1665" ou j'aurais "ERREUR: format demandé non disponible" Vos exemples de commandes m'ont aidé à récupérer ce que je voulais.
ssnobody

1
+1 pour~/.config/youtube-dl/config
Marinos Un

10

Certaines des autres options permettant de télécharger les vidéos de meilleure qualité autres que celles mentionnées ici, selon votre convenance, sont indiquées ci-dessous:

Télécharger le meilleur format mp4 disponible ou tout autre meilleur si aucun mp4 disponible

$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'

Téléchargez le meilleur format disponible mais pas mieux que 480p

$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'

Téléchargez le meilleur format vidéo, mais pas plus de 50 Mo

$ youtube-dl -f 'best[filesize<50M]'

Téléchargez le meilleur format disponible via un lien direct via le protocole HTTP / HTTPS

$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'

Référence:

Directement à partir de la page youtube-dl github


Comment combiner ext=mp4 && height<=480 && filesize<50M?
mrgloom

6

Un script d’encapsuleur bash qui vous invite à indiquer le format, qui inclut tous les rendus disponibles, y compris les enregistrements uniquement audio et vidéo uniquement, puis diffuse le flux vidéo / audio avec mpv.

Accepte les URL absolues youtube et les identifiants vidéo.

#!/ usr/bin/env bash
# Download youtube video with desired quality

# youtube-dl accepts both fully qualified URLs and video id's such as AQcQgfvfF1M

url="$*"

echo "Fetching available formats for $url..."
youtube-dl -F "$url"
read -p "Please enter the desired quality code: " FORMAT

echo "Streaming with quality $FORMAT..."
mpv --cache=1024 $(youtube-dl -f $FORMAT -g "$url")

Exemple de sortie :

    yt.sh https://m.youtube.com/watch?v=Dax_tnZRExc
    [youtube] Dax_tnZRExc: Downloading webpage
    [youtube] Dax_tnZRExc: Downloading video info webpage
    [youtube] Dax_tnZRExc: Extracting video information
    [youtube] Dax_tnZRExc: Downloading MPD manifest
    [info] Available formats for Dax_tnZRExc:
    format code  extension  resolution note
    139          m4a        audio only DASH audio   49k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 308.75KiB
    249          webm       audio only DASH audio   50k , opus @ 50k, 271.91KiB
    250          webm       audio only DASH audio   70k , opus @ 70k, 366.63KiB
    171          webm       audio only DASH audio  118k , vorbis@128k, 652.50KiB
    140          m4a        audio only DASH audio  127k , m4a_dash container, mp4a.40.2@128k (44100Hz), 820.00KiB
    251          webm       audio only DASH audio  130k , opus @160k, 705.84KiB
    160          mp4        256x144    DASH video  109k , avc1.4d400c, 13fps, video only, 703.64KiB
    278          webm       256x144    144p  111k , webm container, vp9, 25fps, video only, 439.72KiB
    242          webm       426x240    240p  243k , vp9, 25fps, video only, 623.95KiB
    133          mp4        426x240    DASH video  252k , avc1.4d4015, 25fps, video only, 1.54MiB
    134          mp4        640x360    DASH video  388k , avc1.4d401e, 25fps, video only, 1.24MiB
    243          webm       640x360    360p  458k , vp9, 25fps, video only, 1.19MiB
    135          mp4        854x480    DASH video  761k , avc1.4d401e, 25fps, video only, 2.40MiB
    244          webm       854x480    480p  893k , vp9, 25fps, video only, 2.00MiB
    136          mp4        1280x720   DASH video 1382k , avc1.4d401f, 25fps, video only, 4.56MiB
    247          webm       1280x720   720p 1754k , vp9, 25fps, video only, 3.94MiB
    137          mp4        1920x1080  DASH video 2350k , avc1.640028, 25fps, video only, 8.48MiB
    248          webm       1920x1080  1080p 2792k , vp9, 25fps, video only, 8.09MiB
    17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k
    36           3gp        320x180    small , mp4v.20.3, mp4a.40.2
    43           webm       640x360    medium , vp8.0, vorbis@128k
    18           mp4        640x360    medium , avc1.42001E, mp4a.40.2@ 96k
    22           mp4        1280x720   hd720 , avc1.64001F, mp4a.40.2@192k (best)
    Please enter the desired format #

Si vous souhaitez télécharger la vidéo plutôt que de la diffuser, supprimez simplement la mpv --cache=1024partie et le signe dollar entre parenthèses.


2

Comment obtenir la meilleure qualité vidéo disponible.

Cette réponse, avec le plus grand nombre de votes, devrait être juste pour vous donner la meilleure qualité vidéo disponible, mais ... ce n’est pas le cas. bestvideo+bestaudiosemble ne choisir que la meilleure vidéo et le meilleur audio parmi les options vidéo et audio uniquement , puis il fusionne les deux. Notez que cela semble également être identique au comportement par défaut de youtube-dl. Cependant, sur la vidéo que je regardais, la meilleure qualité était un seul fichier pré-fusionné qui était déjà dans un format combinant vidéo et audio. L' bestvideo+bestaudiooption n'a PAS choisi ce fichier 720p de meilleure qualité car elle recherchait uniquement des fichiers vidéo et audio séparés . Détails ci-dessous.

Solution? Demandez-lui de récupérer le meilleur fichier contenant à la fois vidéo et audio, avec ceci:

youtube-dl -f best https://youtu.be/FWGC9SqA3J0

En bref: utilisez l' -f bestoption, PAS l' -f bestvideo+bestaudiooption!

Preuve:

entrez la description de l'image ici

Plus spécifiquement, voir ci-dessous les résultats de l'exécution

youtube-dl -F https://youtu.be/FWGC9SqA3J0

pour voir quelle vidéo sont disponibles au téléchargement:

gabriel ~ $ youtube-dl -F https://youtu.be/FWGC9SqA3J0
[youtube] FWGC9SqA3J0: Downloading webpage
[youtube] FWGC9SqA3J0: Downloading video info webpage
[youtube] FWGC9SqA3J0: Downloading MPD manifest
[youtube] FWGC9SqA3J0: Downloading MPD manifest
[info] Available formats for FWGC9SqA3J0:
format code  extension  resolution note
139          m4a        audio only DASH audio   50k , m4a_dash container, mp4a.40.5@ 48k (22050Hz), 2.30MiB
249          webm       audio only DASH audio   51k , opus @ 50k, 2.34MiB
250          webm       audio only DASH audio   62k , opus @ 70k, 2.85MiB
171          webm       audio only DASH audio  103k , vorbis@128k, 4.68MiB
251          webm       audio only DASH audio  109k , opus @160k, 5.10MiB
140          m4a        audio only DASH audio  130k , m4a_dash container, mp4a.40.2@128k (44100Hz), 6.13MiB
160          mp4        256x138    DASH video  108k , mp4_dash container, avc1.4d400b, 24fps, video only
134          mp4        640x348    DASH video  142k , mp4_dash container, avc1.4d401e, 24fps, video only, 3.42MiB
133          mp4        426x232    DASH video  242k , mp4_dash container, avc1.4d400c, 24fps, video only
136          mp4        1280x694   DASH video  473k , mp4_dash container, avc1.4d401f, 24fps, video only, 8.01MiB
135          mp4        854x464    DASH video 1155k , mp4_dash container, avc1.4d4014, 24fps, video only
17           3gp        176x144    small , mp4v.20.3, mp4a.40.2@ 24k, 1.63MiB
36           3gp        320x174    small , mp4v.20.3, mp4a.40.2, 2.98MiB
43           webm       640x360    medium , vp8.0, vorbis@128k, 7.44MiB
18           mp4        640x348    medium , avc1.42001E, mp4a.40.2@ 96k, 8.54MiB
22           mp4        1280x694   hd720 , avc1.64001F, mp4a.40.2@192k (best) 

Notez que la rangée 22 indique «(le meilleur)» à l'extrême droite de celle-ci. C’est la seule option offrant la qualité HD 720, qui est la meilleure que je puisse obtenir lorsque je regarde cette vidéo dans un navigateur Web sur YouTube. C'est la plus claire et la meilleure définition. Lorsque j'utilise l'une des commandes recommandées par la réponse du haut:

youtube-dl -f bestvideo+bestaudio https://youtu.be/FWGC9SqA3J0

OU:

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 https://youtu.be/FWGC9SqA3J0

Je me retrouve avec une vidéo de qualité / résolution inférieure et de taille de fichier supérieure. Je ne le comprends pas exactement, mais cette -f bestoption est certainement la seule qui me donne vraiment la meilleure résolution.

Voici quelques captures d'écran:

  1. En utilisant l' option de qualité inférieure -f bestvideo+bestaudio acceptée ici comme étant la bonne réponse (OU en utilisant simplement l'option par défaut:) youtube-dl https://youtu.be/FWGC9SqA3J0:

    • entrez la description de l'image ici
    • Remarquez à quel point les icônes sont floues en haut, et combien il est difficile de lire la fenêtre ouverte et ses minuscules mots!
    • C'est nettement pire que la qualité que j'obtiens lorsque je regarde en ligne sur YouTube directement dans le navigateur.
    • Cette option utilise également plus de mémoire pour une raison quelconque: la vidéo fait 18,0 Mo, et le téléchargement et la recomposition (audio + vidéo) de mon système ont pris plus de temps que l' -f bestoption ci-dessous, qui ne nécessitait qu'un téléchargement et aucune recombinaison. puisqu'il s'agissait déjà d'un fichier.
  2. En utilisant l' option de qualité supérieure -f best que je recommande:

    • entrez la description de l'image ici
    • Remarquez à quel point les petites icônes en haut et les petites polices dans la fenêtre sont plus claires!
    • C'est la résolution identique à celle que j'obtiens lorsque je regarde dans la plus haute résolution possible directement dans le navigateur de YouTube.
    • Cette option utilise également moins de mémoire pour une raison quelconque: la vidéo mesure 14,8 Mo.

Lecture supplémentaire:

Voir man youtube-dlpour plus de détails.


1
bizarre que je voie des listes pour les options 1920x1080, mais l’option 1280x720 (hd720) dit toujours "le mieux"
nmz787

Toutes vos captures d'écran montrent des éléments électroniques.
localhost

@localhost, c'est vrai. Ce sont toutes des captures d'écran de l'URL de la vidéo que vous voyez dans tous mes extraits de code tout au long du message: youtu.be/FWGC9SqA3J0 .
Gabriel Staples

@ GabrielStaples Aah. Oui, c'est logique. Désolé pour ça.
localhost

N'est-il pas étrange que le nombre le plus élevé sur le côté gauche ne correspond pas à la plus grande quantité de pixels à l'écran dans votre exemple de code des formats disponibles?
Ben le

0

Je suis un écran de disque, donc je télécharger des vidéos de format 1280 x 720,
parce que des 4kvidéos prend plus de taille de mon disque dur.
Alors j'ajoute youtube-dldans ~ /. fichier bashrc comme indiqué ci-dessous

Définir un travail -

terminal ouvert et tapez

  • nano ~/.bashrc
    maintenant aller tout en bas du fichier et ajouter la commande ci-dessous
  • alias yt='youtube-dl -if best'
  • sauvegarder le fichier en appuyant sur Ctrl opuis surEnter
  • quitter le fichier en appuyant sur Ctrl x
  • et dernière commande source ~/.bashrcen terminal

Expérience -

Ouvrez le terminal et tapez
yt https://www.youtube.com/watch?v=puPUJlV1-W4
Il commencera à télécharger la vidéo avec la meilleure qualité.

Explication -
Bash permet de définir des alias qui agissent comme des raccourcis pour bash commandes
dans notre cas , nous définissons alias comme -
alias yt = « youtube-dl -i f mieux »
yt est la commande de raccourci pour « youtube-dl » qui donne du relief
nos doigts pour taper longue commande.
Vous pouvez écrire n'importe quoi à la place d' Yt .
Je mets un drapeau -i dans lequel signifieyoutube-dl -if best

Continuer sur les erreurs de téléchargement, par exemple pour ignorer les vidéos non disponibles dans une liste de lecture.


En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.