搜索或下载时崩溃常见 Extractor 错误的排查步骤
场景一:搜索后应用闪退
官方已知问题:如果你在「More → Settings → General → Data fetching extractor (YouTube)」里选了 NewPipe 作为 Extractor,部分版本的 NewPipe 提取器会导致搜索完成后直接崩溃。
修复方法
- 打开设置页面(如果应用还能打开)
- 找到 General → Data fetching extractor (YouTube)
- 把它改成 yt-dlp(默认值)
- 同时把「Formats source」也改成 yt-dlp
- 重启应用试试
如果应用崩得连设置页面都打不开,先让它崩几次系统会给你一个应用崩溃恢复提示。或者卸载重装(重装前记得导出备份)。
场景二:下载报 Extractor 错误
日志里出现:
ERROR: youtube: Failed to extract <ID>
ERROR: This video may be private or deleted
或者:
ERROR: Unable to extract video url; please report this issue on https://github.com/yt-dlp/yt-dlp/issues
排查步骤
- 先更 yt-dlp(90% 的情况这样搞定)
- 去「更多 → 设置 → Updating → Check now」手动更一次
- 或者终端里跑
yt-dlp -U
- 切换到 Nightly 更新源(如果还在 Stable 源,可能修复还没同步过来)
- 检查 Cookies:这个视频是不是需要登录才能看?如果是,开 Cookies 试试
- 用终端手动跑:
yt-dlp -F "<URL>"看看 yt-dlp 能不能列出格式——如果终端也报错就是 yt-dlp 本身的问题,得去 yt-dlp 仓库提 Issue - 清空 app 数据重装(备份之后)
场景三:下载完打不开
文件存在但播放器说格式不支持、或打开后花屏 / 音画错位。
排查步骤
- 换个容器重下:mp4/webm 不支持 → 试试 mkv;mp3 打不开 → 试试 m4a
- 开 Compatible Video(更多 → 设置 → Processing)→ 视频强制重新编码为 H.264 + AAC + mp4,几乎所有播放器都能识别
- FFmpeg 版本太旧:去 Packages 页面升级 FFmpeg 到最新版
- 源站格式本身问题:用终端手动验证:
ffmpeg -i "视频文件"看看 ffmpeg 能不能正常识别
场景四:播放列表解析不全
大播放列表只有一半条目被识别出来、或者解析过程卡住不动。
- 等解析完成再下载(不要中途点下载)
- 分批处理大列表(比如 1000 条的播放列表分 5 次)
- 开 Cookies 试试(有些公开播放列表匿名访问有限制)
- 终端里跑
yt-dlp --flat-playlist "<播放列表URL>" --print "%(title)s"看 yt-dlp 能识别多少条
场景五:提交 Bug 的正确姿势
如果以上排查都不行,去 GitHub Issues 提 Bug,一定要带上:
- 完整日志(Downloads 页面 → 条目详情 → 文件图标 → 复制全部日志)
- 你的设备信息(型号、Android 版本、YTDLnis 版本、yt-dlp 版本)
- 出现问题的链接(脱敏后的 URL 或 ID)
- 已尝试的修复步骤
开发者每天处理大量 Issue,没有这些信息很可能会被直接关闭或标记为 Needs More Info。