Descargue solo el formato mp4 en youtube-dl

74

¿Cómo puedo usar download-dl para descargar videos a través de url playlist solo formatear mp4 en lugar de formatear .mkvo .webm?

Yo uso este comando para descargar videos: youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....

El resultado de este comando es video con extensión .mp4, .mkvo.webm

Edgar Oliveira
fuente
mira los interruptores --list-formatsy --format nn.
jc__
Usado -f mp4. Pero una vez descargó el archivo, en mp4, con 150mb y otra vez con 90mb. ¡Me leyeron la ayuda, disponible a través de "youtube --help" y no puedo encontrar otro parámetro donde pueda descargar específicamente la máxima calidad!
Edgar Oliveira

Respuestas:

81

Para enumerar los formatos disponibles, escriba:

youtube-dl -F url

Entonces elige el mejor

Ejemplo: youtube-dl -f 11 url

Ejemplo de webupd8

youtube-dl -F http://www.youtube.com/watch?v=3JZ_D3ELwOQ

salida de muestra:

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

Puedes elegir besty escribir

youtube-dl -f 22 http://www.youtube.com/watch?v=3JZ_D3ELwOQ

Para obtener la mejor calidad de video (1080p DASH - formato "137") y la mejor calidad de audio (DASH audio - formato "140"), debe usar el siguiente comando:

youtube-dl -f 137+140 http://www.youtube.com/watch?v=3JZ_D3ELwOQ

EDITAR

Puedes obtener más opciones aquí

Selección de video:

--playlist-start NUMBER          Playlist video to start at (default is 1)
--playlist-end NUMBER            Playlist video to end at (default is last)
--playlist-items ITEM_SPEC       Playlist video items to download. Specify
                             indices of the videos in the playlist
                             separated by commas like: "--playlist-items
                             1,2,5,8" if you want to download videos
                             indexed 1, 2, 5, 8 in the playlist. You can
                             specify range: "--playlist-items
                             1-3,7,10-13", it will download the videos
                             at index 1, 2, 3, 7, 10, 11, 12 and 13.
--match-title REGEX              Download only matching titles (regex or
                             caseless sub-string)
--reject-title REGEX             Skip download for matching titles (regex or
                             caseless sub-string)
--max-downloads NUMBER           Abort after downloading NUMBER files
--min-filesize SIZE              Do not download any videos smaller than
                             SIZE (e.g. 50k or 44.6m)
--max-filesize SIZE              Do not download any videos larger than SIZE
                             (e.g. 50k or 44.6m)
--date DATE                      Download only videos uploaded in this date
--datebefore DATE                Download only videos uploaded on or before
                             this date (i.e. inclusive)
--dateafter DATE                 Download only videos uploaded on or after
                             this date (i.e. inclusive)
--min-views COUNT                Do not download any videos with less than
                             COUNT views
--max-views COUNT                Do not download any videos with more than
                             COUNT views
