Skip to content

About

PotPlayer DouYu live parser with quality menu and ffmpeg merge

Resources

Stars

2 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

Repository files navigation

PotPlayer DouYu Live

中文 | English

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

安装

  1. 安装 Node.js。插件会依次尝试 C:\Program Files\nodejs\node.exe、C:\Program Files (x86)\nodejs\node.exe 和 PATH 中的 node.exe。
  2. 安装或启用可联网的 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。
  3. 把 Extension/Media/PlayParse/ 目录里的三个文件复制到 PotPlayer 对应目录:
<PotPlayer安装目录>\Extension\Media\PlayParse\
  1. 重启 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

About

PotPlayer DouYu live parser with quality menu and ffmpeg merge

Resources

Stars

2 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages