首页
关于
Search
1
分享一些收集的Sync Key
5,507 阅读
2
mysql错误ERROR 1130 (HY000): Host 'localhost' is not allowed to connect to this MySQL server
1,634 阅读
3
对比win10系统上的三种软件包管理器scoop、chocolatey、winget
1,626 阅读
4
Resilio Sync 许可证下载
1,594 阅读
5
阿里云盘资源分享
1,249 阅读
前端
CSS
NodeJS
Javascript
小程序
Webpack
Vue
Typescript
Linux
软件教程
云服务器
脚本编程
技术扩展
Scoop
SSR
Youtube-dl
You-Get
Typecho
Annie
奇技淫巧
资源分享
Sync Key
随笔
疑难杂症
mysql
Docker
Python
Serverless
登录
Search
标签搜索
docker
K3S
powershell
scoop
webstorm
jQuery
webpack
typecho
mysql
windows10
linux
typescript
ssh
windows11
vue
git
Sync
fastify
winget
github
偏向技术
累计撰写
99
篇文章
累计收到
2
条评论
首页
栏目
前端
CSS
NodeJS
Javascript
小程序
Webpack
Vue
Typescript
Linux
软件教程
云服务器
脚本编程
技术扩展
Scoop
SSR
Youtube-dl
You-Get
Typecho
Annie
奇技淫巧
资源分享
Sync Key
随笔
疑难杂症
mysql
Docker
Python
Serverless
页面
关于
搜索到
1
篇与
Youtube-dl
的结果
2021-03-14
Youtube-dl的详细使用方法
#Youtube-dl 命令行程序,用于从YouTube.com和其他视频网站下载视频,是目前最热门下载的工具之一,拥有多个选项,由社区多人维护。 它依赖Python2.6、2.7或3.2+版本,可在Unix、Windows、macOS机器上运行 #安装 UNIX(Linux/macOS/...): shell复制 sudo curl -L https://yt-dl.org/downloads/latest/youtube-dl -o /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl 12 如果没有curl可以使用wget替换 shell复制 sudo wget https://yt-dl.org/downloads/latest/youtube-dl -O /usr/local/bin/youtube-dl sudo chmod a+rx /usr/local/bin/youtube-dl 12 Windows 下载exe文件在新窗口打开,添加到环境变量PATH在新窗口打开,除了%SYSTEMROOT%\System32位置 Pip:sudo -H pip install --upgrade youtube-dl Scoop:scoop install youtube-dl MacOS: Homebrew在新窗口打开:brew install youtube-dl MacPorts在新窗口打开:sudo port install youtube-dl #命令说明 shell复制 youtube-dl [OPTIONS] URL [URL...] 1 -h/--help:打印帮助信息和退出命令 --version:打印版本信息和退出命令 -U/--update:更新到最新版本,或许需要管理员权限 -i/--ignore-errors:忽略下载错误,跳过播放列表中不可用的 --abort-on-error:如果遇到错误,中止其他视频的下载 --dump-user-agent:显示当前浏览器的UA信息 --list-extractors:显示所有支持的网站 --extractor-descriptions:显示所有支持的网站的描述 --force-generic-extractor:强制使用命令提取数据 --default-search PREFIX:使用前缀表示不合格的URL,比如gvsearch2,使用google搜索关键词,从视频中,寻找两个YouTube上的视频,使用auto,让youtube-dl猜测,auto_warning在猜测时会发出警告,error,会引发错误,fixup_error则会修复URL错误 --ignore-config:不使用配置文件,如果提供了全局配置文件的话/etc/youtube-dl.conf,不使用用户配置文件,~/.config/youtube-dl/config (Windows上:%APPDATA%/youtube-dl/config.txt) --config-location <PATH>:配置文件的位置,包含文件目录 --flat-playlist:不提取播放列表,仅列出来 --mark-watched:标记观看过(仅限YouTube) --no-mark-watched:不标记观看过(仅限YouTube) --no-color:输出时,不显示颜色 网络选项 --proxy <URL>:使用指定的http/https/socks代理,socks需指定协议头,比如socks://127.0.0.1:1080,使用--proxy ""表示直连模式 --socket-timeout <SECONDS>:超时时间(秒) --source-address <IP>:绑定的客户端IP地址 -4, --force-ipv4:通过IPv4建立所有连接 -6, --force-ipv6:通过IPv6建立所有连接 地理限制 --geo-verification-proxy <URL>:使用此代理验证IP地址对于某些受地理位置限制的网站。--proxy指定的代理将用于实际下载。 --geo-bypass:通过绕过地理限制,伪造X-Forwarded-For HTTP标头 --no-geo-bypass:不绕过地理限制,通过伪造X-Forwarded-For HTTP标头 --geo-bypass-country <CODE>:强制绕过地理限制,明确提供两个字母的ISO 3166-2国家/地区代码 --geo-bypass-ip-block <IP_BLOCK>:强制绕过地理限制,带有明确提供的IP块 CIDR符合 视频选项 --playlist-start <NUMBER>:播放列表视频的开始位置(默认为1) --playlist-end <NUMBER>:播放列表视频的结尾位置(默认为最后一个) --playlist-items <ITEM_SPEC>:指明要下载的播放列表视频项目,在播放列表中以逗号分隔,比如--playlist-items 1,2,5,8,--playlist-items 1-3,5,10-13 --match-title <REGEX>:仅下载匹配标题的视频(正则表达式 或 不区分大小写的字符串) --reject-title <REGEX>:跳过下载以找到匹配标题的视频 (正则表达式或不区分大小写的字符串) --max-downloads <NUMBER>:最大下载文件数,超过后中止 --min-filesize <SIZE>:限制最小下载文件的大小,比如50k或44.6m --max-filesize <SIZE>:限制最大下载文件的大小,比如500k或100m --date <DATE>:仅下载在该日期上传的视频 --datebefore <DATE>:仅下载通过的视频或在该日期之前上传的视频(包括该日期) --dateafter <DATE>:仅下载通过的视频或在该日期之后上传的视频(包括该日期) --min-views <COUNT>:不下载少于<COUNT>次数观看的视频 --max-views <COUNT>:不下载超过<COUNT>次数观看的视频 --match-filter <FILTER>:筛选视频条件过滤器,指定任何键(可用键参考OUTPUT TEMPLATE)匹配到的值,!key判断key是否存在,如果key > number,比如comment_count > 12,>=,<,<=,!=,=同样可以用来比较,如果key = 'LITERAL',比如uploader = 'Smith',!=也可以使用,&并且,?或。比如--match-filter "like_count > 100 & dislike_count <? 50 & description" --no-playlist:如果URL是视频和播放列表,则仅下载视频。 --yes-playlist:如果URL是视频和播放列表,则下载播放列表 --age-limit <YEARS>:仅下载匹配给定<YEARS>的视频 --download-archive <FILE>:仅下载未列出的视频存档文件。记录所有的ID 下载了其中的视频。 --include-ads:下载时包括广告 (实验性) 下载选项 -r RATE/--limit-rate RATE:最大下载速率/秒(以字节为单位),比如50K或4.2M -R RETRIES/--retries RETRIES:重连次数,默认10,或者不限infinite --fragment-retries RETRIES:片段的重连次数,默认10,或者不限infinite,(DASH, hlsnative and ISM) --skip-unavailable-fragments:跳过不可用的片段(DASH, hlsnative和ISM) --abort-on-unavailable-fragment:当某些片段不可用时中止下载 --keep-fragments:下载完成后保留下载的片段,默认是不保留 --buffer-size SIZE:下载缓冲区的大小(例如1024或 16K),默认值为1024 --no-resize-buffer:不要自动调整缓冲区大小。缓冲区默认会自动从初始调整大小SIZE的值。 --http-chunk-size SIZE:基于块的HTTP下载的块大小(例如10485760或10M) (默认为禁用)。可能有用,用于绕过带宽限制,由网络服务器强加(实验性) --playlist-reverse:反向下载播放列表视频 --playlist-random:随机下载播放列表视频 --xattr-set-filesize:将文件xattribute ytdl.filesize设置为预期文件大小 --hls-prefer-native:改用本地HLS下载器替代ffmpeg --hls-prefer-ffmpeg:使用ffmpeg代替本地HLS 下载器 --hls-use-mpegts:将mpegts容器用于HLS 视频,允许下载时播放视频(某些播放器不支持) --external-downloader COMMAND:使用指定的外部下载器。 目前支持aria2c,avconv,axel,curl,ffmpeg,httpie,wget --external-downloader-args ARGS:将这些参数提供给外部下载器 文件系统选项 -a FILE/--batch-file FILE:包含要下载的URL地址文件(“-”:stdin),一行一个url,从#开始,;视为评论,]视为忽略 --id:在文件名中仅使用视频ID -o, --output TEMPLATE:输出文件名模板,参考OUTPUT TEMPLATE --output-na-placeholder PLACEHOLDER:输出文件名模板中不可用时的占位符,默认为NA --autonumber-start NUMBER:指定的起始值%(autonumber)s(默认为1) --restrict-filenames:将文件名限制为仅ASCII 字符,并避免在其中使用“&”和空格 -w, --no-overwrites:不覆盖文件 -c, --continue:强制恢复部分已经下载的文件,默认情况下,如果可能,youtube-dl会恢复下载 --no-continue:忽略部分已经下载的文件,重新开始下载 --no-part:不使用.part文件,直接写入输出文件 --no-mtime:不使用Last-modified头来设置文件修改时间 --write-description:将视频描述写入到.description文件 --write-info-json:将视频元数据写入到.info.json文件 --write-annotations:将视频注释写入到.annotations.xml文件 --load-info-json FILE:JSON文件包含视频信息(由--write-info-json选项创建) --cookies FILE:读取cookies文件或从cookie jar引入 --cache-dir DIR:youtube-dl缓存一些已经下载的固定数据所在的文件目录,默认是$XDG_CACHE_HOME/youtube-dl or ~/.cache/youtube-dl,仅YouTube播放文件(带有混淆签名的视频)会被缓存 --no-cache-dir:禁用文件系统缓存 --rm-cache-dir:删除所有文件系统缓存文件 缩略图 --write-thumbnail:将缩略图写入磁盘 --write-all-thumbnails:将所有格式的缩略图都写入磁盘 --list-thumbnails:模拟并列出所有可用的缩略图格式 详细/模拟选项,获取信息 -q, --quiet:开启安静模式 --no-warnings:忽略警告 -s, --simulate:不下载视频,也不将任何内容写入磁盘 --skip-download:不下载该视频 -g, --get-url:模拟,安静但可打印URL -e, --get-title:模拟,安静但打印标题 --get-id:模拟,安静但可打印ID --get-thumbnail:模拟,安静但打印缩略图UR --get-description:模拟,安静但可打印视频 描述 --get-duration:模拟,安静但可打印视频长度 --get-filename:模拟,安静但打印输出文档名称 --get-format:模拟,安静但打印输出格式 -j, --dump-json:模拟,安静但打印JSON 信息。参见“OUTPUT TEMPLATE” -J, --dump-single-json:模拟,安静但打印JSON 每个命令行的信息 争论。如果url是一个播放列表,转储整个播放列表单行显示信息。 --print-json:保持安静并打印视频信息为JSON(视频仍为 正在下载)。 --newline:将进度条输出为新行 --no-progress:不打印进度条 --console-title:在控制台标题栏中显示进度 -v, --verbose:打印各种调试信息 --dump-pages:打印使用编码的下载页面 base64调试问题(非常详细) --write-pages:将下载的中间页写到 当前目录中的文件进行调试 问题 --print-traffic:显示已发送和读取的HTTP流量 -C, --call-home:调试时访问youtube-dl服务器 --no-call-home:调试时不访问youtube-dl服务器 解决方案 --encoding ENCODING:强制指定编码 --no-check-certificate:禁止HTTPS证书验证 --prefer-insecure:使用未加密的连接来检索有关视频的信息。(仅支持YouTube) --user-agent UA:自定义UA --referer URL:如果视频访问受限,可自定义referer头 --add-header FIELD:VALUE:自定义HTTP请求头,以冒号;分隔,可以多次使用此选项 --bidi-workaround:解决缺少的终端 双向文本支持。需要 bidiv或fribidi可执行文件在PATH中 --sleep-interval SECONDS:每次下载间隔的时间,如果提供了--max-sleep-interval值,则SECONDS`为最小间隔 --max-sleep-interval SECONDS:每次下载最大间隔时间,只能与最小间隔一起使用 视频格式 -f, --format FORMAT:视频格式代码,参考FORMAT SELECTION, --all-formats:下载所有可用的视频格式 --prefer-free-formats:首选免费视频格式,除非指定一个 -F, --list-formats:列出视频的所有可用格式 --youtube-skip-dash-manifest:不要下载DASH清单和 YouTube视频上的相关数据 --merge-output-format FORMAT:如果需要合并,输出一个允许的格式,在mkv、mp4、ogg、webm、flv,如果不需要合并,则忽略 字幕选项 --write-sub:写字幕文件 --write-auto-sub:编写自动生成的字幕文件(仅YouTube) --all-subs:下载该视频所有可用的字幕 --list-subs:列出该视频所有可用的字幕 --sub-format FORMAT:字幕格式,接受多种格式,比如,srt或ass/srt/best --sub-lang LANGS:字幕语言下载,用逗号分隔,使用 --list-subs列出可用的语言tags 身份验证选项 -u, --username USERNAME:使用该帐户ID登录 -p, --password PASSWORD:账户密码。如果这个选项没有,youtube-dl会询问。 -2, --twofactor TWOFACTOR:两步验证验证码 -n, --netrc:使用.netrc身份验证数据 --video-password PASSWORD:视频密码(vimeo,优酷) Adobe Pass选项 --ap-mso MSO:Adobe Pass多系统运营商(电视 提供程序)标识符,使用--ap-list-mso 有关可用的MSO的列表 --ap-username USERNAME:多系统操作员帐户登录 --ap-password PASSWORD:多系统操作员帐户 密码。如果忽略此选项, youtube-dl将进行互动询问。 --ap-list-mso:列出所有支持的多系统运营人员 下载后选项 -x, --extract-audio:将视频转换为仅音频文件(需要ffmpeg/avconv和ffprobe/avprobe) --audio-format FORMAT:指定音频格式,"best", "aac", "flac", "mp3", "m4a", "opus", "vorbis", 或 "wav",默认是"best",如果没有-x,则没有效果 --audio-quality QUALITY:指定ffmpeg/avconv音频质量,介于0(更好)和9(更差)之间的值,用于VBR或特定比特率,比如128K(默认5) --recode-video FORMAT:将视频编码为其他格式(当前支持:mp4|flv|ogg|webm|mkv|avi) --postprocessor-args ARGS:将这些参数提供给后处理器,后处理指合并视频 -k, --keep-video:视频后处理后,不删除原来的视频文件,默认是删除的 --no-post-overwrites:不覆盖后处理的文件,默认是覆盖后处理的文件 --embed-subs:在视频中嵌入字幕(仅适用于 mp4,webm和mkv视频) --embed-thumbnail:在音频中嵌入缩略图作为封面 艺术 --add-metadata:将元数据写入视频文件 --metadata-from-title FORMAT:解析其他元数据,比如歌曲、视频中的标题,格式与--output相似,具名的正则表达式捕获组也可以使用,解析的参数将替换现有的值,比如,--metadata-from-title "%(artist)s - %(title)s",匹配了标题 "Coldplay - Paradise",再比如使用正则,--metadata-from-title "(?P<artist>.+?) - (?P<title>.+)" --xattrs:将元数据写入视频文件的 xattrs,使用dublin核心和xdg 标准 --fixup POLICY:自动更正已知的故障文件,never:什么也不做;warn:只发出警告;detect_or_warn :默认值,如果可以,则修复文件,否则发出警告。 --prefer-avconv:在ffmpeg上优先使用avconv来运行 后处理器 --prefer-ffmpeg:优先使用ffmpeg而不是avconv来运行 后处理器(默认值) --ffmpeg-location PATH:ffmpeg/avconv二进制文件的位置,二进制文件的路径包含目录。 --exec CMD:在文件下载和后处理后执行命令,类似find的-exec语法,比如--exec 'adb push {} /sdcard/Music/ && rm {}' --convert-subs FORMAT:将字幕转换为其他格式,当前支持srt|ass|vtt|lrc #OUTPUT TEMPLATE -o选项允许用户指示输出文件名的模板 id (string): 视频ID title (string): 视频标题 url (string): 视频URL ext(string): 视频文件后缀 alt_title(string): 视频的辅助标题 display_id (string): 视频的备用标识符 uploader (string): 视频上传者的全名 license (string): 视频的许可协议名称 creator (string):视频的创建者 release_date (string):视频发布的日期 (YYYYMMDD) timestamp (numeric): 视频可用时的UNIX时间戳 upload_date (string): 视频上传日期(YYYYMMDD) uploader_id (string): 视频上传者的昵称或ID channel (string): 上传视频的频道的全名 channel_id (string): 频道ID location (string): 录制视频的实际位置 duration (numeric): 视频长度(以秒为单位) view_count (numeric): 用户观看的次数 like_count (numeric): 用户点赞的次数 dislike_count (numeric): 用户踩的次数 repost_count (numeric): 视频分享的次数 average_rating (numeric): 用户给出的平均评分,所使用的比例取决于网页 comment_count (numeric): 视频评论数 age_limit (numeric): 视频的年龄限制(年) is_live (boolean): 该视频是实时流还是固定长度的视频 start_time (numeric): 复制开始的时间(以秒为单位),如URL中所指定 end_time (numeric): 复制应结束的时间(以秒为单位),如URL中所指定 format (string): 格式的易于理解的描述 format_id (string): --format指定的格式 format_note (string): 有关格式的其他信息 width (numeric): 视频宽度 height (numeric): 视频高度 resolution (string): 宽度和高度的文字描述 tbr (numeric): 音频和视频的平均比特率,单位为KBit/s abr (numeric): 音频平均比特率,单位为KBit/s acodec (string): 使用中的音频编解码器的名称 asr (numeric): 音频采样率,以HZ为单位 vbr (numeric): 视频平均比特率,单位为KBit/s fps (numeric): 帧数 vcodec (string): 视频编解码器的名称 container (string): 容器格式的名称 filesize (numeric): 文件大小字节数(如果事先知道) filesize_approx (numeric): 预估文件大小字节数 protocol (string): 用于实际下载的协议 extractor (string): 提取器的名称 extractor_key (string): 提取器的密钥名称 epoch (numeric): 创建文件时的Unix epoch autonumber (numeric): 每次下载都会增加的编号,从--autonumber-start开始 playlist (string): 包含视频的播放列表的名称或ID playlist_index (numeric): 播放列表中视频的索引,根据播放列表的总长度用前导零填充 playlist_id (string): 播放列表标识符 playlist_title (string): 播放列表标题 playlist_uploader (string): 播放列表上传者的全名 playlist_uploader_id (string): 播放列表上传者的昵称或ID 适用于属于某些逻辑章节的视频 chapter (string): 视频所属章节的名称或标题 chapter_number (numeric): 视频所属章节的编号 chapter_id (string): 视频所属章节的ID 可用于某些系列或节目的短片的视频 series (string): 视频片段所属的系列或节目的标题 season (string): 影片集所属季节的标题 season_number (numeric): 该视频集所属的季节数 season_id (string): 该视频集所属的季节ID episode (string): 视频剧集的标题 episode_number (numeric): 一个季节中的视频片段数 episode_id (string): 视频剧集的ID 可用于作为曲目或音乐专辑一部分的媒体 track (string): 曲目标题 track_number (numeric): 专辑或光盘中的曲目编号 track_id (string): 曲目编号 artist (string): 曲目艺术家 genre (string): 曲目类型 album (string): 曲目所属专辑的标题 album_type (string): 相册类型 album_artist (string): 所有出现在专辑中艺术家的名单 disc_number (numeric): 轨道所属的光盘或其他物理介质的编号 release_year (numeric): 发行专辑的年份(YYYY) 当提供的模板,不存在值时,将采用--output-na-placeholde提供的值进行替换,该值默认为NA 比如有一个title为youtube-dl test video和id为BaW_jenozxkL的mp4视频,提供了如下参数,-o %(title)s-%(id)s.%(ext)s,结果将会在当前目录新建一个文件名为youtube-dl test video-BaW_jenozKcj.mp4`的视频 比如数字格式的模板,可以使用数字相关的格式,比如%(view_count)05d,将会生成一个用0填充的5位数,例如00024 输出模板还可以包含多级结构/,比如-o '%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s',这将导致将每个视频下载到与此路径模板相对应的目录中,如果不存在目录,将会自动创建 如果需要在模板中使用百分比,请使用%%,如果要标准输出,请使用-o - 当前模板的默认值是,%(title)s-%(id)s.%(ext)s 一些情况下,你不想在下载之后保留特殊的字符,比如"中"、空格或者"&",可以通过--restrict-filenames来获取较短的标题 如果在WIndows批处理文件中使用输出模板,必须使用%来转义模板,比如,-o "%(title)s-%(id)s.%(ext)s" 将变成-o "%%(title)s-%%(id)s.%%(ext)s",但是不应该在其他位置使用,比如环境变量,-o "C:\%HOMEPATH%\Desktop\%%(title)s.%%(ext)s" 需要注意的是,在Windows上,可能需要使用双引号而不是单引号
2021年03月14日
1,199 阅读
0 评论
0 点赞