youtube-dl详细配置文件
配置文件在windows系统的默认位置是 %APPDATA%/youtube-dl/config.txt
或者C:\Users\<user name>\youtube-dl.conf
,所以我们在这个位置创建配置文件即可
目前配置文件中不能包含中文,不然读取的时候会报错
我主要对配置文件中进行了如下功能的设置:
- 忽视错误继续下载,重试次数设置为无限
- 设置一个已下载文件的记录文档,不下载记录文档中已经有的文件
- 使用外部下载器aria2c,提升下载速度(最高16线程),给aria2c设置http代理,是clash默认代理地址。
- 下载封面,封面和视频音频相关的metadata写入文件,给mp4文件添加封面需要下载一个AtomicParsley的软件
- 视频格式为质量最高的mp4格式(h264+aac),如果不存在会下载其他更好的格式,需要ffmpeg
除了安装youtube-dl,还需要aria2c ,ffmpeg 和AtomicParsley
youtube-dl会自动调用系统代理,所以如果你用了上网软件,就不用手动设置代理了。
aria2c的配置文件自己编写,或者在youtube-dl中传参 --external-downloader-args "--all-proxy=http://127.0.0.1:7890 --file-allocation=prealloc -j 16 -x 16 -k 1M"
,代理地址改为你的代理地址,注意aria2c目前只支持http/https代理
cookie文件和下载记录文件的位置,自行填写。
# Do not read configuration files. When given in the global configuration file /etc/youtube-dl.conf:
# Do not read the user configuration in ~/.config/youtube-dl/config (%APPDATA%/youtube-dl/config.txt on Windows)
# --ignore-config
#=========================================General Options==============================================
# Continue on download errors, for example to skip unavailable videos in a playlist
--ignore-errors
#=========================================Network Options==============================================
# Use the specified HTTP/HTTPS/SOCKS proxy. To enable SOCKS proxy, specify a proper scheme.
# For example socks5://127.0.0.1:1080/. Pass in an empty string (--proxy "") for direct connection
#--proxy socks5://127.0.0.1:7891
#--proxy http://127.0.0.1:7890
# --socket-timeout SECONDS Time to wait before giving up, in seconds
--socket-timeout 10
#-4, --force-ipv4 Make all connections via IPv4
#-6, --force-ipv6 Make all connections via IPv6
#=========================================Video Selection==============================================
# --download-archive FILE Download only videos not listed in the archive file. Record the IDs of all downloaded videos in it.
--download-archive %APPDATA%/youtube-dl/archive.txt
#=========================================Download Options==============================================
#-r, --limit-rate RATE Maximum download rate in bytes per second (e.g. 50K or 4.2M)
#--fragment-retries RETRIES Number of retries for a fragment (default is 10), or "infinite" (DASH, hlsnative and ISM)
# Number of retries (default is 10), or "infinite".
--retries infinite
#--buffer-size SIZE Size of download buffer (e.g. 1024 or 16K) (default is 1024)
#--hls-prefer-native Use the native HLS downloader instead of ffmpeg
#--hls-prefer-ffmpeg Use ffmpeg instead of the native HLS downloader
#--hls-use-mpegts Use the mpegts container for HLS videos, allowing to play the video while downloading (some players may not be able to play it)
#--external-downloader COMMAND Use the specified external downloader. Currently supports aria2c,avconv,axel,curl,ffmpeg,httpie,wget
#--external-downloader-args ARGS Give these arguments to the external downloader
--external-downloader aria2c --external-downloader-args "--all-proxy=http://127.0.0.1:7890 --file-allocation=prealloc"
#--external-downloader-args "--all-proxy=http://127.0.0.1:7890 --file-allocation=prealloc -j 16 -x 16 -k 1M"
#=========================================Filesystem Options==============================================
#-a, --batch-file FILE File containing URLs to download ('-' for stdin), one URL per line. Lines starting with '#', ';' or ']' are considered as comments and ignored.
#-o, --output TEMPLATE Output filename template, see the "OUTPUT TEMPLATE" for all the info
-o '%(upload_date)s %(title)s-%(id)s.%(ext)s'
#Do not overwrite files
#-w, --no-overwrites
#-c, --continue Force resume of partially downloaded files. By default, youtube-dl will resume downloads if possible.
#--continue
# --cookies FILE File to read cookies from and dump cookie jar in
--cookies
#--cache-dir DIR Location in the filesystem where youtube-dl can store some downloaded information permanently.
#By default $XDG_CACHE_HOME/youtube-dl or ~/.cache/youtube-dl . At the moment, only YouTube player files (for videos with obfuscated signatures) are cached, but that may change.
#=========================================Thumbnail images==============================================
#Write thumbnail image to disk
--write-thumbnail
#--write-all-thumbnails Write all thumbnail image formats to disk
#--list-thumbnails Simulate and list all available thumbnail formats
#=========================================Verbosity / Simulation Options==============================================
#=========================================Workarounds==============================================
#=========================================Video Format Options==============================================
# download best 30hz mp4 file , h264+aac ,use http or https protocol,because we can use aria2c downloader to have a faster speed
--format '(bestvideo[ext=mp4][fps<31]+bestaudio[ext=m4a]/best[ext=mp4]/bestvideo+bestaudio/best)[protocol^=http]'
#--youtube-skip-dash-manifest Do not download the DASH manifests and related data on YouTube videos
#--youtube-skip-dash-manifest
#=========================================Subtitle Options==============================================
#--write-sub Write subtitle file
#--write-auto-sub Write automatically generated subtitle file (YouTube only)
#--all-subs Download all the available subtitles of the video
#--list-subs List all available subtitles for the video
#--sub-format FORMAT Subtitle format, accepts formats preference,
#for example: "srt" or "ass/srt/best" --sub-lang LANGS Languages of the subtitles to download (optional) separated by commas, use --list-subs for available language tags
#=========================================Authentication Options==============================================
#-u, --username USERNAME Login with this account ID
#-p, --password PASSWORD Account password. If this option is left out, youtube-dl will ask interactively.
#-2, --twofactor TWOFACTOR Two-factor authentication code
#-n, --netrc Use .netrc authentication data
#--video-password PASSWORD Video password (vimeo, smotri, youku)
#=========================================Adobe Pass Options==============================================
#=========================================Post-processing Options==============================================
#Embed thumbnail in the audio as cover art
--embed-thumbnail
#Write metadata to the video file
--add-metadata
# audio cover
#--embed-subs Embed subtitles in the video (only for mp4, webm and mkv videos)
#--convert-subs FORMAT Convert the subtitles to other format (currently supported: srt|ass|vtt|lrc)
网友评论