YouTube-dl输出模板(-o)中的参数(机器翻译版勉强能用)
该-o选项允许用户指定输出文件名的模板
Windows环境下代码(能用双引号不要用单引号,有时候单引号会把路径识别为#)
youtube-dl.exe -o "%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s" https://www.youtube.com/playlist?list=PLwiyx1dc3P2JR9N8gQaQN_BCvlSlap7re
基本用法是在下载单个文件时不设置任何模板参数,例如youtube-dl -o funny_video.flv “https://some/video”. 但是,它可能包含在下载每个视频时将被替换的特殊序列。特殊序列可以根据python字符串格式化操作进行格式化。例如,%(NAME)s或%(NAME)05d。澄清一下,这是一个百分比符号,后跟括号中的名称,后跟格式化操作。允许的名称和序列类型是:
id (字符串):视频标识符
title (字符串):视频标题
url (字符串):视频网址
ext (字符串):视频文件扩展名
alt_title (字符串):视频的次要标题
display_id (字符串):视频的替代标识符
uploader (string): 视频上传者的全名
license (字符串):视频许可的许可名称
creator (字符串):视频的创建者
release_date (string): 视频发布的日期 (YYYYMMDD)
timestamp (数字):视频可用时的 UNIX 时间戳
upload_date (字符串):视频上传日期(YYYYMMDD)
uploader_id (字符串):视频上传者的昵称或 ID
channel (字符串):上传视频的频道的全名
channel_id (字符串):频道的 ID
location (字符串):视频拍摄的物理位置
duration (数字):以秒为单位的视频长度
view_count (数字):有多少用户在平台上观看过视频
like_count (数字):视频的正面评价数
dislike_count (数字):视频的负面评价数
repost_count (数字):视频的转发次数
average_rating (数字):用户给出的平均评分,使用的比例取决于网页
comment_count (数字):视频评论数
age_limit (数字):视频的年龄限制(年)
is_live (boolean): 这个视频是直播还是定长视频
start_time (数字):在 URL 中指定的应开始再现的时间(以秒为单位)
end_time (数字):复制结束的时间(以秒为单位),如 URL 中所指定
format (string): 人类可读的格式描述
format_id (string): 指定的格式代码 --format
format_note (字符串):关于格式的附加信息
width (数字):视频的宽度
height (数字):视频的高度
resolution (string): 宽度和高度的文字描述
tbr (数字):以 KBit/s 为单位的音频和视频的平均比特率
abr (数字):以 KBit/s 为单位的平均音频比特率
acodec (字符串):正在使用的音频编解码器的名称
asr (数字):以赫兹为单位的音频采样率
vbr (数字):以 KBit/s 为单位的平均视频比特率
fps (数字):帧率
vcodec (字符串):正在使用的视频编解码器的名称
container (字符串):容器格式的名称
filesize (数字):字节数,如果事先知道
filesize_approx (数字):估计字节数
protocol (字符串):将用于实际下载的协议
extractor (字符串):提取器的名称
extractor_key (string): 提取器的键名
epoch (数字):创建文件时的 Unix 纪元
autonumber (numeric): 每次下载都会增加的数字,从 --autonumber-start
playlist (字符串):包含视频的播放列表的名称或 ID
playlist_index (数字):播放列表中视频的索引,根据播放列表的总长度填充前导零
playlist_id (字符串):播放列表标识符
playlist_title (字符串):播放列表标题
playlist_uploader (字符串):播放列表上传者的全名
playlist_uploader_id (字符串):播放列表上传者的昵称或 ID
可用于属于某个逻辑章节或部分的视频:
chapter (字符串):视频所属章节的名称或标题
chapter_number (数字):视频所属章节的编号
chapter_id (字符串):视频所属章节的 ID
可用于作为某些系列或节目的一集的视频:
series (字符串):视频剧集所属的系列或节目的标题
season (字符串):视频剧集所属的季节标题
season_number (数字):视频剧集所属的季节编号
season_id (字符串):视频剧集所属的季节 ID
episode (字符串):视频集的标题
episode_number (数字):一季内的视频集数
episode_id (字符串):视频片段的 ID
可用于作为曲目或音乐专辑一部分的媒体:
track (字符串):曲目的标题
track_number (数字):专辑或光盘中的曲目编号
track_id (字符串):曲目的 ID
artist (字符串):曲目的艺术家
genre (字符串):曲目的流派
album (字符串):曲目所属专辑的标题
album_type (string): 专辑类型
album_artist (字符串):专辑中出现的所有艺术家的列表
disc_number (数字):曲目所属的光盘或其他物理介质的编号
release_year (数字):专辑发行年份(YYYY)
在输出模板中引用的每个上述序列将被与序列名称对应的实际值替换。请注意,某些序列不能保证存在,因为它们取决于特定提取器获得的元数据。此类序列将替换为随–output-na-placeholder(NA默认情况下)提供的占位符值。
例如,对于-o %(title)s-%(id)s.%(ext)s带有 titleyoutube-dl test video和 id的 mp4 视频BaW_jenozKcj,这将导致在youtube-dl test video-BaW_jenozKcj.mp4当前目录中创建一个文件。
对于数字序列,您可以使用与数字相关的格式,例如,%(view_count)05d将生成一个字符串,其中视图计数填充有最多 5 个字符的零,例如 in 00042。
输出模板还可以包含任意的分层路径,例如-o ‘%(playlist)s/%(playlist_index)s - %(title)s.%(ext)s’,这将导致在与该路径模板对应的目录中下载每个视频。任何丢失的目录都将自动为您创建。
要在输出模板中使用百分比文字,请使用%%. 要输出到标准输出,请使用-o -.
当前的默认模板是%(title)s-%(id)s.%(ext)s.
在某些情况下,您不需要中、空格或 & 等特殊字符,例如将下载的文件名传输到 Windows 系统或通过 8 位不安全通道传输文件名时。在这些情况下,添加–restrict-filenames标志以获得更短的标题:
输出模板和 Windows 批处理文件
如果您在 Windows 批处理文件中使用输出模板,那么您必须%通过加倍来转义纯百分比字符 ( ),因此它-o "%(title)s-%(id)s.%(ext)s"应该变成-o “%%(title)s-%%(id)s.%%(ext)s”. 但是,您不应触摸%非普通字符的 ,例如扩展的环境变量应保持完整:-o “C:%HOMEPATH%\Desktop%%(title)s.%%(ext)s”。
输出模板示例
请注意,在 Windows 上,您可能需要使用双引号而不是单引号。