¿Cómo seleccionar la calidad de video de youtube-dl?

255

He instalado youtube-dl en mi 14.04.

Puedo descargar videos siguiendo el comando,

$ youtube-dl [youtube-link]

Pero quiero saber cómo seleccionar la calidad de píxel disponible del video de YouTube ( es decir, 1080p, 720p, 480p, etc. ) .

En la descripción del software, dijeron que es posible (se muestra en la imagen a continuación), pero cómo hacerlo ...

ss

AJ
fuente
1
La descripción anterior es obsoleta. Desde la manpágina: "youtube-dl ahora tiene por defecto la descarga de la calidad más alta disponible según lo informado por YouTube, que en algunos casos será 1080p o 720p".
Jos
1
Tenga en cuenta que YouTube ha empleado algún tipo de protección que impide que las herramientas de descarga descarguen (o incluso vean) la versión 1080p, pero aún puede descargar todas las demás resoluciones hasta 720p inclusive.
thomasrutter
Sé que llego un poco tarde a la fiesta, pero esta es mi experiencia: askubuntu.com/a/1097056/327339 . Usa la -f bestopción.
Gabriel Staples

Respuestas:

360

Para descargar un video, escriba la URL después del comando de la siguiente manera:

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

Para seleccionar la calidad del video , primero use la -Fopción para enumerar los formatos disponibles, aquí hay un ejemplo,

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

Aquí está la salida:

[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 mejor calidad es 22, así que úsala en -f 22lugar de -Fdescargar el video MP4 con una resolución de 1280x720 como esta:

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

O, opcionalmente, use los siguientes indicadores para descargar automáticamente las mejores pistas de audio y video que están disponibles en un solo archivo:

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

Si encuentra algún error durante el proceso de muxing o un problema con la selección de calidad de video, puede usar uno de los siguientes comandos:

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

o como Gabriel Staples señaló aquí , el siguiente comando generalmente seleccionará la mejor resolución de calidad de video de un solo archivo en lugar de la tasa de bits de calidad de video:

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

Estos comandos asegurarán que descargue el video mp4 de la más alta calidad y el audio m4a del video como un solo archivo o los fusionará nuevamente en un solo mp4 (usando ffmpegen mi caso). Si ffmpego avconvno está disponible, youtube-dldebe recurrir al archivo único en -f best optionlugar del predeterminado.

Haga clic aquí para obtener información más detallada y algunos ejemplos diferentes.

Además, haga clic para ver esta respuesta relacionada de Gabriel Staples.


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

Fuente: github.com/rg3/youtube-dl

mchid
fuente
55
Asegúrate de no elegir DASH. ¡Eso será injugable!
ps95
@ prakharsingh95 el audio DASH solo se puede convertir a formato estándar de onda o mp3 utilizando gnac o un software similar.
mchid
1
Me refería DASH Video. Intenté descargar 4K, pero todo está en DASHformato ( DASHpermite que YouTube conserve el ancho de banda). Es radicalmente diferente, en su mayoría no se puede jugar.
ps95
1
@ prakharsingh95 Sí, si es posible, puede ver el mp4 usando VLC ya que VLC le permite sincronizar el video con un archivo separado para audio. Aunque no lo he probado. ¿Has intentado convertir el archivo mp4 de la descarga DASH al formato avi? Pienso que son similares.
mchid
2
Si. Dash es, por supuesto, jugable, pero necesitas mezclar las transmisiones con algo así avconv. Demasiado lento para 4K.
ps95
110

Puede descargar 1080p usando youtube-dl, pero necesita hacer un poco de trabajo extra. Por lo general, solo descargará 720p como máximo, incluso si puede ver 1080p en youtube.com.

Ejecute con -Fpara ver los formatos 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)

Tenga en cuenta que youtube-dlha etiquetado la última opción 1280x720 como la "mejor" calidad y eso es lo que descargará de forma predeterminada, pero que la línea que comienza con 137 es en realidad de mayor calidad 1920x1080. Youtube ha separado las transmisiones de video y audio para las líneas etiquetadas como DASH, por lo que también debemos elegir el audio de la más alta calidad, que en este caso es la línea que comienza con 141. Luego volvemos a ejecutar youtube-dlesta vez especificando el audio y el video:

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

y descargará el video 1080p y lo fusionará automáticamente con el audio de la más alta calidad. También debería eliminar automáticamente las partes descargadas por separado. Este método es un poco de trabajo extra, pero le dará los mejores resultados.

