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 (, c’est-à-dire 1080p, 720p, 480p, etc. ).
Dans la description du logiciel, ils ont dit que c'était possible (voir l'image ci-dessous), mais comment faire ..
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é vidéo , utilisez d’abord l’option -F
pour répertorier 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 , utilisez donc -f 22
au lieu de -F
pour télécharger la vidéo MP4 avec une résolution de 1280x720 comme celle-ci:
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 sous forme de fichier unique:
youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
Si vous rencontrez une erreur pendant le 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 a souligné ici , la commande suivante sélectionnera 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 la forme d'un fichier unique ou de les fusionner en un seul mp4 (en utilisant ffmpeg
dans mon cas). Si ffmpeg
ou avconv
n'est pas disponible, youtube-dl
devrait revenir au fichier unique -f best option
au lieu du fichier par défaut.
Cliquez ici pour plus d'informations et quelques exemples.
Cliquez également pour voir 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
Vous pouvez télécharger 1080p avec youtube-dl
, mais vous devez faire un peu plus de travail. Habituellement, il ne téléchargera que 720p maximum, même si vous pouvez voir 1080p sur youtube.com.
Exécutez 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)
notez que youtube-dl
a étiqueté la dernière option 1280x720 comme étant la "meilleure" qualité et que c'est ce qu'il téléchargera 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 lançons à nouveau youtube-dl
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.
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 - so 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
) afin d'éviter les 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-config
si vous souhaitez désactiver le fichier de configuration pour une exécution youtube-dl particulière.
S'il vous plaît noter que assez souvent, il faudra télécharger une vidéo séparée et audio Steam et les fusionner.
Pour plus d'exemples, voir youtube-dl
's doucmentation .
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:
$ youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'
$ youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
$ youtube-dl -f 'best[filesize<50M]'
$ youtube-dl -f '(bestvideo+bestaudio/best)[protocol^=http]'
Référence:
Directement à partir de la page youtube-dl github
Un script d'encapsuleur bash qui demande le format, qui inclut tous les rendus disponibles, y compris les enregistrements uniquement audio, uniquement vidéo, puis diffuse la 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 partie
mpv --cache=1024
et le signe dollar entre crochets.
Cette réponse ici, avec le plus de votes, devrait avoir raison de vous donner la meilleure qualité vidéo disponible, mais .... ce n'est pas . bestvideo+bestaudio
semble choisir uniquement la meilleure vidéo et le meilleur audio parmi les options qui sont uniquement vidéo et uniquement audio , alors il fusionne les deux ensemble. 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'option bestvideo+bestaudio
N'A PAS choisi ce fichier 720p de meilleure qualité, car elle ne recherchait que des fichiers distincts et audio. Détails ci-dessous.
Solution? Demandez-lui de récupérer le meilleur fichier unique contenant à la fois vidéo et audio en un, avec ceci:
youtube-dl -f best https://youtu.be/FWGC9SqA3J0
En bref: utilisez l'option -f best
, PAS l'option -f bestvideo+bestaudio
!
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 à la fois de qualité inférieure et de résolution inférieure, et a une taille de fichier supérieure. Je ne le comprends pas exactement, mais l'option -f best
est certainement la seule qui me donne vraiment la meilleure résolution.
Voici quelques captures d'écran:
En utilisant l’option de qualité inférieure -f bestvideo+bestaudio
acceptée ici comme bonne réponse (OU en utilisant simplement l’option par défaut: youtube-dl https://youtu.be/FWGC9SqA3J0
):
-f best
L'option ci-dessous, qui ne nécessitait qu'un téléchargement et aucune recombinaison puisqu'il s'agissait déjà d'un fichier.Utiliser l’option de meilleure qualité -f best
que je recommande:
Voir man youtube-dl
pour plus de détails.
Je suis un économiseur de disque, je télécharge donc des vidéos au format 1280 x 720
,
parce que 4k
videos prend plus de taille de mon disque dur.
J'ajoute donc youtube-dl
dans ~ /.bashrc fichier comme indiqué ci-dessous
Mise en oeuvre -
terminal ouvert et tapez
nano ~/.bashrc
alias yt='youtube-dl -if best'
source ~/.bashrc
dans le terminalExpérience -
Ouvrez le terminal et tapezyt https://www.youtube.com/watch?v=puPUJlV1-W4
Le téléchargement de la vidéo avec la meilleure qualité commencera.
Explication -
Bash nous permet de définir des alias qui agissent comme des raccourcis vers les commandes bash
Dans notre cas, nous définissons alias comme suit:
alias yt= 'youtube-dl - i f meilleur'
où yt est la commande de raccourci pour 'youtube-dl' qui donne un relief
nos doigts pour taper longue commande.
Vous pouvez écrire n'importe quoi à la place de yt.
Je mets un drapeau - i dans youtube-dl -if best
ce qui signifie
Continuer sur les erreurs de téléchargement, par exemple pour ignorer les vidéos non disponibles dans une liste de lecture.