--match-filter FILTER            Generic video filter (experimental).
                             Specify any key (see help for -o for a list
                             of available keys) to match if the key is
                             present, !key to check if the key is not
                             present,key > NUMBER (like "comment_count >
                             12", also works with >=, <, <=, !=, =) to
                             compare against a number, and & to require
                             multiple matches. Values which are not
                             known are excluded unless you put a
                             question mark (?) after the operator.For
                             example, to only match videos that have
                             been liked more than 100 times and disliked
                             less than 50 times (or the dislike
                             functionality is not available at the given
                             service), but who also have a description,
                             use --match-filter "like_count > 100 &
                             dislike_count <? 50 & description" .
--no-playlist                    Download only the video, if the URL refers
                             to a video and a playlist.
--yes-playlist                   Download the playlist, if the URL refers to
                             a video and a playlist.
--age-limit YEARS                Download only videos suitable for the given
                             age
--download-archive FILE          Download only videos not listed in the
                             archive file. Record the IDs of all
                             downloaded videos in it.
--include-ads                    Download advertisements as well
                             (experimental)
GAD3R
fuente
Cuando descargo un video en la lista de reproducción, a través de "youtube-dl -itcv --yes-playlist url" existen algunos videos que no se descargaron. ¿Cómo puedo hacer alrededor de esto? O bien, ¿existía este problema porque no utilicé el parámetro "-f mp4" y ocurrió un error cuando el programa eligió el mejor formato para descargar?
Edgar Oliveira
simplemente escribayoutube-dl --yes-playlist url
GAD3R
Continuar con el mismo problema. La lista de reproducción que he intentado descargar indica 42 videos en youtube. Pero solo se descargaron 34 videos. El resultado es: [youtube: playlist] playlist Name Playlist: Download 34 videos
Edgar Oliveira
1
@EdgarOliveira a menudo en las listas de reproducción hay algunos videos eliminados, pero YouTube continúa incluyéndolo en la lista de reproducción ... ¿Esto está causando el problema
Scott Stensland
110

Como este ( fuente ):

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' url
s4y
fuente
genial, este descargó el mejor video + el mejor audio y lo fusionó.
Renetik
55
Si no le importan los formatos específicos solicitados por OP, entonces vale la pena señalar que desde 2015 los valores predeterminados para youtube-dl son -f bestvideo+bestaudio/best, por lo que ya está configurado para descargar el mejor video y bestaudio (y mezclarlos automáticamente en un archivo resultante) . Fuente: github.com/rg3/youtube-dl/blob/master/…
jj_
@jj_ Definitivamente: cuando uso esta línea de comando, es para obtener una versión H.264 + AAC que sea compatible con la gama más amplia de dispositivos.
s4y
@ s4y sí, pero eso conlleva el riesgo de transcodificación. Para evitar eso, manejaría esto de manera diferente, sin forzar un solo formato de contenedor en cada archivo descargado.
jj_
1
@ s4y youtube-dl realmente transcodificará cuando sea necesario ( --audio-formatopción) pero usted está aquí: no debería ser el caso con esa línea, porque está obligando a youtube-dl a descargar dos archivos (bestaudio [ext = mp4] y bestvideo [ext = m4a]) que tienen el mismo tipo de contenedor en común (mp4), por lo que sea cual sea su contenido, al remuxarlo, se apilarán en otro mp4 sin necesidad de transcodificación.
jj_
10

Según este comentario de glenn-slayden, se obtiene un formato mp4 con la más alta calidad de video de la siguiente manera:

Me doy cuenta de que este hilo es un poco viejo, pero creo que la situación ha cambiado un poco. Para mi objetivo:

  • En primer lugar, tome siempre la mejor calidad de video disponible, independientemente del formato;
  • pero nunca dejes que el formato de audio solo te haga perder mp4 .

Anteriormente, estaba usando bestvideo+bestaudio/best, pero encuentro que la siguiente variante funciona mucho mejor para reducir mkv, (aparentemente) eliminar webm, pero aún así garantiza el video de la más alta calidad (no use la --merge-output-formatopción cuando use esto):

--format bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best 

Tenga en cuenta que, en el primer término, el extfiltro se especifica para el audio pero no para el video , una técnica que no vi mencionado en la discusión anterior. Si eso parece al revés para mis objetivos establecidos, podría ser porque, considerando que estamos tratando de asegurarnos de que el formato de video es mp4, ¿por qué se da la restricción para el audio?

La clave es que cada término alternativo (separado por las barras) fallará si falla alguna parte de su requisito, pasando al siguiente término. Cuando se usa bestvideo+bestaudio, muchos casos de obtener un contenedor que no es mp4 solo aparecen porque esa selección de formato insiste inequívocamente bestaudio, lo que puede significar un formato mixto. Es porque el bestvideo+bestaudiocomando es demasiado insistente que te obliga a salir mp4.

Pero, ¿qué pasa si le importa más obtener un contenedor mp4 que la calidad de audio ? Al insistir m4aprimero en el audio, pero luego ceder solo en esa parte mientras se bestvideovuelve a emitir , (al usar la selección de formato anterior) esencialmente expresa una preferencia flexible por mp4sobre los otros contenedores; que seguramente no desea mp4, si es posible, pero no a costa de la reducción de la calidad de vídeo.

Como dije, aún puede obtener algunos mkv, pero se reducirán considerablemente en número y solo se usarán cuando sea necesario para proporcionar un video (supuestamente) mejor. Y hasta ahora con esta configuración, no he visto ninguna webmen absoluto, porque algo como 248 + 140 funciona termina como mkv.

En el último caso, agregar --merge-output-format mp4se convertirá a mp4 si es necesario. Entonces el comando completo es:

youtube-dl --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4
Frank Breitling
fuente