Ryan Horrisberger
fuente
11
muchas gracias, no sabía sobre 137 + 141
whitesiroi
3
Su ejemplo y otros presentan opciones fáciles para el audio, es decir, para alta calidad, elija el que tenga el mayor valor de velocidad de bits. Sin embargo, recientemente me encontré con una elección entre DASH audio , opus @160ko DASH audio 126k , audio@128k (44100Hz), 1.79MiBo DASH audio 127k , m4a_dash container, aac @128k (44100Hz), 1.94MiB. Tuve que elegir, pero no estoy seguro acerca de la calidad, o quizás la compatibilidad.
user643722
1
Lo mejor de youtube-dl es que es multiplataforma. Esta solución no solo funciona en Linux, sino también en Mac y Windows. ¡Gracias!
Antony
2
Hoy en día, este es el valor predeterminado, pero solo si tiene instalado avconv (libav) o ffmpeg para realizar la conversión de archivos. Para Windows, que desea establecer --ffmpeg-locationen %APPDATA%\youtube-dl\config.txtel directorio donde está instalado avconv / ffmpeg. Si tiene un sistema de gama baja, es posible que también desee -f bestvideo[fps<=30]+bestaudioallí, para evitar videos de 60 fps.
GreenReaper el
29

Para seleccionar resoluciones específicas, puede especificar el tamaño y la calidad de audio para que se seleccionen automáticamente, por lo que para 480p :

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

con bestvideo[height<=720]+bestaudio/best[height<=720]para 720p, etc. Esto se puede agregar al archivo de configuración en ~/.config/youtube-dl/config(o incluso /etc/youtube-dl.conf) para que no obtenga descargas de gran tamaño:

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

Puede usarlo --ignore-configsi desea deshabilitar el archivo de configuración para una ejecución particular de youtube-dl.

Tenga en cuenta que con bastante frecuencia tendrá que descargar un video y audio de vapor por separado y fusionarlos.

Para obtener más ejemplos, consulte youtube-dlla documentación de .

Wilf
fuente
1
Tuve un problema en el que diferentes segmentos del mismo video tenían diferentes códigos de formato para la misma resolución (por ejemplo, hls-1476 para el video 1 de 2 y hls-1665 para el video 2 de 2 donde ambos eran 540p), así que no podía usar "-f hls-1476" o "-f hls-1665" o obtendría "ERROR: formato solicitado no disponible" Sus ejemplos de comandos me ayudaron a recuperar lo que quería.
ssnobody
1
+1 para~/.config/youtube-dl/config
Marinos Un
10

A continuación se detallan algunas de las otras opciones para descargar videos de la mejor calidad además de las mencionadas aquí, según su conveniencia:

Descargue el mejor formato mp4 disponible o cualquier otro mejor si no hay mp4 disponible

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

Descargue el mejor formato disponible pero no mejor que 480p

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

Descargue el mejor formato de video solamente pero no mayor de 50 MB

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

Descargue el mejor formato disponible a través de un enlace directo a través del protocolo HTTP / HTTPS

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

Referencia:

Directamente desde la página de youtube-dl github

Kuroy Benoy
fuente
¿Cómo combinar ext=mp4 && height<=480 && filesize<50M?
mrgloom
6

Un script de bash wrapper que solicita el formato, que incluye todas las representaciones disponibles, incluyendo solo audio, solo video y luego transmite el video / audio mpv.

Acepta tanto las URL absolutas de YouTube como las ID de video.

#!/ 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")

Salida de muestra :

    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 desea descargar el video en lugar de transmitirlo, simplemente quite la mpv --cache=1024parte y el signo de dólar con corchetes.

ccpizza
fuente
2

Cómo obtener la mejor calidad de video disponible.

Esta respuesta aquí, con la mayoría de los votos, debería ser correcta para darle la mejor calidad de video disponible, pero ... no lo es. bestvideo+bestaudioparece elegir solo el mejor video y el mejor audio de las opciones que son solo video y solo audio , luego combina los dos juntos. Tenga en cuenta que esto también parece ser idéntico al comportamiento predeterminado de youtube-dl. Sin embargo, en el video que estaba viendo, la mejor calidad era un solo archivo pre-combinado que ya estaba en un formato con video y audio combinados. La bestvideo+bestaudioopción NO eligió este archivo de 720p de mejor calidad porque solo buscaba archivos de video y audio separados . Detalles abajo.

¿Solución? Haga que tome el mejor archivo único que contiene video y audio en uno, con esto:

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

En resumen: ¡use la -f bestopción, NO la -f bestvideo+bestaudioopción!

