我已经在14.04中安装了youtube-dl。
我可以按照以下命令下载视频,
$ youtube-dl [youtube-link]
但是我想知道如何选择youtube视频的可用像素质量(即1080p,720p,480p等)。
他们在软件描述中说这是可能的(如下图所示),但是该怎么做。

-f best选项。
                我已经在14.04中安装了youtube-dl。
我可以按照以下命令下载视频,
$ youtube-dl [youtube-link]
但是我想知道如何选择youtube视频的可用像素质量(即1080p,720p,480p等)。
他们在软件描述中说这是可能的(如下图所示),但是该怎么做。

-f best选项。
                Answers:
要下载视频,请在命令后键入URL,如下所示:
youtube-dl 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
要选择视频质量,请先使用该-F选项列出可用的格式,下面是一个示例,
youtube-dl -F 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
这是输出:
[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)
最好的质量是22,所以-f 22不要-F像这样下载1280x720分辨率的MP4视频:
youtube-dl -f 22 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
或者(可选)使用以下标志来自动下载作为单个文件可用的最佳音频和视频轨道:
youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
如果在混合过程中遇到任何错误或视频质量选择出现问题,则可以使用以下命令之一:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
或正如Gabriel Staples在此处指出的那样,以下命令通常会选择实际的最佳单个文件视频质量分辨率,而不是视频质量比特率:
youtube-dl -f best 'http://www.youtube.com/watch?v=P9pzm5b6FFY'
这些命令将确保您从视频中下载最高质量的mp4视频和m4a音频作为单个文件,或者将它们合并回单个mp4(ffmpeg在我的情况下使用)。如果ffmpeg或avconv不可用,youtube-dl应回退到单个文件-f best option而不是默认文件。
资料来源:www.webupd8.org/2014/02/video-downloader-youtube-dl-gets.html
DASH。那将无法玩!
                    DASH Video。我尝试下载4K,但这全都是DASH格式(DASH允许youtube保留带宽)。这是完全不同的,几乎是无法播放的。
                    avconv。太慢了4K。
                    您可以使用下载1080p youtube-dl,但您需要做一些额外的工作。通常,即使您在youtube.com上看到1080p,它也只会下载720p作为其最大值。
运行-F以查看可用格式:
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)
请注意,youtube-dl该选项将最后一个选项1280x720标记为“最佳”质量,并且默认情况下会下载该选项,但是以137开头的行实际上是更高质量的1920x1080。YouTube已将标有DASH的行的视频和音频流分离开,因此我们还需要选择质量最高的音频,在这种情况下,该行是从141开始的行。然后我们youtube-dl再次运行,指定音频和视频:
youtube-dl -f 137+141 https://www.youtube.com/watch\?v\=-pxRXP3w-sQ
它将下载1080p视频并自动将其与最高质量的音频合并。它还应自动删除单独的下载部分。这种方法需要一些额外的工作,但是会获得最佳效果。
DASH audio , opus @160kor DASH audio  126k , audio@128k (44100Hz), 1.79MiB或or 之间的选择DASH audio  127k , m4a_dash container, aac  @128k (44100Hz), 1.94MiB。我必须选择,但对质量或兼容性不确定。
                    --ffmpeg-location在%APPDATA%\youtube-dl\config.txt为安装avconv / ffmpeg的目录。如果您有一个低端系统-f bestvideo[fps<=30]+bestaudio,则最好也要避免使用60fps视频。
                    要选择特定的分辨率,您可以指定大小和音频质量,以便自动选择它们-因此对于480p而言:
-f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
与bestvideo[height<=720]+bestaudio/best[height<=720]支持720p等,这可以添加到配置文件在~/.config/youtube-dl/config(甚至/etc/youtube-dl.conf),所以你没有得到超大下载:
mkdir ~/.config/youtube-dl
echo "-f 'bestvideo[height<=720]+bestaudio/best[height<=720]'" >> ~/.config/youtube-dl/config
--ignore-config如果要为特定的youtube-dl运行禁用配置文件,可以使用。
请注意,经常需要下载单独的视频和音频流并将其合并。
有关更多示例,请参见youtube-dl文档。
~/.config/youtube-dl/config
                    下面提供了一些其他选项,根据您的方便程度,下载此处未提及的最佳质量的视频:
