Code Monkey home page Code Monkey logo

bili-sync's Introduction

Hi there! 👋

I'm amtoaer, a backend development engineer from China.

About Me

👨🏻‍💻 I'm working for a startup in Beijing, China.

🎯 I'm currently learning The Rust Programming Language.

🏕️ I enjoy skating, playing billiards, listening to music, and watching anime.

🕹️ Street Fighter 6 is the game I'm very passionate about.

Skills

Category Skills
Operating System
Programming Languages
Development Tools

Weekly Code Stats

Github Stats

bili-sync's People

Contributors

amtoaer avatar cxz888 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

bili-sync's Issues

正常运行一段时间之后,就出现陷入重启状态,报错TypeError: 'NoneType' object is not iterable

2023-12-31 16:14:43.049 | INFO | processor:process_favorite:150 - Favorite 1410947741 Musics processed successfully.
2023-12-31 16:14:43.168 | INFO | processor:process_favorite:104 - Start to process favorite 146022041: 默认收藏夹
Traceback (most recent call last):
File "/app/entry.py", line 50, in
runner.run(entry())
File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
File "/app/entry.py", line 43, in entry
await process()
File "/app/processor.py", line 95, in process
await process_favorite(favorite_id)
File "/app/processor.py", line 125, in process_favorite
bvid__in=[media["bvid"] for media in favorite_video_list["medias"]],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable

群晖Docker下如何查看日志?

本人使用群晖Docker,顺利部署大佬的项目,添加了一个视频测试后发现:文件夹里多了封面和nfo文件,能看到容器的网络一直在5kbps左右被占用,应该是在下载,但是:

  1. 不知道在哪里查看相关日志,下载内容或进度
  2. 5kbps左右的速度显然有些问题

合集视频只能下载第一P

对于分P的合集视频,无论在哪一P添加收藏,最终会被下载的只有第一P。如果可能希望能支持一下。

[建议]Windows环境下的支持

Windows下无法安装uvloop依赖
去除import uvloop并修改为asyncio.set_event_loop_policy(asyncio.WindowsProactorEventLoopPolicy())后能正常启动脚本

能否考虑通过动态导入库的方式, 为Windows环境提供支持?

目前在Windows下, 未开启系统代理时 脚本工作正常

一点小建议

不知可不可以再加一个变量,可以选择下载的视频、弹幕等文件,能够保留原来的名字呢,虽然有生成的nfo文件可以导入emby、jellyfin等可以看到他的详细信息,但在本地目录看起来都是bv号,想找到他都挺麻烦的

群晖docker一直处于重启状态

