.mkv
或.webm
格式下载视频?我使用以下命令下载视频:
youtube-dl -itcv --yes-playlist https://www.youtube.com/playlist?list=....
结果此命令是扩展名为
.mp4
,.mkv
或.webm
的视频#1 楼
要列出可用的格式类型:youtube-dl -F url
然后您可以通过输入格式代码的编号来选择下载某种格式类型(在
11
下面的示例中) :youtube-dl -f 11 url
来自webupd8的示例
youtube-dl -F http://www.youtube.com/watch?v=3JZ_D3ELwOQ
示例输出:
[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)
您可以选择
best
并键入youtube-dl -f 22 http://www.youtube.com/watch?v=3JZ_D3ELwOQ
要获得最佳的视频质量(1080p DASH-格式“ 137”)和最佳音频质量(DASH音频-格式“ 140”),则必须使用以下命令:
youtube-dl -f 137+140 http://www.youtube.com/watch?v=3JZ_D3ELwOQ
EDIT
您可以在此处获得更多选项
视频选择:
--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)
评论
当我在播放列表上下载视频时,通过“ youtube-dl -itcv --yes-播放列表网址”存在一些未下载的视频。我该怎么办?还是存在此问题,因为我没有使用参数“ -f mp4”,并且在程序选择最佳格式进行下载时发生了错误?
–埃德加·奥利维拉(Edgar Oliveira)
16-3-29在21:13
只需输入youtube-dl-是播放列表网址
– GAD3R
16 Mar 29 '16 at 22:37
继续同一个问题。我尝试在播放列表中下载了YouTube上的42个视频。但是,只有34个视频被下载。输出为:[youtube:playlist]播放列表名称播放列表:正在下载34个视频
–埃德加·奥利维拉(Edgar Oliveira)
16-3-29在23:14
@EdgarOliveira经常在播放列表中有一些已删除的视频,但youtube继续包含在播放列表中...这是导致此问题的原因
–斯科特·斯滕斯兰德
16年8月2日,下午2:38
#2 楼
像这样(源): youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/mp4' url
评论
很酷,它下载了最好的视频+最好的音频并将其合并在一起。
– Renetik
17年2月1日在6:08
如果您不在乎OP要求的特定格式,那么值得注意的是,自2015年以来,youtube-dl的默认设置为-f bestvideo + bestaudio / best,因此已经设置为下载bestvideo和bestaudio(并自动进行混合)它们一起生成一个结果文件)。资料来源:github.com/rg3/youtube-dl/blob/master/…
– jj_
17年9月19日在6:46
@jj_绝对是-当我使用此命令行时,它将获得与最广泛的设备兼容的H.264 + AAC版本。
– s4y
17年9月19日在22:00
@ s4y是的,但是带有转码的风险。为避免这种情况,我将以不同的方式进行管理,而不是对每个下载的文件都强制使用单一容器格式。
– jj_
17年9月21日在6:13
@ s4y youtube-dl确实会在需要时进行转码(--audio-format选项),但是您就在这里:事实并非如此,因为您要强制youtube-dl下载两个文件(bestaudio [ ext = mp4]和bestvideo [ext = m4a])具有相同的通用容器(mp4),因此无论内容如何,在对其进行重新混合时,它们都将被堆叠在另一个mp4中,而无需任何代码转换。
– jj_
17年9月21日在22:00
#3 楼
根据glenn-slayden的评论,获得了具有最高视频质量的mp4格式,如下所示:我意识到此线程有些陈旧,但我认为情况有所改变。对于我的目标:
无论格式如何,始终保持最佳视频质量;
但是永远不要让音频格式单独导致您丢失mp4。
以前,我使用的是
bestvideo+bestaudio/best
,但是我发现以下变体可以更好地减少mkv
,(显然)消除了webm
,但仍保证了最高质量的视频(使用此选项时请勿使用--merge-output-format
选项):--format bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best
请注意,在第一个术语中,
ext
过滤器是为音频而不是视频指定的,这种技术在上面的讨论中没有提到。如果这对于我提出的目标来说似乎是倒退,那可能是因为考虑到我们正在尝试确保视频格式为mp4
,为什么对音频设置了约束?关键是每个后备项(如果其要求的任何部分失败,则以斜杠分隔)将失败,然后继续下一个学期。使用
bestvideo+bestaudio
时,很多情况下只会出现非mp4容器的情况,因为格式选择明确地坚持使用bestaudio
,这可能意味着混合格式。这是因为bestvideo+bestaudio
命令过于坚持,以至于您被迫退出mp4
。但是,如果您更关心获取mp4容器而不是音频质量,该怎么办?通过首先坚持使用
m4a
音频-然后在再次发行bestvideo
时放下这一部分-(通过使用上面的格式选择),您本质上表达了mp4
相对于其他容器的灵活偏好;如果可以的话,您当然希望使用mp4
,但这并不是以降低视频质量为代价的。就像我说的,您可能仍然会得到一些帮助,但是它们的数量将大大减少,并且仅在需要提供(据说)更好的视频时才使用。到目前为止,使用此配置,我根本看不到任何
mkv
,因为类似248 + 140的工作最终以webm
结尾。 。因此完整的命令是:youtube-dl --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4
评论
尽管其他答案将下载最高质量的可用mp4,尽管在某些情况下进行了转换,此答案仍可能产生最高质量的mp4。
– dtmland
20-6-27在16:19
#4 楼
您可以使用youtube-dl -f mp4 <url>
。 我不确定这样做是否正确,仅能正常工作,是否会为mp4格式的音频和视频提供最高质量的mp4文件。
此文件与使用
-f <the best options>
获得的文件略有不同,尽管流似乎相同。我在视频上都尝试过:-f mp4
和-f 137+140
(手动选择最佳的音频和视频)。 ffprobe讲述了有关使用-f mp4
获得的文件的信息:Metadata:
major_brand : mp42
minor_version : 0
compatible_brands: isommp42
creation_time : 2019-06-23T18:39:33.000000Z
Duration: 00:00:56.01, start: 0.000000, bitrate: 906 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 775 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
creation_time : 2019-06-23T18:39:33.000000Z
handler_name : ISO Media file produced by Google Inc. Created on: 06/23/2019.
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
creation_time : 2019-06-23T18:39:33.000000Z
handler_name : ISO Media file produced by Google Inc. Created on: 06/23/2019.
关于有关通过
-f 137+140
获得的文件的信息: Metadata:
major_brand : isom
minor_version : 512
compatible_brands: isomiso2avc1mp41
encoder : Lavf58.9.100
Duration: 00:00:56.05, start: 0.000000, bitrate: 909 kb/s
Stream #0:0(und): Video: h264 (Main) (avc1 / 0x31637661), yuv420p(tv, bt709), 1280x720 [SAR 1:1 DAR 16:9], 775 kb/s, 25 fps, 25 tbr, 12800 tbn, 50 tbc (default)
Metadata:
handler_name : VideoHandler
Stream #0:1(eng): Audio: aac (LC) (mp4a / 0x6134706D), 44100 Hz, stereo, fltp, 127 kb/s (default)
Metadata:
handler_name : SoundHandler
因此,视频和音频流看起来相同,但是使用了一个不同的混合器(如果我正确使用了该术语)将它们放到最终文件中。
#5 楼
而不是使用此下载一个.mkv
文件:youtube-dl 'https://www.youtube.com/watch?v=GwIzYX5t5l4'
只需使用此下载一个
.mp4
文件:youtube-dl 'https://www.youtube.com/watch?v=GwIzYX5t5l4' --format "bestvideo+bestaudio[ext=m4a]/bestvideo+bestaudio/best" --merge-output-format mp4
评论
查看--list-formats和--format nn开关。使用了-f mp4。但是有一次以150mb在mp4上下载文件,另一次以90mb下载。我已经阅读了通过“ youtube --help”获得的帮助,但找不到可以专门下载最大质量的另一个参数!
答案很简单:youtube-dl --recode-video mp4 URL。