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


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 sur youtube (c'est-à-dire 1080p, 720p, 480p, etc.).

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

ss


182
2018-06-21 10:03


origine


La description ci-dessus est obsolète. Du man page: "youtube-dl télécharge maintenant par défaut la qualité disponible la plus élevée signalée par YouTube, qui sera 1080p ou 720p dans certains cas." - Jos
Notez que YouTube a employé 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 jusqu'à 720p inclus. - thomasrutter


Réponses:


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

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

Pour sélectionner la qualité vidéo, utilisez d'abord le -F option pour lister les formats disponibles, voici un exemple,

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

Voici le résultat:

[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 22 donc utiliser -f 22 au lieu de -F pour té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 éventuellement, utilisez les indicateurs suivants pour télécharger automatiquement les meilleures pistes audio et vidéo disponibles:

youtube-dl -f bestvideo+bestaudio "http://www.youtube.com/watch?v=P9pzm5b6FFY"

Si vous rencontrez une erreur pendant le processus de multiplexage, essayez plutôt les solutions suivantes:

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

Cette commande vous assurera de télécharger la vidéo mp4 et audio m4a de la plus haute qualité à partir de la vidéo et de les fusionner en un seul mp4 (en utilisant ffmpeg dans mon cas).

La source: http://www.webupd8.org/2014/02/video-downloader-youtube-dl-gets.html


268
2018-06-21 10:19



Assurez-vous de ne pas choisir DASH. Ce sera injouable! - ps95
@ prakharsingh95 l'audio DASH uniquement peut être converti au format standard wave ou mp3 à l'aide d'un logiciel gnac ou similaire. - mchid
je voulais dire DASH Video. J'ai essayé de télécharger 4K, mais c'est tout DASH format (DASH permet d'youtube pour préserver la bande passante). C'est radicalement différent, il sera surtout injouable. - ps95
@ prakharsingh95 Oui, si quelque chose que vous pourriez être capable de voir le mp4 en utilisant VLC comme VLC vous permet de synchroniser la vidéo avec un fichier séparé pour l'audio. Je n'ai pas encore essayé. Avez-vous essayé de convertir le fichier mp4 du téléchargement DASH au format AVI? Je pense qu'ils sont similaires. - mchid
Oui. Dash est bien sûr jouable, mais vous avez besoin de mélanger les flux avec quelque chose comme: avconv. Trop lent pour 4K. - ps95


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

Courir avec -F pour 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)

remarquerez que youtube-dl a étiqueté la dernière option 1280x720 comme la «meilleure» qualité et c'est ce qu'elle téléchargera par défaut, mais la ligne commençant par 137 est en réalité de meilleure qualité 1920x1080. Youtube a séparé les flux vidéo et audio pour les lignes étiquetées DASH, donc nous devons également choisir l'audio de la plus haute qualité qui, dans ce cas, est la ligne commençant par 141. Ensuite, nous courons youtube-dl encore 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 devrait également supprimer automatiquement les différentes parties téléchargées. Cette méthode est un petit travail supplémentaire, mais vous obtiendrez les meilleurs résultats.


78
2018-01-24 21:59



merci beaucoup, je ne savais pas à propos de 137 + 141 - whitesiroi
Votre exemple et d’autres présentent des choix faciles pour l’audio - c’est-à-dire, pour une qualité élevée, choisissez celui qui offre la valeur de débit la plus élevée. Je me suis récemment retrouvé face à un choix entre DASH audio , opus @160k ou DASH audio 126k , audio@128k (44100Hz), 1.79MiB ou DASH audio 127k , m4a_dash container, aac @128k (44100Hz), 1.94MiB. Je devais choisir mais je ne suis pas certain de la qualité, ou peut-être de la compatibilité. - user643722
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
De nos jours, c'est la valeur par défaut, mais uniquement si avconv (libav) ou ffmpeg est installé pour effectuer la conversion du fichier. Pour Windows, vous souhaitez définir --ffmpeg-location dans %APPDATA%\youtube-dl\config.txt dans le répertoire où avconv / ffmpeg est installé. Si vous avez un système bas de gamme, vous voudrez peut-être -f bestvideo[fps<=30]+bestaudio là aussi, pour éviter la vidéo 60fps. - GreenReaper


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. Ceci peut être ajouté au fichier de configuration à ~/.config/youtube-dl/config (ou même /etc/youtube-dl.conf) donc vous ne recevez pas de téléchargements surdimensionnés:

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

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

S'il vous plaît noter que assez souvent, il faudra télécharger une vidéo vidéo et audio distinct et les fusionner.

Pour plus d'exemples voir youtube-dlla doucmentation.


15
2017-12-31 09:47



J'ai eu un problème où différents segments de la même vidéo avaient des codes de format différent pour la même résolution (par exemple hls-1476 pour la vidéo 1 de 2 et hls-1665 pour la vidéo 2 de 2 où les deux étaient 540p) "-f hls-1476" ou "-f hls-1665" ou "ERREUR: format demandé non disponible" Vos exemples de commandes m'ont aidé à récupérer ce que je voulais. - ssnobody
+1 pour ~/.config/youtube-dl/config - Marinos An


Un script d'encapsulation bash qui demande le format, qui inclut tous les rendus disponibles, y compris l'audio uniquement, la vidéo uniquement.

Accepte à la fois 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")

Sortie de l'échantillon:

    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 au lieu de la diffuser, supprimez simplement la mpv --cache=1024partie et le signe dollar avec parenthèses.


3
2018-06-29 13:27





Certaines des autres options pour télécharger les meilleures vidéos de qualité autres que celles mentionnées ici en fonction de votre convenance sont données ci-dessous:

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

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

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

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

Télécharger le meilleur format vidéo uniquement mais pas plus de 50 Mo

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

Télécharger 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


1
2017-08-17 13:58





Par défaut, YouTube-dl sélectionnera la meilleure qualité.


-3
2017-12-29 16:26



Oui, selon le readme Vous avez également des options pour sélectionner le format souhaité, voir ici: github.com/rg3/youtube-dl/blob/master/… - AjayKumarBasuthkar