config.json配置正确,并且放到了配置文件夹下,权限也给了。但是一直处于重启状态,日志如下
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/app/entry.py", line 7, in
from commands import (
File "/app/commands.py", line 9, in
from models import FavoriteItem
File "/app/models.py", line 15, in
from settings import settings
File "/app/settings.py", line 76, in
settings = init_settings()
^^^^^^^^^^^^^^^
File "/app/settings.py", line 67, in init_settings
Config.load(DEFAULT_CONFIG_PATH)
File "/app/settings.py", line 48, in load
raise RuntimeError(f"Failed to load config file: {path}") from e
RuntimeError: Failed to load config file: /app/config/config.json

群晖docker 启动后停止

日志显示如下

2024/04/03 21:51:31 stdout �[32m2024-04-03 21:51:31.651�[0m | �[1mINFO �[0m | �[36m__main__�[0m:�[36m�[0m:�[36m55�[0m - �[1mDone, exited.�[0m
2024/04/03 21:51:31 stdout �[32m2024-04-03 21:51:31.411�[0m | �[1mINFO �[0m | �[36m__main__�[0m:�[36m�[0m:�[36m53�[0m - �[1mCleaning up resources...�[0m
2024/04/03 21:51:31 stdout �[31m�[1mTypeError�[0m:�[1m 'NoneType' object is not iterable�[0m
2024/04/03 21:51:31 stdout
2024/04/03 21:51:31 stdout �[36m └ �[0m�[36m�[1m<FavoriteList: 2429843250>�[0m
2024/04/03 21:51:31 stdout �[36m │ └ �[0m�[36m�[1m{'info': {'id': 2429843250, 'fid': 24298432, 'mid': 348139750, 'attr': 23, 'title': '旅行', 'cover': 'http://i1.hdslb.com/bfs/a...�[0m
2024/04/03 21:51:31 stdout �[1mfavorite_list�[0m�[35m�[1m=�[0m�[1mfav_list�[0m�[1m,�[0m �[1mbvid__in�[0m�[35m�[1m=�[0m�[1m[�[0m�[1mmedia�[0m�[1m[�[0m�[36m"bvid"�[0m�[1m]�[0m �[35m�[1mfor�[0m �[1mmedia�[0m �[35m�[1min�[0m �[1mfavorite_video_list�[0m�[1m[�[0m�[36m"medias"�[0m�[1m]�[0m�[1m]�[0m
2024/04/03 21:51:31 stdout File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m125�[0m, in �[35mprocess_favorite�[0m
2024/04/03 21:51:31 stdout
2024/04/03 21:51:31 stdout �[36m └ �[0m�[36m�[1m<function process_favorite at 0x7f49c11d1080>�[0m
2024/04/03 21:51:31 stdout �[36m │ └ �[0m�[36m�[1m2429843250�[0m
2024/04/03 21:51:31 stdout �[35m�[1mawait�[0m �[1mprocess_favorite�[0m�[1m(�[0m�[1mfavorite_id�[0m�[1m)�[0m
2024/04/03 21:51:31 stdout File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m100�[0m, in �[35mprocess�[0m
2024/04/03 21:51:31 stdout
2024/04/03 21:51:31 stdout �[36m └ �[0m�[36m�[1m<function process at 0x7f49c11d0fe0>�[0m
2024/04/03 21:51:31 stdout �[35m�[1mawait�[0m �[1mprocess�[0m�[1m(�[0m�[1m)�[0m
2024/04/03 21:51:31 stdout File "�[32m/app/�[0m�[32m�[1mentry.py�[0m", line �[33m38�[0m, in �[35mentry�[0m
2024/04/03 21:51:31 stdout
2024/04/03 21:51:31 stdout return future.result()
2024/04/03 21:51:31 stdout File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
2024/04/03 21:51:31 stdout └ <asyncio.runners.Runner object at 0x7f49c510dc10>
2024/04/03 21:51:31 stdout │ └ <uvloop.Loop running=False closed=False debug=False>
2024/04/03 21:51:31 stdout │ │ └ <method 'run_until_complete' of 'uvloop.loop.Loop' objects>
2024/04/03 21:51:31 stdout │ │ │ └ <Task finished name='Task-1' coro=<entry() done, defined at /app/entry.py:17> exception=TypeError("'NoneType' object is not i...
2024/04/03 21:51:31 stdout return self._loop.run_until_complete(task)
2024/04/03 21:51:31 stdout File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
2024/04/03 21:51:31 stdout
2024/04/03 21:51:31 stdout �[36m└ �[0m�[36m�[1m<asyncio.runners.Runner object at 0x7f49c510dc10>�[0m
2024/04/03 21:51:31 stdout �[36m│ └ �[0m�[36m�[1m<function Runner.run at 0x7f49c507ede0>�[0m
2024/04/03 21:51:31 stdout �[36m│ │ └ �[0m�[36m�[1m<function entry at 0x7f49c4a98a40>�[0m
2024/04/03 21:51:31 stdout �[1mrunner�[0m�[35m�[1m.�[0m�[1mrun�[0m�[1m(�[0m�[1mentry�[0m�[1m(�[0m�[1m)�[0m�[1m)�[0m
2024/04/03 21:51:31 stdout > File "�[32m/app/�[0m�[32m�[1mentry.py�[0m", line �[33m47�[0m, in �[35m�[0m
2024/04/03 21:51:31 stdout
2024/04/03 21:51:31 stdout �[33m�[1mTraceback (most recent call last):�[0m
2024/04/03 21:51:31 stdout �[32m2024-04-03 21:51:31.069�[0m | �[31m�[1mERROR �[0m | �[36m__main__�[0m:�[36m�[0m:�[36m49�[0m - �[31m�[1mUnexpected error occurred, exiting...�[0m
2024/04/03 21:51:31 stdout �[32m2024-04-03 21:51:31.056�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite�[0m:�[36m111�[0m - �[1mStart to process favorite 2429843250: 旅行.�[0m
2024/04/03 21:51:30 stdout �[32m2024-04-03 21:51:30.935�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite�[0m:�[36m138�[0m - �[1mFavorite 2570330750 开发 has been processed.�[0m
2024/04/03 21:51:30 stdout �[32m2024-04-03 21:51:30.668�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite�[0m:�[36m111�[0m - �[1mStart to process favorite 2570330750: 开发.�[0m
2024/04/03 21:51:30 stdout �[32m2024-04-03 21:51:30.562�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite�[0m:�[36m138�[0m - �[1mFavorite 762473650 默认收藏夹 has been processed.�[0m
2024/04/03 21:51:29 stdout �[32m2024-04-03 21:51:29.785�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite�[0m:�[36m111�[0m - �[1mStart to process favorite 762473650: 默认收藏夹.�[0m
2024/04/03 21:51:29 stdout �[32m2024-04-03 21:51:29.244�[0m | �[1mINFO �[0m | �[36m__main__�[0m:�[36mentry�[0m:�[36m36�[0m - �[1mRunning daemon...�[0m
2024/04/03 21:51:28 stdout �[33mNo upgrade items found�[0m

httpcore.ConnectTimeout

只下载到了封面图和nfo文件,日志主要是http 超时,config不应该有问题呀,,,,
拜托了。。。

一启动就出错。用的是UTF8编码,请问是什么原因

2024/01/07 10:31:33 | stdout | TypeError: 'NoneType' object is not iterable
2024/01/07 10:31:33 | stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024/01/07 10:31:33 | stdout | bvid__in=[media["bvid"] for media in favorite_video_list["medias"]],
2024/01/07 10:31:33 | stdout | File "/app/processor.py", line 125, in process_favorite
2024/01/07 10:31:33 | stdout | await process_favorite(favorite_id)
2024/01/07 10:31:33 | stdout | File "/app/processor.py", line 95, in process
2024/01/07 10:31:33 | stdout | await process()
2024/01/07 10:31:33 | stdout | File "/app/entry.py", line 43, in entry
2024/01/07 10:31:33 | stdout | File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
2024/01/07 10:31:33 | stdout | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
2024/01/07 10:31:33 | stdout | return self._loop.run_until_complete(task)
2024/01/07 10:31:33 | stdout | File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
2024/01/07 10:31:33 | stdout | runner.run(entry())
2024/01/07 10:31:33 | stdout | File "/app/entry.py", line 50, in 
2024/01/07 10:31:33 | stdout | Traceback (most recent call last):
2024/01/07 10:31:33 | stdout | �[32m2024-01-07 10:31:33.963�[0m | �[1mINFO    �[0m | �[36mprocessor�[0m:�[36mprocess_favorite�[0m:�[36m104�[0m - �[1mStart to process favorite 48582019: 默认收藏夹�[0m
2024/01/07 10:31:33 | stdout | �[32m2024-01-07 10:31:33.131�[0m | �[1mINFO    �[0m | �[36m__main__�[0m:�[36mentry�[0m:�[36m41�[0m - �[1mRunning daemon...�[0m
2024/01/07 10:31:32 | stdout | �[33mNo upgrade items found�[0m

cannot connect to host api

aiohttp.client_exceptions.ClientConnectorError: Cannot connect to host api.bilibili.com:443 ssl:default [Try again]
2024-03-08 15:08:01.203 | INFO | main::53 - Cleaning up resources...
2024-03-08 15:08:01.208 | INFO | main::55 - Done, exited.

** Press ANY KEY to close this window **

前段时间还能运行这段时间,凉凉了。这是啥情况?

unraid

docker开启一段时间后就自己关闭了是怎么一回事
微信截图_20240406120104

群晖docker运行后一直处于重启状态

config.json配置正确,并确放到了config文件夹下了,权限也给了,但是不知道为何群晖docker运行后一直处于重启状态,部分日志如下,最后一句是载入配置文件失败,试了很多次,还是不行。
Traceback (most recent call last):
File "/app/settings.py", line 46, in load
return Config.schema().loads(f.read())
^^^^^^^^
File "", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 819: invalid continuation byte
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/app/entry.py", line 7, in
from commands import (
File "/app/commands.py", line 9, in
from models import FavoriteItem
File "/app/models.py", line 15, in
from settings import settings
File "/app/settings.py", line 76, in
settings = init_settings()
^^^^^^^^^^^^^^^
File "/app/settings.py", line 67, in init_settings
Config.load(DEFAULT_CONFIG_PATH)
File "/app/settings.py", line 48, in load
raise RuntimeError(f"Failed to load config file: {path}") from e
RuntimeError: Failed to load config file: /app/config/config.json
Traceback (most recent call last):
File "/app/settings.py", line 46, in load
return Config.schema().loads(f.read())
^^^^^^^^
File "", line 322, in decode
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xc8 in position 819: invalid continuation byte
The above exception was the direct cause of the following exception:
Traceback (most recent call last):
File "/app/entry.py", line 7, in
from commands import (
File "/app/commands.py", line 9, in
from models import FavoriteItem
File "/app/models.py", line 15, in
from settings import settings
File "/app/settings.py", line 76, in
settings = init_settings()
^^^^^^^^^^^^^^^
File "/app/settings.py", line 67, in init_settings
Config.load(DEFAULT_CONFIG_PATH)
File "/app/settings.py", line 48, in load
raise RuntimeError(f"Failed to load config file: {path}") from e
RuntimeError: Failed to load config file: /app/config/config.json

TypeError: 'NoneType' object is not iterable

启动后自动停止了。

日志:

2023-12-31 05:02:59.672 | INFO | main:entry:41 - Running daemon...
2023-12-31 05:02:59.881 | INFO | processor:process_favorite:104 - Start to process favorite 1097388686: 默认收藏夹
Traceback (most recent call last):
File "/app/entry.py", line 50, in
runner.run(entry())
File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
File "/app/entry.py", line 43, in entry
await process()
File "/app/processor.py", line 95, in process
await process_favorite(favorite_id)
File "/app/processor.py", line 125, in process_favorite
bvid__in=[media["bvid"] for media in favorite_video_list["medias"]],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
2023-12-31 05:03:12.404 | INFO | main:entry:41 - Running daemon...
2023-12-31 05:03:12.590 | INFO | processor:process_favorite:104 - Start to process favorite 1097388686: 默认收藏夹
Traceback (most recent call last):
File "/app/entry.py", line 50, in
runner.run(entry())
File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
File "/app/entry.py", line 43, in entry
await process()
File "/app/processor.py", line 95, in process
await process_favorite(favorite_id)
File "/app/processor.py", line 125, in process_favorite
bvid__in=[media["bvid"] for media in favorite_video_list["medias"]],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
2023-12-31 05:06:06.916 | INFO | main:entry:41 - Running daemon...
2023-12-31 05:06:07.087 | INFO | processor:process_favorite:104 - Start to process favorite 1097388686: 默认收藏夹
Traceback (most recent call last):
File "/app/entry.py", line 50, in
runner.run(entry())
File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
File "/app/entry.py", line 43, in entry
await process()
File "/app/processor.py", line 95, in process
await process_favorite(favorite_id)
File "/app/processor.py", line 125, in process_favorite
bvid__in=[media["bvid"] for media in favorite_video_list["medias"]],
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: 'NoneType' object is not iterable
No upgrade items found
No upgrade items found
No upgrade items found

可能的一些建议

1.多P视频似乎存在问题,只能下载首个视频,其他分P无法下载。
2.获取cookies中的数据,即便是本人账号的。也无法下载被设为非公开的收藏夹,必须设为公开后才能进行下载。
3.(建议)最好还是设计一个WEB GUI界面,能够显示已下载收藏夹的数量及未下载或失效的。配置问题也可以更方便的设置。
4.另外现在B站有和YouTube一样的播放合集了。不知道可不可以使用。

cookies的问题

据我观察,会员的cookies会在大约1-2天内过期

之后下载的就都是480p的低清晰度视频了

需要更新一下config文件里的几件套

不太好搞的感觉,估计需要模拟游览器访问bilibili

也不知道b站的机制

视频清晰度

抱歉问一下,清晰的能调整吗,我看下载的基本都是些480p的视频

接口返回错误代码:-400

您好!非常感谢开发这个好用的docker镜像;
我这边遇到的问题似乎是因为-400 Bad Request导致无法下载视频,我尝试过更新Cookie(使用无痕模式获取的,尝试了手机短信验证登录和扫码登陆),但是并没有解决这个问题,同时我的收藏夹都是私密的,而程序可以正常获取新添加的视频信息,但是无法下载,因此我认为Cookie并没有失效。 我在美国且有固定公网IP,是否会触发某种检测/限制?我具体的报错信息如下:

2024-02-24 12:13:22.832 | ERROR    | processor:process_favorite_item:331 - Failed to process video BV1i6421M7jg 相机取景器中的雪国!vlog|一年一度北海道的旅行|907X CFV100C, error_code: -400
Traceback (most recent call last):

  File "/app/entry.py", line 54, in <module>
    runner.run(entry())
    │      │   └ <function entry at 0x7fedcc25be20>
    │      └ <function Runner.run at 0x7fedcc24ade0><asyncio.runners.Runner object at 0x7fedcc2e1710>

  File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           │    │     │                  └ <Task pending name='Task-1' coro=<entry() running at /app/entry.py:45> wait_for=<_GatheringFuture pending cb=[Task.task_wakeu...
           │    │     └ <method 'run_until_complete' of 'uvloop.loop.Loop' objects>
           │    └ <uvloop.Loop running=True closed=False debug=False><asyncio.runners.Runner object at 0x7fedcc2e1710>

  File "/app/processor.py", line 32, in wrapper
    return await func(*args, **kwargs)
                 │     │       └ {}
                 │     └ (<FavoriteItem: 270374>,)
                 └ <function process_favorite_item at 0x7fedc8441300>

> File "/app/processor.py", line 288, in process_favorite_item
    await v.get_download_url(page_index=0)
          │ └ <function Video.get_download_url at 0x7fedca1682c0><bilibili_api.video.Video object at 0x7fedc812f850>

  File "/usr/local/lib/python3.11/site-packages/bilibili_api/video.py", line 460, in get_download_url
    await Api(**api, credential=self.credential).update_params(**params).result
          │     │               │    │                           └ {'avid': -746717123, 'cid': 1445832795, 'qn': '127', 'otype': 'json', 'fnval': 4048, 'fourk': 1}
          │     │               │    └ <credential.PersistedCredential object at 0x7fedc841ee10>
          │     │               └ <bilibili_api.video.Video object at 0x7fedc812f850>
          │     └ {'url': 'https://api.bilibili.com/x/player/playurl', 'method': 'GET', 'verify': False, 'params': {'avid': 'int: av 号', 'cid':...
          └ <class 'bilibili_api.utils.network.Api'>
  File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 271, in result
    self.__result = await self.request()
    │                     │    └ <function retry.<locals>.wrapper.<locals>.inner at 0x7fedca5dee80>
    │                     └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
    └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
  File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 171, in inner
    return await func(*args, **kwargs)
                 │     │       └ {}
                 │     └ (Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-...
                 └ <function Api.request at 0x7fedca5dede0>
  File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 511, in request
    real_data = self._process_response(
                │    └ <function Api._process_response at 0x7fedca5dec00>
                └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
  File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 556, in _process_response
    raise ResponseCodeException(code, msg, resp_data)
          │                     │     │    └ {'code': -400, 'message': '请求错误', 'ttl': 1}
          │                     │     └ '请求错误'
          │                     └ -400
          └ <class 'bilibili_api.exceptions.ResponseCodeException.ResponseCodeException'>

bilibili_api.exceptions.ResponseCodeException.ResponseCodeException: 接口返回错误代码:-400,信息:请求错误。
{'code': -400, 'message': '请求错误', 'ttl': 1}

请问您是否有什么解决此问题的思路?感谢!

关于字幕字体大小的问题

刚才忘了说了,用jellyfin在看字幕的时候,发现,不同的分辨率下的字体是不一样的

没认真研究,但猜想是因为视频分辨率不同导致的

所以可以字体的生成需要依赖不同的分辨率去动态调整

可能emby没啥问题,所以说一声,没仔细去看emby,因为那个东西的客户端不开源

最新版视频无法下载,只会下载封面和生成nfo文件

date,stream,content
2024-02-11T02:52:58.315097384Z,stdout,�[32m2024-02-11 10:52:58.314�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite�[0m:�[36m150�[0m - �[1mFavorite 2793760127 temp processed successfully.�[0m

2024-02-11T02:52:58.314916180Z,stdout,�[32m2024-02-11 10:52:58.314�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m365�[0m - �[1mBV13t421p71j 【日本战国史话】第九十二回:小牧&长久手之战 is processed successfully.�[0m

2024-02-11T02:52:57.915059445Z,stdout,"{'code': -400, 'message': '请求错误', 'ttl': 1}�[0m
"
2024-02-11T02:52:57.915043901Z,stdout,�[31m�[1mbilibili_api.exceptions.ResponseCodeException.ResponseCodeException�[0m:�[1m 接口返回错误代码:-400,信息:请求错误。

2024-02-11T02:52:57.915033954Z,stdout,

2024-02-11T02:52:57.915020870Z,stdout, └ <class 'bilibili_api.exceptions.ResponseCodeException.ResponseCodeException'>

2024-02-11T02:52:57.915009883Z,stdout, │ └ -400

2024-02-11T02:52:57.914998777Z,stdout, │ │ └ '请求错误'

2024-02-11T02:52:57.914984387Z,stdout," │ │ │ └ {'code': -400, 'message': '请求错误', 'ttl': 1}
"
2024-02-11T02:52:57.914972099Z,stdout," raise ResponseCodeException(code, msg, resp_data)
"
2024-02-11T02:52:57.914957238Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 332, in request
"
2024-02-11T02:52:57.914943277Z,stdout, └ <function Api.request at 0x7fd5c96574c0>

2024-02-11T02:52:57.914926222Z,stdout," │ └ (Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-...
"
2024-02-11T02:52:57.914915078Z,stdout, │ │ └ {}

2024-02-11T02:52:57.914903169Z,stdout," return await func(*args, **kwargs)
"
2024-02-11T02:52:57.914888209Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 70, in inner
"
2024-02-11T02:52:57.914870903Z,stdout," └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
"
2024-02-11T02:52:57.914849195Z,stdout," │ └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
"
2024-02-11T02:52:57.914834159Z,stdout, │ │ └ <function retry..wrapper..inner at 0x7fd5c9657560>

2024-02-11T02:52:57.914821493Z,stdout, self.__result = await self.request()

2024-02-11T02:52:57.914806560Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 170, in result
"
2024-02-11T02:52:57.914792979Z,stdout, └ <class 'bilibili_api.utils.network.Api'>

2024-02-11T02:52:57.914771812Z,stdout," │ └ {'url': 'https://api.bilibili.com/x/player/playurl', 'method': 'GET', 'verify': False, 'params': {'avid': 'int: av 号', 'cid':...
"
2024-02-11T02:52:57.914757131Z,stdout, │ │ └ <bilibili_api.video.Video object at 0x7fd5c7126690>

2024-02-11T02:52:57.914739792Z,stdout, │ │ │ └ <credential.PersistedCredential object at 0x7fd5c804c050>

2024-02-11T02:52:57.914717079Z,stdout," │ │ │ │ └ {'avid': -347150961, 'cid': 1432806193, 'qn': '127', 'otype': 'json', 'fnval': 4048, 'fourk': 1}
"
2024-02-11T02:52:57.914700274Z,stdout," await Api(**api, credential=self.credential).update_params(**params).result
"
2024-02-11T02:52:57.914684163Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/video.py", line 448, in get_download_url
"
2024-02-11T02:52:57.914673662Z,stdout,

2024-02-11T02:52:57.914657940Z,stdout, �[36m └ �[0m�[36m�[1m<bilibili_api.video.Video object at 0x7fd5c7126690>�[0m

2024-02-11T02:52:57.914628853Z,stdout, �[36m │ └ �[0m�[36m�[1m<function Video.get_download_url at 0x7fd5c91a44a0>�[0m

2024-02-11T02:52:57.914610285Z,stdout, �[35m�[1mawait�[0m �[1mv�[0m�[35m�[1m.�[0m�[1mget_download_url�[0m�[1m(�[0m�[1mpage_index�[0m�[35m�[1m=�[0m�[34m�[1m0�[0m�[1m)�[0m

2024-02-11T02:52:57.914595437Z,stdout,"> File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m298�[0m, in �[35mprocess_favorite_item�[0m
"
2024-02-11T02:52:57.914585431Z,stdout,

2024-02-11T02:52:57.914571446Z,stdout, �[36m └ �[0m�[36m�[1m<function process_favorite_item at 0x7fd5c8030860>�[0m

2024-02-11T02:52:57.914557671Z,stdout," �[36m │ └ �[0m�[36m�[1m(<FavoriteItem: 122298>,)�[0m
"
2024-02-11T02:52:57.914545252Z,stdout, �[36m │ │ └ �[0m�[36m�[1m{}�[0m

2024-02-11T02:52:57.914527229Z,stdout," �[35m�[1mreturn�[0m �[35m�[1mawait�[0m �[1mfunc�[0m�[1m(�[0m�[35m�[1m*�[0m�[1margs�[0m�[1m,�[0m �[35m�[1m**�[0m�[1mkwargs�[0m�[1m)�[0m
"
2024-02-11T02:52:57.914512201Z,stdout," File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m32�[0m, in �[35mwrapper�[0m
"
2024-02-11T02:52:57.914502308Z,stdout,

2024-02-11T02:52:57.914489805Z,stdout, └ <asyncio.runners.Runner object at 0x7fd5cb475a10>

2024-02-11T02:52:57.914474548Z,stdout, │ └ <uvloop.Loop running=True closed=False debug=False>

2024-02-11T02:52:57.914459621Z,stdout, │ │ └ <method 'run_until_complete' of 'uvloop.loop.Loop' objects>

2024-02-11T02:52:57.914439116Z,stdout, │ │ │ └ <Task pending name='Task-1' coro=<entry() running at /app/entry.py:43> wait_for=<_GatheringFuture pending cb=[Task.task_wakeu...

2024-02-11T02:52:57.914425424Z,stdout, return self._loop.run_until_complete(task)

2024-02-11T02:52:57.914408946Z,stdout," File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
"
2024-02-11T02:52:57.914398299Z,stdout,

2024-02-11T02:52:57.914378263Z,stdout, �[36m└ �[0m�[36m�[1m<asyncio.runners.Runner object at 0x7fd5cb475a10>�[0m

2024-02-11T02:52:57.914363194Z,stdout, �[36m│ └ �[0m�[36m�[1m<function Runner.run at 0x7fd5cb3d6ca0>�[0m

2024-02-11T02:52:57.914346564Z,stdout, �[36m│ │ └ �[0m�[36m�[1m<function entry at 0x7fd5cb3ebce0>�[0m

2024-02-11T02:52:57.914330381Z,stdout, �[1mrunner�[0m�[35m�[1m.�[0m�[1mrun�[0m�[1m(�[0m�[1mentry�[0m�[1m(�[0m�[1m)�[0m�[1m)�[0m

2024-02-11T02:52:57.914310332Z,stdout," File "�[32m/app/�[0m�[32m�[1mentry.py�[0m", line �[33m50�[0m, in �[35m�[0m
"
2024-02-11T02:52:57.914298137Z,stdout,

2024-02-11T02:52:57.914275377Z,stdout,�[33m�[1mTraceback (most recent call last):�[0m

2024-02-11T02:52:57.914172169Z,stdout,"�[32m2024-02-11 10:52:57.912�[0m | �[31m�[1mERROR �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m347�[0m - �[31m�[1mFailed to process video BV13t421p71j 【日本战国史话】第九十二回:小牧&长久手之战, error_code: -400�[0m
"
2024-02-11T02:52:57.531683311Z,stdout,�[32m2024-02-11 10:52:57.531�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m365�[0m - �[1mBV12A4m157je 天上掉馅饼当太子,李治凭什么能接的住这泼天富贵?《从初唐走向盛唐01》 is processed successfully.�[0m

2024-02-11T02:52:57.469010482Z,stdout,"{'code': -400, 'message': '请求错误', 'ttl': 1}�[0m
"
2024-02-11T02:52:57.468992268Z,stdout,�[31m�[1mbilibili_api.exceptions.ResponseCodeException.ResponseCodeException�[0m:�[1m 接口返回错误代码:-400,信息:请求错误。

2024-02-11T02:52:57.468982321Z,stdout,

2024-02-11T02:52:57.468966851Z,stdout, └ <class 'bilibili_api.exceptions.ResponseCodeException.ResponseCodeException'>

2024-02-11T02:52:57.468954822Z,stdout, │ └ -400

2024-02-11T02:52:57.468943603Z,stdout, │ │ └ '请求错误'

2024-02-11T02:52:57.468928864Z,stdout," │ │ │ └ {'code': -400, 'message': '请求错误', 'ttl': 1}
"
2024-02-11T02:52:57.468914325Z,stdout," raise ResponseCodeException(code, msg, resp_data)
"
2024-02-11T02:52:57.468897678Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 332, in request
"
2024-02-11T02:52:57.468884234Z,stdout, └ <function Api.request at 0x7fd5c96574c0>

2024-02-11T02:52:57.468866934Z,stdout," │ └ (Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-...
"
2024-02-11T02:52:57.468855373Z,stdout, │ │ └ {}

2024-02-11T02:52:57.468842090Z,stdout," return await func(*args, **kwargs)
"
2024-02-11T02:52:57.468825058Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 70, in inner
"
2024-02-11T02:52:57.468806402Z,stdout," └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
"
2024-02-11T02:52:57.468783697Z,stdout," │ └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
"
2024-02-11T02:52:57.468767101Z,stdout, │ │ └ <function retry..wrapper..inner at 0x7fd5c9657560>

2024-02-11T02:52:57.468753796Z,stdout, self.__result = await self.request()

2024-02-11T02:52:57.468735338Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 170, in result
"
2024-02-11T02:52:57.468720870Z,stdout, └ <class 'bilibili_api.utils.network.Api'>

2024-02-11T02:52:57.468689188Z,stdout," │ └ {'url': 'https://api.bilibili.com/x/player/playurl', 'method': 'GET', 'verify': False, 'params': {'avid': 'int: av 号', 'cid':...
"
2024-02-11T02:52:57.468672952Z,stdout, │ │ └ <bilibili_api.video.Video object at 0x7fd5c70dca10>

2024-02-11T02:52:57.468625915Z,stdout, │ │ │ └ <credential.PersistedCredential object at 0x7fd5c804c050>

2024-02-11T02:52:57.468603469Z,stdout," │ │ │ │ └ {'avid': -1047019410, 'cid': 1434736511, 'qn': '127', 'otype': 'json', 'fnval': 4048, 'fourk': 1}
"
2024-02-11T02:52:57.468587692Z,stdout," await Api(**api, credential=self.credential).update_params(**params).result
"
2024-02-11T02:52:57.468572063Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/video.py", line 448, in get_download_url
"
2024-02-11T02:52:57.468561135Z,stdout,

2024-02-11T02:52:57.468547551Z,stdout, �[36m └ �[0m�[36m�[1m<bilibili_api.video.Video object at 0x7fd5c70dca10>�[0m

2024-02-11T02:52:57.468531295Z,stdout, �[36m │ └ �[0m�[36m�[1m<function Video.get_download_url at 0x7fd5c91a44a0>�[0m

2024-02-11T02:52:57.468509197Z,stdout, �[35m�[1mawait�[0m �[1mv�[0m�[35m�[1m.�[0m�[1mget_download_url�[0m�[1m(�[0m�[1mpage_index�[0m�[35m�[1m=�[0m�[34m�[1m0�[0m�[1m)�[0m

2024-02-11T02:52:57.468493596Z,stdout,"> File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m298�[0m, in �[35mprocess_favorite_item�[0m
"
2024-02-11T02:52:57.468483523Z,stdout,

2024-02-11T02:52:57.468469157Z,stdout, �[36m └ �[0m�[36m�[1m<function process_favorite_item at 0x7fd5c8030860>�[0m

2024-02-11T02:52:57.468455122Z,stdout," �[36m │ └ �[0m�[36m�[1m(<FavoriteItem: 122297>,)�[0m
"
2024-02-11T02:52:57.468442732Z,stdout, �[36m │ │ └ �[0m�[36m�[1m{}�[0m

2024-02-11T02:52:57.468424100Z,stdout," �[35m�[1mreturn�[0m �[35m�[1mawait�[0m �[1mfunc�[0m�[1m(�[0m�[35m�[1m*�[0m�[1margs�[0m�[1m,�[0m �[35m�[1m**�[0m�[1mkwargs�[0m�[1m)�[0m
"
2024-02-11T02:52:57.468409452Z,stdout," File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m32�[0m, in �[35mwrapper�[0m
"
2024-02-11T02:52:57.468397647Z,stdout,

2024-02-11T02:52:57.468385110Z,stdout, └ <asyncio.runners.Runner object at 0x7fd5cb475a10>

2024-02-11T02:52:57.468371139Z,stdout, │ └ <uvloop.Loop running=True closed=False debug=False>

2024-02-11T02:52:57.468355982Z,stdout, │ │ └ <method 'run_until_complete' of 'uvloop.loop.Loop' objects>

2024-02-11T02:52:57.468332844Z,stdout, │ │ │ └ <Task pending name='Task-1' coro=<entry() running at /app/entry.py:43> wait_for=<_GatheringFuture pending cb=[Task.task_wakeu...

2024-02-11T02:52:57.468317414Z,stdout, return self._loop.run_until_complete(task)

2024-02-11T02:52:57.468302395Z,stdout," File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
"
2024-02-11T02:52:57.468292321Z,stdout,

2024-02-11T02:52:57.468278061Z,stdout, �[36m└ �[0m�[36m�[1m<asyncio.runners.Runner object at 0x7fd5cb475a10>�[0m

2024-02-11T02:52:57.468263356Z,stdout, �[36m│ └ �[0m�[36m�[1m<function Runner.run at 0x7fd5cb3d6ca0>�[0m

2024-02-11T02:52:57.468246935Z,stdout, �[36m│ │ └ �[0m�[36m�[1m<function entry at 0x7fd5cb3ebce0>�[0m

2024-02-11T02:52:57.468224227Z,stdout, �[1mrunner�[0m�[35m�[1m.�[0m�[1mrun�[0m�[1m(�[0m�[1mentry�[0m�[1m(�[0m�[1m)�[0m�[1m)�[0m

2024-02-11T02:52:57.468203485Z,stdout," File "�[32m/app/�[0m�[32m�[1mentry.py�[0m", line �[33m50�[0m, in �[35m�[0m
"
2024-02-11T02:52:57.468191086Z,stdout,

2024-02-11T02:52:57.468168925Z,stdout,�[33m�[1mTraceback (most recent call last):�[0m

2024-02-11T02:52:57.468060769Z,stdout,"�[32m2024-02-11 10:52:57.466�[0m | �[31m�[1mERROR �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m347�[0m - �[31m�[1mFailed to process video BV12A4m157je 天上掉馅饼当太子,李治凭什么能接的住这泼天富贵?《从初唐走向盛唐01》, error_code: -400�[0m
"
2024-02-11T02:52:57.372002361Z,stdout,�[31m�[1mKeyError�[0m:�[1m 'total'�[0m

2024-02-11T02:52:57.371992373Z,stdout,

2024-02-11T02:52:57.371973270Z,stdout," └ {'dm_seg': {}, 'flag': {}, 'count': 1892, 'dm_setting': {'dm_switch': True, 'ai_switch': False, 'ai_level': 3, 'enable_top': ...
"
2024-02-11T02:52:57.371959004Z,stdout, to_seg = view["dm_seg"]["total"] - 1

2024-02-11T02:52:57.371927940Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/video.py", line 868, in get_danmakus
"
2024-02-11T02:52:57.371915762Z,stdout, └ <bilibili_api.video.Video object at 0x7fd5c70dca10>

2024-02-11T02:52:57.371903146Z,stdout, │ └ <function Video.get_danmakus at 0x7fd5c91a4b80>

2024-02-11T02:52:57.371891484Z,stdout, │ │ └ 1434736511

2024-02-11T02:52:57.371878874Z,stdout, │ │ │ └ None

2024-02-11T02:52:57.371857201Z,stdout," danmakus = await v.get_danmakus(cid=cid, date=date) # type: ignore
"
2024-02-11T02:52:57.371841960Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/ass.py", line 211, in make_ass_file_danmakus_protobuf
"
2024-02-11T02:52:57.371831610Z,stdout,

2024-02-11T02:52:57.371810287Z,stdout, �[36m └ �[0m�[36m�[1m<module 'bilibili_api.ass' from '/usr/local/lib/python3.11/site-packages/bilibili_api/ass.py'>�[0m

2024-02-11T02:52:57.371795517Z,stdout, �[36m │ └ �[0m�[36m�[1m<function make_ass_file_danmakus_protobuf at 0x7fd5c8a1ade0>�[0m

2024-02-11T02:52:57.371780699Z,stdout, �[35m�[1mawait�[0m �[1mass�[0m�[35m�[1m.�[0m�[1mmake_ass_file_danmakus_protobuf�[0m�[1m(�[0m

2024-02-11T02:52:57.371763251Z,stdout,"> File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m263�[0m, in �[35mprocess_favorite_item�[0m
"
2024-02-11T02:52:57.371753133Z,stdout,

2024-02-11T02:52:57.371738118Z,stdout, �[36m └ �[0m�[36m�[1m<function process_favorite_item at 0x7fd5c8030860>�[0m

2024-02-11T02:52:57.371724273Z,stdout," �[36m │ └ �[0m�[36m�[1m(<FavoriteItem: 122297>,)�[0m
"
2024-02-11T02:52:57.371709146Z,stdout, �[36m │ │ └ �[0m�[36m�[1m{}�[0m

2024-02-11T02:52:57.371689218Z,stdout," �[35m�[1mreturn�[0m �[35m�[1mawait�[0m �[1mfunc�[0m�[1m(�[0m�[35m�[1m*�[0m�[1margs�[0m�[1m,�[0m �[35m�[1m**�[0m�[1mkwargs�[0m�[1m)�[0m
"
2024-02-11T02:52:57.371671874Z,stdout," File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m32�[0m, in �[35mwrapper�[0m
"
2024-02-11T02:52:57.371661130Z,stdout,

2024-02-11T02:52:57.371627555Z,stdout, └ <asyncio.runners.Runner object at 0x7fd5cb475a10>

2024-02-11T02:52:57.371611714Z,stdout, │ └ <uvloop.Loop running=True closed=False debug=False>

2024-02-11T02:52:57.371591832Z,stdout, │ │ └ <method 'run_until_complete' of 'uvloop.loop.Loop' objects>

2024-02-11T02:52:57.371525536Z,stdout, │ │ │ └ <Task pending name='Task-1' coro=<entry() running at /app/entry.py:43> wait_for=<_GatheringFuture pending cb=[Task.task_wakeu...

2024-02-11T02:52:57.371511034Z,stdout, return self._loop.run_until_complete(task)

2024-02-11T02:52:57.371494905Z,stdout," File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
"
2024-02-11T02:52:57.371484076Z,stdout,

2024-02-11T02:52:57.371469211Z,stdout, �[36m└ �[0m�[36m�[1m<asyncio.runners.Runner object at 0x7fd5cb475a10>�[0m

2024-02-11T02:52:57.371453921Z,stdout, �[36m│ └ �[0m�[36m�[1m<function Runner.run at 0x7fd5cb3d6ca0>�[0m

2024-02-11T02:52:57.371433609Z,stdout, �[36m│ │ └ �[0m�[36m�[1m<function entry at 0x7fd5cb3ebce0>�[0m

2024-02-11T02:52:57.371417602Z,stdout, �[1mrunner�[0m�[35m�[1m.�[0m�[1mrun�[0m�[1m(�[0m�[1mentry�[0m�[1m(�[0m�[1m)�[0m�[1m)�[0m

2024-02-11T02:52:57.371396995Z,stdout," File "�[32m/app/�[0m�[32m�[1mentry.py�[0m", line �[33m50�[0m, in �[35m�[0m
"
2024-02-11T02:52:57.371386074Z,stdout,

2024-02-11T02:52:57.371368837Z,stdout,�[33m�[1mTraceback (most recent call last):�[0m

2024-02-11T02:52:57.371335582Z,stdout,�[32m2024-02-11 10:52:57.340�[0m | �[31m�[1mERROR �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m281�[0m - �[31m�[1mFailed to process subtitle of video BV12A4m157je 天上掉馅饼当太子,李治凭什么能接的住这泼天富贵?《从初唐走向盛唐01》�[0m

2024-02-11T02:52:57.371314452Z,stdout,"�[32m2024-02-11 10:52:56.872�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m195�[0m - �[1mUpper 7481602 安州牧 already exists, skipped.�[0m
"
2024-02-11T02:52:57.371284962Z,stdout,"�[32m2024-02-11 10:52:56.872�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m195�[0m - �[1mUpper 43984325 酒井雅乐助 already exists, skipped.�[0m
"
2024-02-11T02:52:57.371225072Z,stdout,�[32m2024-02-11 10:52:56.871�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m162�[0m - �[1mStart to process video BV13t421p71j 【日本战国史话】第九十二回:小牧&长久手之战�[0m

2024-02-11T02:52:56.871752248Z,stdout,�[32m2024-02-11 10:52:56.871�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m162�[0m - �[1mStart to process video BV12A4m157je 天上掉馅饼当太子,李治凭什么能接的住这泼天富贵?《从初唐走向盛唐01》�[0m

2024-02-11T02:52:56.540013915Z,stdout,�[32m2024-02-11 10:52:56.539�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite�[0m:�[36m104�[0m - �[1mStart to process favorite 2793760127: temp�[0m

2024-02-11T02:52:56.448243337Z,stdout,�[32m2024-02-11 10:52:56.448�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite�[0m:�[36m150�[0m - �[1mFavorite 2802581627 emby processed successfully.�[0m

2024-02-11T02:52:56.448131164Z,stdout,�[32m2024-02-11 10:52:56.447�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m365�[0m - �[1mBV12A4m157je 天上掉馅饼当太子,李治凭什么能接的住这泼天富贵?《从初唐走向盛唐01》 is processed successfully.�[0m

2024-02-11T02:52:56.109296695Z,stdout,�[32m2024-02-11 10:52:56.108�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m365�[0m - �[1mBV13t421p71j 【日本战国史话】第九十二回:小牧&长久手之战 is processed successfully.�[0m

2024-02-11T02:52:55.976643843Z,stdout,"{'code': -400, 'message': '请求错误', 'ttl': 1}�[0m
"
2024-02-11T02:52:55.976617812Z,stdout,�[31m�[1mbilibili_api.exceptions.ResponseCodeException.ResponseCodeException�[0m:�[1m 接口返回错误代码:-400,信息:请求错误。

2024-02-11T02:52:55.976607586Z,stdout,

2024-02-11T02:52:55.976593507Z,stdout, └ <class 'bilibili_api.exceptions.ResponseCodeException.ResponseCodeException'>

2024-02-11T02:52:55.976580496Z,stdout, │ └ -400

2024-02-11T02:52:55.976569176Z,stdout, │ │ └ '请求错误'

2024-02-11T02:52:55.976555352Z,stdout," │ │ │ └ {'code': -400, 'message': '请求错误', 'ttl': 1}
"
2024-02-11T02:52:55.976542759Z,stdout," raise ResponseCodeException(code, msg, resp_data)
"
2024-02-11T02:52:55.976527544Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 332, in request
"
2024-02-11T02:52:55.976513643Z,stdout, └ <function Api.request at 0x7fd5c96574c0>

2024-02-11T02:52:55.976496285Z,stdout," │ └ (Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-...
"
2024-02-11T02:52:55.976484172Z,stdout, │ │ └ {}

2024-02-11T02:52:55.976467837Z,stdout," return await func(*args, **kwargs)
"
2024-02-11T02:52:55.976452234Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 70, in inner
"
2024-02-11T02:52:55.976429600Z,stdout," └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
"
2024-02-11T02:52:55.976407823Z,stdout," │ └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
"
2024-02-11T02:52:55.976386685Z,stdout, │ │ └ <function retry..wrapper..inner at 0x7fd5c9657560>

2024-02-11T02:52:55.976374761Z,stdout, self.__result = await self.request()

2024-02-11T02:52:55.976359878Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 170, in result
"
2024-02-11T02:52:55.976346366Z,stdout, └ <class 'bilibili_api.utils.network.Api'>

2024-02-11T02:52:55.976327500Z,stdout," │ └ {'url': 'https://api.bilibili.com/x/player/playurl', 'method': 'GET', 'verify': False, 'params': {'avid': 'int: av 号', 'cid':...
"
2024-02-11T02:52:55.976314100Z,stdout, │ │ └ <bilibili_api.video.Video object at 0x7fd5c6815850>

2024-02-11T02:52:55.976298389Z,stdout, │ │ │ └ <credential.PersistedCredential object at 0x7fd5c804c050>

2024-02-11T02:52:55.976279549Z,stdout," │ │ │ │ └ {'avid': -1047019410, 'cid': 1434736511, 'qn': '127', 'otype': 'json', 'fnval': 4048, 'fourk': 1}
"
2024-02-11T02:52:55.976265395Z,stdout," await Api(**api, credential=self.credential).update_params(**params).result
"
2024-02-11T02:52:55.976250091Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/video.py", line 448, in get_download_url
"
2024-02-11T02:52:55.976240177Z,stdout,

2024-02-11T02:52:55.976226134Z,stdout, �[36m └ �[0m�[36m�[1m<bilibili_api.video.Video object at 0x7fd5c6815850>�[0m

2024-02-11T02:52:55.976211338Z,stdout, �[36m │ └ �[0m�[36m�[1m<function Video.get_download_url at 0x7fd5c91a44a0>�[0m

2024-02-11T02:52:55.976192864Z,stdout, �[35m�[1mawait�[0m �[1mv�[0m�[35m�[1m.�[0m�[1mget_download_url�[0m�[1m(�[0m�[1mpage_index�[0m�[35m�[1m=�[0m�[34m�[1m0�[0m�[1m)�[0m

2024-02-11T02:52:55.976174855Z,stdout,"> File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m298�[0m, in �[35mprocess_favorite_item�[0m
"
2024-02-11T02:52:55.976163860Z,stdout,

2024-02-11T02:52:55.976146659Z,stdout, �[36m └ �[0m�[36m�[1m<function process_favorite_item at 0x7fd5c8030860>�[0m

2024-02-11T02:52:55.976133500Z,stdout," �[36m │ └ �[0m�[36m�[1m(<FavoriteItem: 119477>,)�[0m
"
2024-02-11T02:52:55.976119776Z,stdout, �[36m │ │ └ �[0m�[36m�[1m{}�[0m

2024-02-11T02:52:55.976101080Z,stdout," �[35m�[1mreturn�[0m �[35m�[1mawait�[0m �[1mfunc�[0m�[1m(�[0m�[35m�[1m*�[0m�[1margs�[0m�[1m,�[0m �[35m�[1m**�[0m�[1mkwargs�[0m�[1m)�[0m
"
2024-02-11T02:52:55.976085072Z,stdout," File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m32�[0m, in �[35mwrapper�[0m
"
2024-02-11T02:52:55.976074839Z,stdout,

2024-02-11T02:52:55.976061950Z,stdout, └ <asyncio.runners.Runner object at 0x7fd5cb475a10>

2024-02-11T02:52:55.976045876Z,stdout, │ └ <uvloop.Loop running=True closed=False debug=False>

2024-02-11T02:52:55.976026715Z,stdout, │ │ └ <method 'run_until_complete' of 'uvloop.loop.Loop' objects>

2024-02-11T02:52:55.975980271Z,stdout, │ │ │ └ <Task pending name='Task-1' coro=<entry() running at /app/entry.py:43> wait_for=<_GatheringFuture pending cb=[Task.task_wakeu...

2024-02-11T02:52:55.975966625Z,stdout, return self._loop.run_until_complete(task)

2024-02-11T02:52:55.975950620Z,stdout," File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
"
2024-02-11T02:52:55.975935050Z,stdout,

2024-02-11T02:52:55.975919969Z,stdout, �[36m└ �[0m�[36m�[1m<asyncio.runners.Runner object at 0x7fd5cb475a10>�[0m

2024-02-11T02:52:55.975902250Z,stdout, �[36m│ └ �[0m�[36m�[1m<function Runner.run at 0x7fd5cb3d6ca0>�[0m

2024-02-11T02:52:55.975876231Z,stdout, �[36m│ │ └ �[0m�[36m�[1m<function entry at 0x7fd5cb3ebce0>�[0m

2024-02-11T02:52:55.975859492Z,stdout, �[1mrunner�[0m�[35m�[1m.�[0m�[1mrun�[0m�[1m(�[0m�[1mentry�[0m�[1m(�[0m�[1m)�[0m�[1m)�[0m

2024-02-11T02:52:55.975834029Z,stdout," File "�[32m/app/�[0m�[32m�[1mentry.py�[0m", line �[33m50�[0m, in �[35m�[0m
"
2024-02-11T02:52:55.975773703Z,stdout,

2024-02-11T02:52:55.975750064Z,stdout,�[33m�[1mTraceback (most recent call last):�[0m

2024-02-11T02:52:55.975644237Z,stdout,"�[32m2024-02-11 10:52:55.973�[0m | �[31m�[1mERROR �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m347�[0m - �[31m�[1mFailed to process video BV12A4m157je 天上掉馅饼当太子,李治凭什么能接的住这泼天富贵?《从初唐走向盛唐01》, error_code: -400�[0m
"
2024-02-11T02:52:55.855827282Z,stdout,�[31m�[1mKeyError�[0m:�[1m 'total'�[0m

2024-02-11T02:52:55.855816650Z,stdout,

2024-02-11T02:52:55.855795532Z,stdout," └ {'dm_seg': {}, 'flag': {}, 'count': 1892, 'dm_setting': {'dm_switch': True, 'ai_switch': False, 'ai_level': 3, 'enable_top': ...
"
2024-02-11T02:52:55.855781506Z,stdout, to_seg = view["dm_seg"]["total"] - 1

2024-02-11T02:52:55.855766944Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/video.py", line 868, in get_danmakus
"
2024-02-11T02:52:55.855753994Z,stdout, └ <bilibili_api.video.Video object at 0x7fd5c6815850>

2024-02-11T02:52:55.855739057Z,stdout, │ └ <function Video.get_danmakus at 0x7fd5c91a4b80>

2024-02-11T02:52:55.855726612Z,stdout, │ │ └ 1434736511

2024-02-11T02:52:55.855714129Z,stdout, │ │ │ └ None

2024-02-11T02:52:55.855696883Z,stdout," danmakus = await v.get_danmakus(cid=cid, date=date) # type: ignore
"
2024-02-11T02:52:55.855677478Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/ass.py", line 211, in make_ass_file_danmakus_protobuf
"
2024-02-11T02:52:55.855661259Z,stdout,

2024-02-11T02:52:55.855622756Z,stdout, �[36m └ �[0m�[36m�[1m<module 'bilibili_api.ass' from '/usr/local/lib/python3.11/site-packages/bilibili_api/ass.py'>�[0m

2024-02-11T02:52:55.855605949Z,stdout, �[36m │ └ �[0m�[36m�[1m<function make_ass_file_danmakus_protobuf at 0x7fd5c8a1ade0>�[0m

2024-02-11T02:52:55.855587869Z,stdout, �[35m�[1mawait�[0m �[1mass�[0m�[35m�[1m.�[0m�[1mmake_ass_file_danmakus_protobuf�[0m�[1m(�[0m

2024-02-11T02:52:55.855570607Z,stdout,"> File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m263�[0m, in �[35mprocess_favorite_item�[0m
"
2024-02-11T02:52:55.855560267Z,stdout,

2024-02-11T02:52:55.855545954Z,stdout, �[36m └ �[0m�[36m�[1m<function process_favorite_item at 0x7fd5c8030860>�[0m

2024-02-11T02:52:55.855529448Z,stdout," �[36m │ └ �[0m�[36m�[1m(<FavoriteItem: 119477>,)�[0m
"
2024-02-11T02:52:55.855516992Z,stdout, �[36m │ │ └ �[0m�[36m�[1m{}�[0m

2024-02-11T02:52:55.855498751Z,stdout," �[35m�[1mreturn�[0m �[35m�[1mawait�[0m �[1mfunc�[0m�[1m(�[0m�[35m�[1m*�[0m�[1margs�[0m�[1m,�[0m �[35m�[1m**�[0m�[1mkwargs�[0m�[1m)�[0m
"
2024-02-11T02:52:55.855483427Z,stdout," File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m32�[0m, in �[35mwrapper�[0m
"
2024-02-11T02:52:55.855472508Z,stdout,

2024-02-11T02:52:55.855454220Z,stdout, └ <asyncio.runners.Runner object at 0x7fd5cb475a10>

2024-02-11T02:52:55.855438610Z,stdout, │ └ <uvloop.Loop running=True closed=False debug=False>

2024-02-11T02:52:55.855419880Z,stdout, │ │ └ <method 'run_until_complete' of 'uvloop.loop.Loop' objects>

2024-02-11T02:52:55.855390408Z,stdout, │ │ │ └ <Task pending name='Task-1' coro=<entry() running at /app/entry.py:43> wait_for=<_GatheringFuture pending cb=[Task.task_wakeu...

2024-02-11T02:52:55.855376450Z,stdout, return self._loop.run_until_complete(task)

2024-02-11T02:52:55.855360852Z,stdout," File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
"
2024-02-11T02:52:55.855350658Z,stdout,

2024-02-11T02:52:55.855335606Z,stdout, �[36m└ �[0m�[36m�[1m<asyncio.runners.Runner object at 0x7fd5cb475a10>�[0m

2024-02-11T02:52:55.855319967Z,stdout, �[36m│ └ �[0m�[36m�[1m<function Runner.run at 0x7fd5cb3d6ca0>�[0m

2024-02-11T02:52:55.855298687Z,stdout, �[36m│ │ └ �[0m�[36m�[1m<function entry at 0x7fd5cb3ebce0>�[0m

2024-02-11T02:52:55.855281426Z,stdout, �[1mrunner�[0m�[35m�[1m.�[0m�[1mrun�[0m�[1m(�[0m�[1mentry�[0m�[1m(�[0m�[1m)�[0m�[1m)�[0m

2024-02-11T02:52:55.855261792Z,stdout," File "�[32m/app/�[0m�[32m�[1mentry.py�[0m", line �[33m50�[0m, in �[35m�[0m
"
2024-02-11T02:52:55.855248703Z,stdout,

2024-02-11T02:52:55.855225787Z,stdout,�[33m�[1mTraceback (most recent call last):�[0m

2024-02-11T02:52:55.855115614Z,stdout,�[32m2024-02-11 10:52:55.853�[0m | �[31m�[1mERROR �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m281�[0m - �[31m�[1mFailed to process subtitle of video BV12A4m157je 天上掉馅饼当太子,李治凭什么能接的住这泼天富贵?《从初唐走向盛唐01》�[0m

2024-02-11T02:52:55.747680721Z,stdout,"{'code': -400, 'message': '请求错误', 'ttl': 1}�[0m
"
2024-02-11T02:52:55.747659156Z,stdout,�[31m�[1mbilibili_api.exceptions.ResponseCodeException.ResponseCodeException�[0m:�[1m 接口返回错误代码:-400,信息:请求错误。

2024-02-11T02:52:55.747628974Z,stdout,

2024-02-11T02:52:55.747601377Z,stdout, └ <class 'bilibili_api.exceptions.ResponseCodeException.ResponseCodeException'>

2024-02-11T02:52:55.747577947Z,stdout, │ └ -400

2024-02-11T02:52:55.747556645Z,stdout, │ │ └ '请求错误'

2024-02-11T02:52:55.747528910Z,stdout," │ │ │ └ {'code': -400, 'message': '请求错误', 'ttl': 1}
"
2024-02-11T02:52:55.747508287Z,stdout," raise ResponseCodeException(code, msg, resp_data)
"
2024-02-11T02:52:55.747490970Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 332, in request
"
2024-02-11T02:52:55.747468999Z,stdout, └ <function Api.request at 0x7fd5c96574c0>

2024-02-11T02:52:55.747439585Z,stdout," │ └ (Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-...
"
2024-02-11T02:52:55.747425549Z,stdout, │ │ └ {}

2024-02-11T02:52:55.747411614Z,stdout," return await func(*args, **kwargs)
"
2024-02-11T02:52:55.747395452Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 70, in inner
"
2024-02-11T02:52:55.747374350Z,stdout," └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
"
2024-02-11T02:52:55.747341668Z,stdout," │ └ Api(url='https://api.bilibili.com/x/player/playurl', method='GET', comment='视频下载的信息,下载链接需要提供 headers 伪装浏览器请求(Referer 和 User-A...
"
2024-02-11T02:52:55.747324982Z,stdout, │ │ └ <function retry..wrapper..inner at 0x7fd5c9657560>

2024-02-11T02:52:55.747312056Z,stdout, self.__result = await self.request()

2024-02-11T02:52:55.747290797Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/utils/network.py", line 170, in result
"
2024-02-11T02:52:55.747264452Z,stdout, └ <class 'bilibili_api.utils.network.Api'>

2024-02-11T02:52:55.747236556Z,stdout," │ └ {'url': 'https://api.bilibili.com/x/player/playurl', 'method': 'GET', 'verify': False, 'params': {'avid': 'int: av 号', 'cid':...
"
2024-02-11T02:52:55.747187008Z,stdout, │ │ └ <bilibili_api.video.Video object at 0x7fd5c70dc290>

2024-02-11T02:52:55.747164956Z,stdout, │ │ │ └ <credential.PersistedCredential object at 0x7fd5c804c050>

2024-02-11T02:52:55.747143786Z,stdout," │ │ │ │ └ {'avid': -347150961, 'cid': 1432806193, 'qn': '127', 'otype': 'json', 'fnval': 4048, 'fourk': 1}
"
2024-02-11T02:52:55.747126999Z,stdout," await Api(**api, credential=self.credential).update_params(**params).result
"
2024-02-11T02:52:55.747100749Z,stdout," File "/usr/local/lib/python3.11/site-packages/bilibili_api/video.py", line 448, in get_download_url
"
2024-02-11T02:52:55.747081964Z,stdout,

2024-02-11T02:52:55.747065861Z,stdout, �[36m └ �[0m�[36m�[1m<bilibili_api.video.Video object at 0x7fd5c70dc290>�[0m

2024-02-11T02:52:55.747043549Z,stdout, �[36m │ └ �[0m�[36m�[1m<function Video.get_download_url at 0x7fd5c91a44a0>�[0m

2024-02-11T02:52:55.747017218Z,stdout, �[35m�[1mawait�[0m �[1mv�[0m�[35m�[1m.�[0m�[1mget_download_url�[0m�[1m(�[0m�[1mpage_index�[0m�[35m�[1m=�[0m�[34m�[1m0�[0m�[1m)�[0m

2024-02-11T02:52:55.746989509Z,stdout,"> File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m298�[0m, in �[35mprocess_favorite_item�[0m
"
2024-02-11T02:52:55.746973231Z,stdout,

2024-02-11T02:52:55.746954305Z,stdout, �[36m └ �[0m�[36m�[1m<function process_favorite_item at 0x7fd5c8030860>�[0m

2024-02-11T02:52:55.746937381Z,stdout," �[36m │ └ �[0m�[36m�[1m(<FavoriteItem: 111117>,)�[0m
"
2024-02-11T02:52:55.746911664Z,stdout, �[36m │ │ └ �[0m�[36m�[1m{}�[0m

2024-02-11T02:52:55.746891046Z,stdout," �[35m�[1mreturn�[0m �[35m�[1mawait�[0m �[1mfunc�[0m�[1m(�[0m�[35m�[1m*�[0m�[1margs�[0m�[1m,�[0m �[35m�[1m**�[0m�[1mkwargs�[0m�[1m)�[0m
"
2024-02-11T02:52:55.746873942Z,stdout," File "�[32m/app/�[0m�[32m�[1mprocessor.py�[0m", line �[33m32�[0m, in �[35mwrapper�[0m
"
2024-02-11T02:52:55.746863269Z,stdout,

2024-02-11T02:52:55.746843532Z,stdout, └ <asyncio.runners.Runner object at 0x7fd5cb475a10>

2024-02-11T02:52:55.746818319Z,stdout, │ └ <uvloop.Loop running=True closed=False debug=False>

2024-02-11T02:52:55.746799307Z,stdout, │ │ └ <method 'run_until_complete' of 'uvloop.loop.Loop' objects>

2024-02-11T02:52:55.746762396Z,stdout, │ │ │ └ <Task pending name='Task-1' coro=<entry() running at /app/entry.py:43> wait_for=<_GatheringFuture pending cb=[Task.task_wakeu...

2024-02-11T02:52:55.746735887Z,stdout, return self._loop.run_until_complete(task)

2024-02-11T02:52:55.746716562Z,stdout," File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
"
2024-02-11T02:52:55.746705956Z,stdout,

2024-02-11T02:52:55.746688506Z,stdout, �[36m└ �[0m�[36m�[1m<asyncio.runners.Runner object at 0x7fd5cb475a10>�[0m

2024-02-11T02:52:55.746660136Z,stdout, �[36m│ └ �[0m�[36m�[1m<function Runner.run at 0x7fd5cb3d6ca0>�[0m

2024-02-11T02:52:55.746619460Z,stdout, �[36m│ │ └ �[0m�[36m�[1m<function entry at 0x7fd5cb3ebce0>�[0m

2024-02-11T02:52:55.746592052Z,stdout, �[1mrunner�[0m�[35m�[1m.�[0m�[1mrun�[0m�[1m(�[0m�[1mentry�[0m�[1m(�[0m�[1m)�[0m�[1m)�[0m

2024-02-11T02:52:55.746552723Z,stdout," File "�[32m/app/�[0m�[32m�[1mentry.py�[0m", line �[33m50�[0m, in �[35m�[0m
"
2024-02-11T02:52:55.746539559Z,stdout,

2024-02-11T02:52:55.746510033Z,stdout,�[33m�[1mTraceback (most recent call last):�[0m

2024-02-11T02:52:55.746382027Z,stdout,"�[32m2024-02-11 10:52:55.719�[0m | �[31m�[1mERROR �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m347�[0m - �[31m�[1mFailed to process video BV13t421p71j 【日本战国史话】第九十二回:小牧&长久手之战, error_code: -400�[0m
"
2024-02-11T02:52:55.508359197Z,stdout,"�[32m2024-02-11 10:52:55.508�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m248�[0m - �[1mPoster of BV12A4m157je 天上掉馅饼当太子,李治凭什么能接的住这泼天富贵?《从初唐走向盛唐01》 already exists, skipped.�[0m
"
2024-02-11T02:52:55.508129237Z,stdout,"�[32m2024-02-11 10:52:55.507�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m224�[0m - �[1mNFO of BV12A4m157je 天上掉馅饼当太子,李治凭什么能接的住这泼天富贵?《从初唐走向盛唐01》 already exists, skipped.�[0m
"
2024-02-11T02:52:55.507824796Z,stdout,"�[32m2024-02-11 10:52:55.507�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m195�[0m - �[1mUpper 7481602 安州牧 already exists, skipped.�[0m
"
2024-02-11T02:52:55.494832581Z,stdout,"�[32m2024-02-11 10:52:55.490�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m275�[0m - �[1mSubtitle of BV13t421p71j 【日本战国史话】第九十二回:小牧&长久手之战 already exists, skipped.�[0m
"
2024-02-11T02:52:55.494769261Z,stdout,"�[32m2024-02-11 10:52:55.490�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m248�[0m - �[1mPoster of BV13t421p71j 【日本战国史话】第九十二回:小牧&长久手之战 already exists, skipped.�[0m
"
2024-02-11T02:52:55.494745649Z,stdout,"�[32m2024-02-11 10:52:55.489�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m224�[0m - �[1mNFO of BV13t421p71j 【日本战国史话】第九十二回:小牧&长久手之战 already exists, skipped.�[0m
"
2024-02-11T02:52:55.494718981Z,stdout,"�[32m2024-02-11 10:52:55.489�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m195�[0m - �[1mUpper 43984325 酒井雅乐助 already exists, skipped.�[0m
"
2024-02-11T02:52:55.494675237Z,stdout,�[32m2024-02-11 10:52:55.477�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m162�[0m - �[1mStart to process video BV12A4m157je 天上掉馅饼当太子,李治凭什么能接的住这泼天富贵?《从初唐走向盛唐01》�[0m

2024-02-11T02:52:55.477015415Z,stdout,�[32m2024-02-11 10:52:55.476�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite_item�[0m:�[36m162�[0m - �[1mStart to process video BV13t421p71j 【日本战国史话】第九十二回:小牧&长久手之战�[0m

2024-02-11T02:52:54.734678658Z,stdout,�[32m2024-02-11 10:52:54.734�[0m | �[1mINFO �[0m | �[36mprocessor�[0m:�[36mprocess_favorite�[0m:�[36m104�[0m - �[1mStart to process favorite 2802581627: emby�[0m

2024-02-11T02:52:54.515293496Z,stdout,�[32m2024-02-11 10:52:54.511�[0m | �[1mINFO �[0m | �[36m__main__�[0m:�[36mentry�[0m:�[36m41�[0m - �[1mRunning daemon...�[0m

2024-02-11T02:52:53.973696244Z,stdout,�[33mNo upgrade items found�[0m

非会员登录后下载的视频清晰度问题。

你好,感谢开发大大,非常好用。
就是登录后,同视频,用第三方浏览器插件下载的视频是170M,docker部署下载的是94M。 为什么会有这么大的差异呢?是设置问题吗??
我是按照模版设置的,大小设置没有变动。测试了几个都会大小有明细差异。
如图对比都是1080p,但是码率不同。

QQ截图20240414124449
QQ截图20240414124522
QQ截图20240414124609

那些命令是否可以提供一个webui界面来触发并观察结果

-refresh这些命令,如果能提供一个webui会更便捷一些,另外如果能提供类似于webhook的话更好

另外就是选择视频的分辨率的那个方案

试验过了,可行,但是只是有线走H264,但有时候会下载到8K的视频,不知道是否可以限制视频的分辨率

对TV等不太行的设备来说8K跑不动

PermissionError: [Errno 13] Permission denied: '/app/config/config.json'

Traceback (most recent call last):
File "/app/settings.py", line 58, in save
with path.open("w") as f:
^^^^^^^^^^^^^^
File "/usr/local/lib/python3.11/pathlib.py", line 1044, in open
return io.open(self, mode, buffering, encoding, errors, newline)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
PermissionError: [Errno 13] Permission denied: '/app/config/config.json'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/app/entry.py", line 9, in
from commands import (
File "/app/commands.py", line 9, in
from models import FavoriteItem
File "/app/models.py", line 15, in
from settings import settings
File "/app/settings.py", line 73, in
settings = init_settings()
^^^^^^^^^^^^^^^
File "/app/settings.py", line 70, in init_settings
return Config.load(DEFAULT_CONFIG_PATH).save()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/app/settings.py", line 62, in save
raise RuntimeError(f"Failed to save config file: {path}") from e
RuntimeError: Failed to save config file: /app/config/config.json

新增对极空间影视墙的适配

今天使用了一下发现极空间好像识别不了nfo,查了一下发现极空间只支持电影的nfo,所以只要把文件中的episodedetails改为movie就行了,大佬可以更新一下这个吗imageimage

弹幕转码失败

2024-01-04 19:15:26,stdout, └ <contextlib._GeneratorContextManager object at 0x7f820ef79910>

2024-01-04 19:15:26,stdout, │ └ <generator object map_httpcore_exceptions at 0x7f820e967440>

2024-01-04 19:15:26,stdout, │ │ └ <method 'throw' of 'generator' objects>

2024-01-04 19:15:26,stdout, │ │ │ └ <class 'httpcore.ReadTimeout'>

2024-01-04 19:15:26,stdout, │ │ │ │ └ ReadTimeout(TimeoutError())

2024-01-04 19:15:26,stdout, │ │ │ │ │ └ <traceback object at 0x7f820ef3d340>

2024-01-04 19:15:26,stdout," self.gen.throw(typ, value, traceback)
M7LMQIBZU%Y9SHJ2{L7QD

使用过程的一些小建议

不得不说这个项目非常不错有潜力,之前一直希望可以下载B站视频导入emby,但是都是通过win并且手动执行,而且nfo还不是通用。希望作者可以更加完善这个项目,使用中发现还有一些小问题或者改善的地方。
1.标签太少了,b站视频下面的标签可以加多一点,原来标签其实也可以加上
2.可以加上弹幕文件
3.最好可以有界面,这样调整b站信息,查看下载了什么都会方便很多

最后,我之前在用“bilidown”,希望可以给作者参考一下。
如果不介意,我会将这个做成nas教程分享,公众号“NASBox”

unraid唤醒硬盘

用的unraid,bili-sync每隔1小时左右会唤醒硬盘,没有设置能让他不唤醒硬盘,只在哔哩哔哩收藏夹添加新的才下载唤醒硬盘

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.