Téléchargez uniquement le format MP4 sur youtube-dl

74

Comment puis-je utiliser download-dl pour télécharger une vidéo au format mp4 au lieu de format .mkvou .webm?

J'utilise cette commande pour télécharger des vidéos: youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....

Le résultat est que cette commande est video avec extension .mp4, .mkvou.webm

Edgar Oliveira
la source
regardez les commutateurs --list-formatset --format nn.
jc__
Utilisé -f mp4. Mais une fois téléchargé le fichier, sur mp4, avec 150 Mo et une autre fois avec 90 Mo. J'ai été lu l'aide, disponible via "youtube --help" et je ne peux pas trouver un autre paramètre où je peux spécifique pour télécharger la qualité maxima!
Edgar Oliveira

Réponses:

81

Pour lister les types de formats disponibles:

youtube-dl -F url

Alors choisissez le meilleur

Exemple : youtube-dl -f 11 url

Exemple de webupd8

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

exemple de sortie:

[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)

Vous pouvez choisir bestet taper

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

Pour obtenir la meilleure qualité vidéo (format DASH 1080p "137") et la meilleure qualité audio (format audio DASH "140"), vous devez utiliser la commande suivante:

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

MODIFIER

Vous pouvez obtenir plus d'options ici

Sélection vidéo:

--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
la source
Lorsque je télécharge une vidéo sur une liste de lecture, il existe des vidéos qui n’ont pas été téléchargées via "youtube-dl -itcv --yes-playlist url". Comment puis-je faire autour de cela? Ou, ce problème existait parce que je n’utilisais pas le paramètre "-f mp4" et qu’une erreur se produisait lorsque le programme choisissait le meilleur format à télécharger?
Edgar Oliveira
il suffit de taperyoutube-dl --yes-playlist url
GAD3R
continue avec le même problème. La playlist que j’essaie de télécharger indique 42 vidéos sur youtube. Mais seulement 34 vidéos ont été téléchargées. La sortie est la suivante: [youtube: playlist] playlist Nom Playlist: Téléchargement de 34 vidéos
Edgar Oliveira
1
@ EdgarOliveira souvent dans les listes de lecture, il y a des vidéos supprimées mais youtube continue de figurer dans la liste de lecture ... est-ce la cause du problème
Scott Stensland
110

Comme ceci ( source ):

youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' url
s4y
la source
cool, cette meilleure vidéo téléchargée + meilleur audio et fusionné.
Renetik
5
Si vous ne vous souciez pas des formats spécifiques demandés par OP, -f bestvideo+bestaudio/bestsachez que, depuis 2015, les valeurs par défaut de youtube-dl sont : . Source: github.com/rg3/youtube-dl/blob/master/…
jj_
@jj_ Certainement - lorsque j'utilise cette ligne de commande, c'est pour obtenir une version H.264 + AAC compatible avec la plus large gamme de périphériques.
S4y
@ s4y oui, mais cela comporte un risque de transcodage. Pour éviter cela, je gérerais cela différemment, sans imposer un seul format de conteneur à chaque fichier téléchargé.
jj_
1
@ s4y youtube-dl convertira en effet quand il le faudra ( --audio-formatoption) mais vous êtes ici: cela ne devrait pas être le cas avec cette ligne, car vous obligez youtube-dl à télécharger deux fichiers (bestaudio [ext = mp4] et bestvideo [ext = m4a]) qui ont le même type de conteneur en commun (mp4), donc quel que soit leur contenu, ils seront empilés dans un autre mp4 sans qu'aucun transcodage ne soit nécessaire.
jj_
10

Selon ce commentaire de glenn-slayden, un format MP4 avec une qualité vidéo optimale est obtenu comme suit:

Je me rends compte que ce fil est un peu vieux, mais je pense que la situation a quelque peu changé. Pour mon objectif:

  • Tout d’abord, prenez toujours la meilleure qualité vidéo disponible, quel que soit le format;
  • mais alors ne laissez jamais le format audio seul vous faire perdre mp4 .

Auparavant, j'utilisais bestvideo+bestaudio/best, mais je trouve que la variante suivante fonctionne beaucoup mieux pour réduire mkv, (apparemment) éliminer webm, tout en garantissant une qualité vidéo optimale (n'utilisez pas l' --merge-output-formatoption lorsque vous l'utilisez):

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

Notez que, dans le premier terme, le extfiltre est spécifié pour l'audio mais pas la vidéo , technique que je n'ai pas vue mentionnée dans la discussion ci-dessus. Si cela semble être un retour en arrière pour mes objectifs déclarés, c'est peut-être parce que, compte tenu du fait que nous essayons de nous assurer que le format vidéo est le même mp4, pourquoi la contrainte est-elle donnée pour l'audio?

La clé est que chaque terme de repli (séparé par des barres obliques) échouera si une partie de son exigence échoue, passant au terme suivant. Lors de l'utilisation bestvideo+bestaudio, de nombreux cas d'obtention d'un conteneur non-mp4 apparaissent uniquement parce que cette sélection de format insiste sans équivoque bestaudio, ce qui peut alors signifier un format mixte. C'est parce que la bestvideo+bestaudiocommande insiste trop pour vous forcer à quitter mp4.

Mais que se passe-t-il si vous vous souciez davantage de l’obtention d’un conteneur MP4 que de la qualité audio ? En insistant d’abord sur l’ m4aaudio - puis en vous attardant sur cette partie lors de la bestvideoprochaine publication - (en utilisant la sélection de format ci-dessus), vous exprimez essentiellement une préférence flexible pour mp4les autres conteneurs; vous avez sûrement ne voulez , mp4si possible, mais pas au détriment de la qualité vidéo réduite.

Comme je l'ai dit, vous en obtiendrez peut-être encore mkv, mais leur nombre sera considérablement réduit et ne sera utilisé qu'en cas de nécessité pour fournir une (supposée) meilleure vidéo. Et jusqu’à présent avec cette configuration, je n’en ai vu aucune webm, car quelque chose comme 248 + 140 fonctionne comme mkv.

Dans ce dernier cas, ajouter --merge-output-format mp4permettra de convertir en MP4 si nécessaire. Donc, la commande complète est:

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