yutto-dev/yutto

🐛 个别视频无法下载

Closed this issue · 11 comments

问题简述

这个视频无法下载:https://www.bilibili.com/video/BV1Lv4y157WF/
网页打开的话会自动跳转到:https://www.bilibili.com/festival/jzj2023?bvid=BV1Lv4y157WF
两个链接都会提示 url 不正确呦~

复现方式

yutto https://www.bilibili.com/video/BV1Lv4y157WF
yutto https://www.bilibili.com/festival/jzj2023?bvid=BV1Lv4y157WF

环境信息

  • OS: 操作系统类型及其版本号
  • Python: Python 3.11.2
  • yutto: yutto 2.0.0-beta.42
  • FFmpeg: ffmpeg version 5.1.5-0+rpt1+deb12u1
  • 如果是显示相关问题
    • Shell: /bin/bash
    • Terminal: 终端类型
  • Others: 其它信息

额外信息

No response

一点点的自我检查

  • 充分阅读 README.md,特别是与本 issue 相关的部分
  • 如果是网络问题,已经检查网络连接、设置是否正常,并经过充分测试认为这是 yutto 本身的问题
  • 本 issue 在 issuesdiscussion 中并没有重复问题
  • 确认所希望下载的资源是本人有权限获取的,yutto 不提供任何超出本人权限的资源下载方式

网页打开的话会自动跳转到:bilibili.com/festival/jzj2023?bvid=BV1Lv4y157WF

yutto.venv ❯ uv run yutto -c `cat ~/.sessdata` BV1Lv4y157WF -w --debug
 DEBUG  get_user_info cache miss: user_info, all cache keys: []
 DEBUG  Fetch json: https://api.bilibili.com/x/web-interface/nav
 大会员  成功以大会员身份登录~
 DEBUG  ffmpeg -codecs
 DEBUG  ffmpeg -encoders
 DEBUG  ffmpeg -codecs
 DEBUG  ffmpeg -encoders
 DEBUG  Get redircted url: https://www.bilibili.com/video/BV1Lv4y157WF?p=1 -> https://www.bilibili.com/festival/jzj2023?bvid=BV1Lv4y157WF&p=1
 ERROR  url 不正确,也许该 url 仅支持批量下载,如果是这样,请使用参数 -b~
 INFO  已终止下载,再次运行即可继续下载~

这里应该是 redirect 后变成了这个不认识的 url 😂,这倒是没想到,我想想要怎么支持比较好

yutto 2.0.0-beta.43 依旧无法下载这个视频。
使用 pip install git+https://github.com/yutto-dev/yutto@main 重新安装过了。

DEBUG  get_user_info cache miss: user_info, all cache keys: []
DEBUG  Fetch json: https://api.bilibili.com/x/web-interface/nav
大会员  成功以大会员身份登录~
DEBUG  ffmpeg -codecs
DEBUG  ffmpeg -encoders
DEBUG  ffmpeg -codecs
DEBUG  ffmpeg -encoders
DEBUG  get_user_info cache hit: user_info
DEBUG  Get redircted url: https://www.bilibili.com/festival/jzj2023?bvid=BV1Lv4y157WF
ERROR  url 不正确呦~
INFO  已终止下载,再次运行即可继续下载~

@SigureMo

使用 pip install --pre yutto==2.0.0-beta.43 试试呢?

使用 pip install --pre yutto==2.0.0-beta.43 --force-reinstall 重新安装了。

yutto -v
yutto 2.0.0-beta.43

DEBUG  get_user_info cache miss: user_info, all cache keys: []
DEBUG  Fetch json: https://api.bilibili.com/x/web-interface/nav
大会员  成功以大会员身份登录~
DEBUG  ffmpeg -codecs
DEBUG  ffmpeg -encoders
DEBUG  ffmpeg -codecs
DEBUG  ffmpeg -encoders
DEBUG  get_user_info cache hit: user_info
DEBUG  Get redircted url: https://www.bilibili.com/video/BV1Lv4y157WF?p=1 -> https://www.bilibili.com/festival/jzj2023?bvid=BV1Lv4y157WF&p=1
ERROR  url 不正确呦~
INFO  已终止下载,再次运行即可继续下载~

这两次执行的命令分别是什么呢?原始 url 是什么呢?

yutto --vip-strict -c "$(cat /mnt/Data/bilibili-webhook/SESSDATA.txt)" --vcodec="hevc:copy" -b --no-danmaku --no-subtitle --proxy=no --debug BV1Lv4y157WF

然后刚刚尝试了 Docker 的:docker run --rm -it -v $(pwd):/app siguremo/yutto --vip-strict -c "$(cat /mnt/Data/bilibili-webhook/SESSDATA.txt)" --vcodec="hevc:copy" -b --no-danmaku --no-subtitle --proxy=no --debug BV1Lv4y157WF

两个都是相同的结果

DEBUG  get_user_info cache miss: user_info, all cache keys: []
DEBUG  Fetch json: https://api.bilibili.com/x/web-interface/nav
大会员  成功以大会员身份登录~
DEBUG  ffmpeg -codecs
DEBUG  ffmpeg -encoders
DEBUG  ffmpeg -codecs
DEBUG  ffmpeg -encoders
DEBUG  get_user_info cache hit: user_info
DEBUG  Get redircted url: https://www.bilibili.com/video/BV1Lv4y157WF?p=1 -> https://www.bilibili.com/estival/jzj2023?bvid=BV1Lv4y157WF&p=1
ERROR  url 不正确呦~
INFO  已终止下载,再次运行即可继续下载~

喔喔知道了,是没对 -b 批量下载适配 😂,我适配下

或许可以在 debug 信息里输出使用的参数?

或许可以在 debug 信息里输出使用的参数?

这个一般在 issue template 里都有要求,倒也还好,而且一旦输出了的话,大概率用户会忘记删掉 cookie 直接贴过来的

喔喔知道了,是没对 -b 批量下载适配 😂,我适配下

#345 修复了,稍后我发个新版本吧(如果没啥问题的话),应该是 rc1

这个一般在 issue template 里都有要求,倒也还好,而且一旦输出了的话,大概率用户会忘记删掉 cookie 直接贴过来的

就排除 cookie 项,其他好像输出也没关系了。

使用 pip install --force-reinstall git+https://github.com/yutto-dev/yutto@main 安装试了,可以正常下载了。