$ 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]'
参考:
直接来自youtube-dl github页面
ext=mp4 && height<=480 && filesize<50M?
                    bash包装器脚本,提示输入该格式,其中包括所有可用的演绎形式,包括纯音频,纯视频,然后使用来流式传输视频/音频mpv。
接受绝对YouTube网址和视频ID。
#!/ 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")样本输出:
    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 #
如果要下载视频而不是流式传输视频,只需删除
mpv --cache=1024带有括号的部分和美元符号。
这个投票得票最多的答案 应该是可以为您提供最佳视频质量的正确选择,但是...不是。bestvideo+bestaudio似乎只选择的是选项最佳的视频,最好的音频只有视频和音频只,然后将其合并两个在一起。请注意,这似乎也与youtube-dl的默认行为相同。但是,在我正在观看的视频上,最好的质量是单个预先合并的文件,该文件已经采用了合并的视频和音频格式。该bestvideo+bestaudio选项未选择此质量最好的720p文件,因为它仅在寻找单独的视频和音频文件。详细信息如下。
解?让它抓取最好的同时包含视频和音频的单个文件,方法是:
youtube-dl -f best https://youtu.be/FWGC9SqA3J0
简而言之:使用-f best选项,而不是-f bestvideo+bestaudio选项!
更具体地说,请参见下面的运行结果
youtube-dl -F https://youtu.be/FWGC9SqA3J0
为了查看可以下载哪些视频'F'ormats:
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) 
请注意,第22行在其最右边显示“(最佳)”。这是唯一提供hd720画质的选项,这是在YouTube的网络浏览器中观看此视频时可以获得的最好画质。它是最清晰的,具有最佳的定义。当我使用最佳答案推荐的任何命令时:
youtube-dl -f bestvideo+bestaudio https://youtu.be/FWGC9SqA3J0
要么:
youtube-dl -f 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/bestvideo+bestaudio' --merge-output-format mp4 https://youtu.be/FWGC9SqA3J0
我最终得到的视频质量较低/分辨率较低,并且文件大小较大。我不太清楚,但是该-f best选项绝对是唯一能够真正为我提供最佳分辨率的选项。
这是一些屏幕截图:
使用此处接受的较低质量 -f bestvideo+bestaudio选项作为正确答案(或仅使用默认选项:)youtube-dl https://youtu.be/FWGC9SqA3J0:
我建议使用更高质量的 -f best选项:
有关man youtube-dl详细信息,请参见。
我是磁盘保护程序,因此我下载格式的视频1280 x 720,
因为4k视频占用的硬盘空间更大。
所以我加youtube-dl〜/。如下所示的bashrc文件
设置工作-
 
打开终端并输入
nano ~/.bashrc
alias yt='youtube-dl -if best'source ~/.bashrc终端中的最后一个运行命令实验-
 
打开终端,然后键入yt https://www.youtube.com/watch?v=puPUJlV1-W4
它将开始以最佳质量下载视频。
说明-
 
巴什允许我们定义它当作捷径bash的命令别名
在我们的例子中,我们定义别名- 
别名YT =“的YouTube-DL -i ˚F最好的” 
,其中YT是“YouTube的-DL”快捷命令,这给救援
我们的手指键入长命令。
您可以在yt处写任何东西。
我设置一个标志-i中,这意味着youtube-dl -if best
下载错误时它将继续,例如,跳过播放列表中不可用的视频
默认情况下,youtube-dl将选择最佳质量。
man页面上:“ youtube-dl现在默认下载YouTube所报告的最高可用质量,在某些情况下为1080p或720p。”