PotPlayer 斗鱼直播解析插件。支持斗鱼 PC 网页端取流、清晰度菜单、直连 FLV、音画分流合流,以及合流画质记忆。
- 打开斗鱼直播间 URL:
https://www.douyu.com/<room>、douyu://<room>、dy://<room>。 - 使用斗鱼 PC 网页端接口获取 FLV 直播流。
- 清晰度菜单支持斗鱼返回的档位,例如
4K超高清、2K超高清、1080P60、蓝光4M、超清、高清。 - 合流 URL 支持第一路取画面、第二路取声音。
- 合流使用本地 ffmpeg 重封装,只保留第一路 video 和第二路 audio,避免 PotPlayer
/aud=仍播放主流声音的问题。 - 合流会记住同一组
video/audio上次选择的画质。 - 默认关闭调试窗口。
Extension/Media/PlayParse/
├── MediaPlayParse - DouYu.as
├── MediaPlayParse - DouYu.md
└── douyu_resolver.js
- 安装 Node.js。插件会依次尝试
C:\Program Files\nodejs\node.exe、C:\Program Files (x86)\nodejs\node.exe和 PATH 中的node.exe。 - 安装或启用可联网的 ffmpeg:
- 优先使用
DOUYU_FFMPEG指定路径、PATH 中的ffmpeg/ffmpeg.exe,以及常见的C:\ffmpeg\bin\ffmpeg.exe。 - 如果没有,会尝试使用
C:\Windows\System32\wsl.exe --exec ffmpeg或C:\Windows\Sysnative\wsl.exe --exec ffmpeg调用 WSL 里的/usr/bin/ffmpeg。
- 优先使用
- 把
Extension/Media/PlayParse/目录里的三个文件复制到 PotPlayer 对应目录:
<PotPlayer安装目录>\Extension\Media\PlayParse\
- 重启 PotPlayer,或在扩展管理里重新加载媒体解析扩展。
打开普通直播间:
https://www.douyu.com/9999
douyu://9999
dy://9999
打开音画合流:
douyu://merge?video=画面房间号&audio=声音房间号&v_rate=-1&a_rate=2&delay_ms=0
也支持网页形式:
https://www.douyu.com/merge?video=1863767&audio=36252&delay_ms=1000&step_ms=100
video:取画面的斗鱼房间号。audio:取声音的斗鱼房间号。v_rate:画面清晰度档位。留空或-1时,优先使用上次同一组合流记住的档位;没有记忆时使用斗鱼网页默认档位。a_rate:声音房间取流档位。默认使用2,减少双路拉流带宽。delay_ms/delay/audio_delay/adelay:音频偏移,单位毫秒。正数让声音更晚,负数让声音更早。step_ms:兼容旧参数,当前 ffmpeg 合流不依赖 PotPlayer 快捷键步进。
合流本地输出地址默认是:
http://127.0.0.1:18771/merge?...
这是本地重封装输出,不是斗鱼代理。两路斗鱼 PC FLV 由 ffmpeg 直连拉取。
合流会记住同一组 video/audio 上次选择的 v_rate。例如切到 4K超高清 后,下次打开同一组不带 v_rate 或 v_rate=-1 的合流 URL,会默认继续使用 4K。
记忆文件:
<PotPlayer安装目录>\Extension\Media\PlayParse\DouYuState.json
普通单房间播放目前不做画质记忆,因为 PotPlayer 切换普通画质时播放的是 CDN 直链,切换动作不会再次经过脚本。
DOUYU_DATA_DIR:覆盖默认运行数据目录。默认是douyu_resolver.js所在目录。DOUYU_STATE_FILE:覆盖画质记忆文件路径。DOUYU_MERGE_PORT:覆盖合流服务端口,默认18771。DOUYU_PROXY_PORT:覆盖 HLS 代理端口,默认18767。DOUYU_FFMPEG:指定 Windows ffmpeg 路径。DOUYU_NO_LOCAL_PROXY=1:禁用 HLS 本地代理。DOUYU_PROXY_FLV=1:强制 FLV 也走本地代理。DOUYU_USE_NATIVE_FETCH=1:允许 Node.js 原生 fetch。默认禁用,以规避部分环境下 TLS 连接异常。
- 没有画质菜单:确认使用的是 PC FLV 解析路径,
douyu_resolver.js resolve <room> -1应返回format:"flv"和qualities。 - 合流只有前者声音:确认使用的是新版脚本,合流日志应包含 ffmpeg 参数
-map 0:v:0 -map 1:a:0。 - 提示找不到 ffmpeg:安装带网络协议的 Windows ffmpeg,或确认 WSL 中
/usr/bin/ffmpeg可用。 - 播放卡顿:优先降低
v_rate或a_rate。4K 双路拉流对网络和 CPU 都更敏感。
chcp 65001 | Out-Null
[Console]::OutputEncoding=[System.Text.Encoding]::UTF8
$OutputEncoding=[System.Text.Encoding]::UTF8
$potPlayer = "<PotPlayer安装目录>"
& "C:\Program Files\nodejs\node.exe" `
"$potPlayer\Extension\Media\PlayParse\douyu_resolver.js" `
resolve_merge 1863767 36252 -1 2 1000 100