Prueba:

ingrese la descripción de la imagen aquí

Más específicamente, vea a continuación los resultados de la ejecución

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

para ver qué video 'F'ormats están disponibles para descargar:

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) 

Observe que la fila 22 dice "(mejor)" en el extremo derecho de la misma. Esta es la única opción que ofrece calidad hd720, que es la mejor calidad que puedo obtener al ver este video en un navegador web en YouTube. Es el más claro y tiene la mejor definición. Cuando uso cualquiera de los comandos recomendados por la respuesta superior:

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

O:

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

Termino con un video que es de menor calidad / menor resolución y tiene un tamaño de archivo más grande. No lo entiendo exactamente, pero la -f bestopción es definitivamente la única que realmente me da la mejor resolución.

Aquí hay algunas capturas de pantalla:

  1. Usando la opción de menor calidad -f bestvideo+bestaudio aceptada aquí como la respuesta correcta (O simplemente usando la opción predeterminada:) youtube-dl https://youtu.be/FWGC9SqA3J0:

    • ingrese la descripción de la imagen aquí
    • ¡Observe cuán borrosos están los iconos en la parte superior y cuán difíciles de leer son la ventana abierta y las pequeñas palabras dentro de ella!
    • Esto es significativamente peor que la calidad que obtengo al mirar en línea en YouTube directamente en el navegador.
    • Esta opción también ocupa más memoria por alguna razón: el video tiene 18.0 MB, y mi sistema tardó más en descargar y volver a combinar (audio + video) que la -f bestopción a continuación, que solo tenía que hacer una descarga y no recombinarse ya que ya era un archivo.
  2. Usando la opción de mayor calidad -f best que recomiendo:

    • ingrese la descripción de la imagen aquí
    • ¡Observe cuánto más claros son los iconos pequeños en la fuente superior y pequeña en la ventana!
    • Esta es la resolución idéntica a la que obtengo al ver en la resolución más alta posible directamente en el navegador de YouTube.
    • Esta opción también ocupa menos memoria por alguna razón: el video tiene 14.8 MB.

Lectura adicional:

Ver man youtube-dlpara más detalles.

Gabriel Staples
fuente
1
extraño que veo listados para las opciones de 1920x1080, pero la opción 1280x720 (hd720) todavía dice "mejor"
nmz787
Todas tus capturas de pantalla muestran algunos elementos electrónicos.
localhost
@localhost, eso es correcto. Todas son capturas de pantalla del video cuya URL ves en todos mis fragmentos de código a lo largo de la publicación: youtu.be/FWGC9SqA3J0 .
Gabriel Staples
@GabrielStaples Aah. Sí, eso tiene sentido. Lo siento por eso.
localhost
¿No es extraño que el número más alto en el lado izquierdo no corresponda a la mayor cantidad de píxeles en la pantalla en su ejemplo de código de formatos disponibles?
Ben
0

Soy un ahorrador de disco, por lo que descargo videos del formato 1280 x 720,
porque los 4kvideos ocupan más tamaño de mi disco duro.
Entonces agrego youtube-dl~ /. archivo bashrc como se muestra a continuación

Establecer un trabajo:

abrir terminal y escribir

  • nano ~/.bashrc
    ahora vaya al final del archivo y agregue el siguiente comando
  • alias yt='youtube-dl -if best'
  • guardar el archivo presionando y Ctrl oluego presionarEnter
  • salir del archivo presionando Ctrl x
  • y el último comando de ejecución source ~/.bashrcen la terminal

Experimento:

abra la terminal y escriba
yt https://www.youtube.com/watch?v=puPUJlV1-W4
Comenzará a descargar videos con la mejor calidad.

Explicación:
Bash nos permite definir alias que actúan como accesos directos a los comandos bash;
en nuestro caso, definimos alias como -
alias yt = 'youtube-dl -i f best',
donde yt es el comando de acceso directo para 'youtube-dl' que proporciona alivio
nuestros dedos para escribir comando largo.
Puedes escribir cualquier cosa en el lugar de yt .
Puse una bandera -i en la que significayoutube-dl -if best

Continuará con los errores de descarga, por ejemplo, para omitir videos no disponibles en una lista de reproducción

Abhishek Kamal
fuente
-1

Por defecto, youtube-dl elegirá la mejor calidad.

Nerol
fuente
2
Sí, según el archivo Léame También tiene opciones para seleccionar el formato deseado, consulte aquí: github.com/rg3/youtube-dl/blob/master/…
AjayKumarBasuthkar