获取特定尺寸的 youtube-dl 视频,例如 480p 或 720p

fel*_*the 4 youtube-dl

这个答案很牵强:

youtube-dl -f 'bestvideo[height<=480]+bestaudio/best[height<=480]'
Run Code Online (Sandbox Code Playgroud)

当然,我不必为了一口气获得 480p 视频而记住所有这些?

我通常使用-F获取流列表,然后-f选择音频和视频。这并不过分繁重,但我希望有一些更简单的快捷方式可以达到特定的视频大小,因为这是一项非常常见的任务。

我已经阅读了帮助,实际上搜索了每次出现的“大小”一词,它们都是对文件大小的引用,而对视频大小没有任何引用。

use*_*686 5

不,没有一个字母的快捷方式选项。

简化版本,更改为请求一个确切的高度 ( =vs <=),是:

youtube-dl -f 'bestvideo[height=480]+bestaudio'
Run Code Online (Sandbox Code Playgroud)

需要这个更长的版本,因为所有新的 YouTube 上传使用单独的音频和视频流。如果您只使用过-f 'best[height=480]',它可以用于低分辨率模式(例如 360p),但通常根本找不到任何组合的高分辨率流。

Youtube-dl 最终采用了这种格式规范,因为它的用户需要灵活性——不仅您需要特定的分辨率,而且其他用户也需要特定的格式(例如,仅 H.264 视频;仅 MP4 容器;除 OPUS 之外的任何音频) ; 等),或特定的流类型(例如仅音频),或各种其他约束。

您没有在文档中找到任何结果,因为正如您所注意到的,术语“大小”不明确,因此像素尺寸被称为“分辨率”。事实上,文档包含这个例子:

如果您只想下载一些 DASH 格式(例如,如果您对获取分辨率高于 1080p 的视频不感兴趣),您可以添加-f bestvideo[height<=?1080]+bestaudio/best到您的配置文件中。

所以较早的答案是正确的,并且符合 youtube-dl 作者推荐的方法。