Youtube-dl现在是gihub/dmca.git的一部分

2020-10-25 12:32:58

Windows用户可以下载.exe文件并将其放在路径上除%SYSTEMROOT%\System32之外的任何位置(例如,不要放入C:\WINDOWS\System32)。

如果您已经安装了youtube-dl,此命令将更新它。有关更多信息,请参见Pypi页面。

或者,请参考开发人员说明,了解如何签出和使用git存储库。有关更多选项,包括PGP签名,请参阅youtube-dl下载页面。

Youtube-dl是一个命令行程序,可以从youtube.com和其他几个网站下载视频。它需要版本2.6、2.7或3.2+的Python解释器,并且它不特定于平台。它应该可以在您的Unix系统、Windows或MacOS上运行。它被发布到公共领域,这意味着您可以修改、重新分发或随心所欲地使用它。

-h,--help打印此帮助文本并退出--version打印程序版本并退出-U,--update将此程序更新为最新版本。确保您有足够的权限(如果需要,使用sudo运行)-i,--Ignore-下载错误时继续出现错误,例如跳过播放列表中不可用的视频--出现错误时中止下载更多视频(在播放列表或命令行中)--dump-user-agent显示当前浏览器标识--list-提取器列出所有支持的提取器--提取器描述所有支持的提取器的输出描述--force-Generic-提取器强制提取要使用通用提取器--default-search前缀使用此前缀作为不合格URL的前缀。例如,从谷歌视频为YouTube-dl&34;大苹果下载了两个视频。使用值";auto";让YouTube-dl猜测(";auto_warning";在猜测时发出警告)。";错误";只是抛出一个错误。默认值";FIXUP_ERROR";修复损坏的URL,但如果无法修复,则会发出错误,而不是搜索。--Ignore-config不读取配置文件。在全局配置文件/etc/youtube-dl.conf中给定时:不读取~/.config/youtube-dl/config(Windows上为%appdata%/youtube-dl/config.txt)中的用户配置--config-位置配置文件的路径位置;config的路径或其包含目录的路径。--Flat-播放列表不提取播放列表的视频,仅列出它们。--mark-已观看标记已观看的视频(仅限YouTube)--no-mark-已观看不标记已观看的视频(仅限YouTube)-no-color不在输出中发出色码。--Flat-播放列表不提取播放列表的视频,仅列出它们。--mark-已观看的标记视频(仅限YouTube)--无标记-已观看的不标记已观看的视频(仅限YouTube)-无颜色不在输出中发出颜色代码。

--代理URL使用指定的HTTP/HTTPS/SOCKS代理。要启用SOCKS代理,请指定正确的方案。例如socks5://127.0.0.1:1080/。为直接连接传入空字符串(--proxy&34;";)--socket-timeout秒放弃前等待的时间,以秒为单位--源地址IP客户端IP地址要绑定到-4,--force-ipv4通过IPv4-6建立所有连接,--force-ipv6通过IPv6建立所有连接。

--Geo-Verify-Proxy URL使用此代理来验证某些受地理限制的站点的IP地址。由--proxy(如果选项不存在,则为None)指定的默认代理用于实际下载。--通过伪造X-Forwarded-for HTTP标头绕过地理绕过地理限制--no-geo-绕过不通过伪造X-Forwarded-For HTTP标头绕过地理限制--Geo-BYPASS-国家代码使用显式提供的双字母ISO 3166-2国家/地区代码强制绕过地理限制--Geo-BYPASS-IP-BLOCK IP_BLOCK以CIDR表示法明确提供IP块的绕过地理限制。

