6
0
0

yt‑dlp(虚拟环境部署)2026/08/19

2026-08-19
2026-08-19
文章摘要
|

清单汇总

软件

部署路径

说明

yt‑dlp

/opt/yt‑dlp‑env/bin/yt‑dlp

python venv 安装,必须这个路径

deno

/root/.deno/bin/deno

root 用户安装 deno

ffmpeg

/usr/bin/ffmpeg

系统包管理器安装

bgutil

127.0.0.1:4416

本地后台 PO‑Token 服务,可选但推荐

NodeJS

>=18

运行脚本本体

1、yt‑dlp(虚拟环境部署,代码固定路径)

代码常量:YTDLP_BIN = '/opt/yt-dlp-env/bin/yt-dlp'

  • 必须用 python venv 创建 /opt/yt‑dlp‑env 虚拟环境,在里面安装 yt‑dlp

# 示例部署命令
apt install python3 python3-venv -y
python3 -m venv /opt/yt-dlp-env
/opt/yt-dlp-env/bin/pip install -U yt-dlp

不能系统直接装 yt‑dlp,代码硬编码读取这个 venv 下的二进制。

2、Deno

代码常量:DENO_BIN = '/root/.deno/bin/deno'

  • deno 安装到 root 用户家目录,用于 yt‑dlp JS 解释器回退,没有就降级用 node。

# root 用户执行
curl -fsSL https://deno.land/x/install/install.sh | sh

3、ffmpeg

候选路径:

/usr/local/bin/ffmpeg
/usr/bin/ffmpeg
/bin/ffmpeg

需要完整 ffmpeg(带音频视频合并,yt‑dlp 合并 mp4/m4a)

apt install ffmpeg -y

4、bgutil 服务(重要,PO‑Token 服务)

BGUTIL_URL = 'http://127.0.0.1:4416'

mweb‑bgutil 第一下载策略依赖这个本地后台服务,用来生成 YouTube PO‑Token,监听本地 4416 端口。

  • 需要部署 bgutil,本地 127.0.0.1:4416 提供 http 接口;

  • 代码会自动检测,如果服务连不上,会自动跳过 bgutil,回退另外两套 client。

docker run -d \
  --name bgutil-provider \
  --restart unless-stopped \
  -p 4416:4416 \
  brainicism/bgutil-ytdlp-pot-provider:latest
yt-dlp --extractor-args "youtubepot-bgutilhttp:base_url=http://127.0.0.1:4416" "https://www.youtube.com/watch?v=视频ID"

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或者给予支持!

评论