yt-dlp 是一个开源的命令行工具,用于从互联网上下载视频、音频和其他类型的媒体资源。
效果如图,结合yt-dlp,Kubespider会调用yt-dlp,下载YouTube视频:
运行如下命令即可:
git clone https://github.com/opennaslab/kubespider.git
cd kubespider
bash hack/install_ytdlp.sh
运行如下命令,确认yt-dlp已经安装成功:
docker ps | grep yt-dlp
输出类似:
5eaf9caf8e45 cesign/ytdlp-downloader:latest "python3 /root/app/a…" 4 hours ago Up 3 hours
配置文件如下:
yt-dlp:
type: ytdlp_download_provider
enable: false
http_endpoint_host: http://127.0.0.1
http_endpoint_port: 3082
auto_format_convet: false
target_format: mp4
download_proxy: http://192.168.1.8:1087
priority: 0
handle_host:
- www.youtube.com
- www.bilibili.com
- www.ted.com
其中:
yt-dlp
: 名称,可自定义(不可重复),可以在source_provider.yaml
中按名称指定下载器,此处示例为 yt-dlp。type
: 表示此下载器的类型,需为ytdlp_download_provider
。enable
: 设置是否使用此provider,只能使用一个,后续开发优先级后可以多个一起使用。http_endpoint_host
: yt-dlp服务所在服务器地址。http_endpoint_port
: yt-dlp的API服务端口,默认8080。auto_format_convet
: 是否自动转化下载视频格式。target_format
: 转化目标视频格式。download_proxy
: 下载代理,国外内容可能需要代理。priority
: 下载提供器优先级,数字越小,优先级越高,下载资源时按优先级尝试,无法下载或下载失败时切换下载器。handle_host
: 支援的资源网站,可以配置yt-dlp
所支持的网站。
cookie获取可以参考 youget_download_provider
, cookie配置路径为:${HOME}/kubespider/yt-dlp/cookie.txt
。 类似一下格式,可以填写多个网站的cookie。
# Netscape HTTP Cookie File
# This file is generated by yt-dlp. Do not edit.
.bilibili.com TRUE / FALSE 1729066428 _uuid xxx
.bilibili.com TRUE / FALSE 0 b_lsid xxx
.bilibili.com TRUE / FALSE 1729066428 b_nut xxx
.bilibili.com TRUE / FALSE 1729080330 browser_resolution xxx
.google.com TRUE / TRUE 1700138510 1P_JAR xxx
.google.com TRUE / TRUE 1709350722 AEC xxx
.google.com TRUE / FALSE 1731490094 APISID xxx
.google.com TRUE / FALSE 1731490094 HSID xxx
.youtube.com TRUE / FALSE 0 PREF xxx
.youtube.com TRUE / TRUE 0 SOCS xxx
.youtube.com TRUE / TRUE 1713096208 VISITOR_INFO1_LIVE xxx
.youtube.com TRUE / TRUE 1713096208 VISITOR_PRIVACY_METADATA xxx
.youtube.com TRUE / TRUE 0 YSC xxx
drive.google.com FALSE / TRUE 1732106550 OSID xxx.
drive.google.com FALSE / TRUE 1700138613 OTZ xxx
drive.google.com FALSE / TRUE 1732106550 __Secure-OSID xxx
drive.google.com FALSE /drive TRUE 1698410551 xxx
配置好后,运行如下命令:
docker restart kubespider
按最终效果图测试一下即可。