--PLAYLIST-开始编号播放列表视频(默认值为1)--PLAYLIST-结束编号播放列表视频(默认值为LAST)--PLAYLIST-Items Item_spec Playlist要下载的视频项目。如果要下载播放列表中索引为1、2、5、8的视频,请指定播放列表中以逗号分隔的视频索引,如:";--PlayList-Items 1,2,5,8";。您可以指定范围:";--PlayList-Items 1-3,7,10-13";,它将下载索引为1、2、3、7、10、11的视频,12和13.--Match-Title REGEX仅下载匹配的标题(正则表达式或无大小写的子字符串)--Reject-Title REGEX跳过匹配标题的下载(regex或无大小写的子串)--max-下载数量在下载数量文件后中止--min-文件大小不下载任何小于大小的视频(例如50k或44.6m)--max-文件大小不下载任何大于大小的视频(例如50k或44.6m)--date仅下载在此日期上载的视频--date之前的日期仅下载视频。在此日期或之前上传(包括在内)--日期之后仅下载在此日期或之后上传的视频(即,包括在内)--min-点击量计数不下载任何观看次数少于计数的视频--max-点击量计数不下载任何点击量超过计数的视频--Match-Filter通用视频过滤器。如果密钥存在,请指定要匹配的任何密钥(有关可用密钥的列表,请参阅";输出模板),!KEY检查密钥是否

-r,--限制速率以字节/秒为单位的最大下载速率(例如50K或4.2M)-R,--重试次数重试次数(默认值为10),或";无限";。--片段-重试次数片段重试次数(默认值为10),或";无限";(DASH、hlsnative和ISM)--SKIP-UNAVAILABLE-片段跳过不可用片段(DASH、hlsnative和ISM)--ABORT-ON-UNAvailable-片段在某些片段不可用时中止下载--KEEP-片段在下载完成后将下载的片段保留在磁盘上;默认情况下,片段被擦除--下载缓冲区的缓冲区大小大小(例如,1024或16K)(默认值为1024)--no-resize-buffer不会自动调整缓冲区大小。默认情况下,缓冲区大小从初始值SIZE自动调整。--HTTP-CHUNK-SIZE块大小用于基于块的HTTP下载的块的大小(例如,10485760或10M)(默认为禁用)。对于绕过网络服务器施加的带宽限制可能很有用(实验性)--playlist-反向下载播放列表视频--playlist-以随机顺序随机下载播放列表视频--xattr-set-filesize设置文件xattribute ytdl.filesize,具有预期的文件大小--HLS-PREFER-NATIVE使用本地HLS下载器而不是ffmpeg-HLS-PREFER-ffmpeg使用ffmpeg而不是本地HLS下载器--HLS-USE-mpegts使用用于HLS视频的mpegts容器,允许在下载视频时播放视频(某些播放器可能无法播放它)-EXTERNAL-Downloader命令使用指定的外部下载器代替FMPPEG-HLS-USE-mpegts使用mpegts容器下载HLS视频(某些播放器可能无法播放)-外部-Downloader命令使用指定的外部下载器。当前支持aria2c、avconv、axel、curl、ffmpeg、httpy、wget--ternal-downloader-args参数将这些参数提供给外部下载程序。

-a,--批处理文件包含要下载的URL的文件(';-';对于标准输入),每行一个URL。以';#';,';;或';或';]';开头的行将被视为注释并忽略。--id在文件名中仅使用视频ID-o,--output template输出文件名模板,请参阅";output template";有关所有信息--autonnumber-start number指定%(Autonnumber)s的起始值(默认值为1)--restrict-filenames将文件名限制为仅限ASCII字符,并避免";&;";和文件名中的空格-w,--no--覆盖不覆盖文件-c,--Continue强制恢复部分下载的文件。默认情况下,youtube-dl将在可能的情况下恢复下载。--no-Continue不恢复部分下载的文件(从头重新启动)--no-part不使用.part文件--直接写入输出文件--no-mtime不使用Last-Modified标头设置文件修改时间--write-description将视频描述写入.description文件--write-info-json将视频元数据写入.info.json文件--write-注解将视频批注写入.Annoations.xml文件--load-info-json文件JSON文件包含视频信息(使用"创建;--write-info-json";option)--要从中读取cookie并将cookie jar转储到文件系统中的--cache-dir目录位置的cookies文件文件,YouTube-dl可以在该位置永久存储一些下载的信息。默认情况下,$XDG_CACHE_HOME/youtube-dl或~/.cache/youtube-dl。目前,只缓存YouTube播放器文件(对于签名模糊的视频),但情况可能会改变。--no-cache-dir禁用文件系统缓存--rm-cache-dir删除所有文件系统缓存文件。

--Write-缩略图将缩略图写入磁盘--Write-All-缩略图将所有缩略图格式写入磁盘--list-缩略图模拟并列出所有可用的缩略图格式。

-q,--Quiet激活安静模式--无警告忽略警告-s,--模拟不下载视频,不向磁盘写入任何内容--跳过-下载不下载视频-g,--get-url模拟,安静但打印URL-e,--get-title模拟,安静但打印标题--get-id模拟,安静但打印id--获取缩略图模拟,安静但打印缩略图URL--get-description模拟,安静但打印视频描述-get-持续时间模拟,安静但打印视频长度--get-filename模拟,安静但打印输出文件名--get-format模拟,安静但打印输出格式-j,--dump-json模拟,安静但打印JSON信息。有关可用键的描述,请参阅";输出模板。-J,--dump-Single-json模拟、安静但打印每个命令行参数的JSON信息。如果URL引用播放列表,则在一行中转储整个播放列表信息。--print-json保持安静,并将视频信息打印为JSON(视频仍在下载中)。--换行输出进度条为新行--无进度不打印进度条--控制台标题栏中的标题显示进度-v,--详细打印各种调试信息--dump-page打印下载的使用base64编码的页面以调试问题(非常详细)-write-page将下载的中间页写入当前目录中的文件以调试问题--打印-流量显示发送和读取HTTP流量-C,--呼叫总部联系youtube-dl服务器进行调试-

--ap-mso MSO Adobe Pass多系统运营商(TV提供商)标识符,使用--ap-list-mso查看可用MSO列表--ap-username用户名多系统运营商帐户登录--ap-password密码多系统运营商帐户密码。如果省略此选项,youtube-dl将交互询问。--ap-list-mso列出所有支持的多系统操作符。

-x,--Extract-dio将视频文件转换为纯音频文件(需要ffmpeg或avconv和ffbe或avbe)--音频格式指定音频格式:";BEST";,";AAC";,";mp3";,";m4a";,";opus";,";Vorbis";或";wav";;";Best";默认情况下;没有-x效果--音频质量指定ffmpeg/avconv音频质量,为VBR或128K等特定码率插入介于0(较好)和9(较差)之间的值(默认值为5)--recde-video格式根据需要将视频编码为另一种格式(目前支持:mp4|flv|ogg|webm|mkv|avi)--postessor-args args将这些参数提供给后处理器-k,--Keep-video在后处理后将视频文件保留在磁盘上;默认情况下,视频会被擦除--no-post-overwrite不覆盖后处理文件;后处理文件在默认情况下被覆盖--Embed-Subs在视频中嵌入字幕(仅适用于MP4、WebM和MKV视频)--嵌入-缩略图在音频中嵌入缩略图作为封面--添加元数据将元数据写入视频文件--标题元数据格式从视频标题解析其他元数据,如歌曲标题/艺术家。格式语法与--output相同。也可以使用具有命名捕获组的正则表达式。解析的参数将替换现有值。示例:--METADATA-FROM-TITLE";%(艺术家)s-%(TITLE)s";与酷玩乐园";这样的标题匹配。示例(Regex):--标题中的元数据";(?p<;艺术家&>;.+?)-(?p<;标题&>;.+)";--xattrs将元数据写入视频文件的xattrs(使用都柏林核心和xdg标准)--修正策略自动更正文件的已知错误。Never(不执行任何操作)、WARN(仅发出警告)、DETECT_OR_WARN(默认设置;如果可以修复文件,则执行WARN)--PERFER-avconv首选avconv而不是ffmpeg运行后处理器--PERFER-ffmpeg首选ffmpeg而不是avconv运行后处理器(默认)--ffmpeg-ffmpeg/avconv二进制文件的位置路径位置;二进制文件的路径或其包含目录的路径。--exec cmd在下载和后处理之后对文件执行命令,类似于find';s-exec语法。示例:--exec';adb Push{}/sdcard/Music/&;&;rm{}&39;--Convert-subs格式将字幕转换为其他格式(目前支持:SRT|ASS|VTT|LRC)。

您可以通过将任何受支持的命令行选项放入配置文件来配置youtube-dl。在Linux和MacOS上,系统范围的配置文件位于/etc/youtube-dl.conf,用户范围的配置文件位于~/.config/youtube-dl/config。在Windows上,用户范围的配置文件位置为%appdata%\youtube-dl\config.txt或C:\Users\<;用户名>;\youtube-dl.conf。请注意,默认情况下,配置文件可能不存在,因此您可能需要自己创建它。

例如,使用以下配置文件youtube-dl将始终提取音频,而不是复制mtime,使用代理并将所有视频保存在您的home目录下的Movies目录下:

#以#开头的行是注释#Always Extract Audio-x#请勿复制mtime--no-mtime#使用此代理--proxy 127.0.0.1:3128#保存主目录中Movies目录下的所有视频-o~/Movies/%(Title)s.%(Ext)s。

请注意,配置文件中的选项正好与常规命令行调用中使用的选项aka开关相同,因此在-或--之后不能有空格,例如-o或--proxy,而不能有-o或--proxy。

如果您想要禁用特定youtube-dl运行的配置文件,可以使用--Ignore-config。

如果您想为特定的youtube-dl运行使用自定义配置文件,也可以使用--config-location。

您可能还希望为支持身份验证的提取器配置自动凭据存储(通过提供带有--username和--password的登录和密码),以便不在每次执行youtube-dl时将凭据作为命令行参数传递,并防止在shell命令历史记录中跟踪纯文本密码。您可以在每个解压程序的基础上使用.netrc文件来实现这一点。为此,您需要在$HOME中创建一个.netrc文件,并将读/写权限限制为仅限您:

之后,您可以按以下格式添加解压程序的凭据,其中,Extractor是小写的解压程序名称:

要使用.netrc文件激活身份验证,您应该将--netrc传递给youtube-dl或将其放在配置文件中。

在Windows上,您可能还需要手动设置%HOME%环境变量。例如:

基本用法是在下载单个文件时不设置任何模板参数,如youtube-dl-o comy_Video.flv";https://some/video";.。但是,它可能包含下载每个视频时将替换的特殊序列。可以根据Python字符串格式化操作来格式化特殊序列。例如,%(名称)s或%(名称)05d。为了清楚起见,这是一个百分号,后跟括号中的名称,然后是格式化操作。允许的名称和序列类型包括:

Start_time(数字):URL中指定的复制开始时间(以秒为单位。

End_time(数字):URL中指定的复制结束的秒数。

PLAYLIST_INDEX(数字):播放列表中视频的索引,根据播放列表的总长度用前导零填充

可用于作为曲目或音乐专辑一部分的媒体:

当在输出模板中引用上述每个序列时,将由对应于序列名称的实际值替换。请注意,某些序列不能保证存在,因为它们依赖于由特定提取器获得的元数据。这样的序列将被NA替换。

例如,对于-o%(Title)s-%(Id)s.%(Ext)s和具有标题youtube-dl test video和id baw_jenozKc的MP4视频。

.