yutto-dev / yutto

:ice_cube: 一个可爱且任性的 B 站视频下载器(bilili V2)
GNU General Public License v3.0
1.02k stars 89 forks source link

🐛 Invalid input ConnectionInputs.RECV_DATA in state ConnectionState.CLOSED #369

Closed shenbinglife closed 4 days ago

shenbinglife commented 5 days ago

问题简述

INFO Load ffmpeg: ffmpeg 投稿视频 雨中漫步瑞士美丽的村庄,瀑布脚下的劳特布龙嫩和阿尔卑斯怀抱里的文根小镇! INFO 开始处理视频 雨中漫步瑞士美丽的村庄,瀑布脚下的劳特布龙嫩和阿尔卑斯怀抱里的文根小镇! INFO 共包含以下 15 个视频流: INFO 0 [HEVC] [1920x1080] <1080P 60帧> #3 INFO 1 [AVC ] [1920x1080] <1080P 60帧> #3 INFO 2 [AV1 ] [1920x1080] <1080P 60帧> #3 INFO 3 [HEVC] [1920x1080] <1080P 高清> #3 INFO 4 [AVC ] [1920x1080] <1080P 高清> #3 INFO 5 [AV1 ] [1920x1080] <1080P 高清> #3 INFO 6 [HEVC] [1280x720 ] <720P 高清 > #3 INFO 7 [AVC ] [1280x720 ] <720P 高清 > #3 INFO 8 [AV1 ] [1280x720 ] <720P 高清 > #3 INFO 9 [HEVC] [ 852x480 ] <480P 清晰 > #3 INFO 10 [AVC ] [ 852x480 ] <480P 清晰 > #3 INFO 11 [AV1 ] [ 852x480 ] <480P 清晰 > #3 INFO 12 [HEVC] [ 640x360 ] <360P 流畅 > #3 INFO 13 [AVC ] [ 640x360 ] <360P 流畅 > #3 INFO 14 [AV1 ] [ 640x360 ] <360P 流畅 > #3 INFO 共包含以下 3 个音频流: INFO 0 [MP4A] <320kbps > INFO 1 [MP4A] < 64kbps > INFO 2 [MP4A] <128kbps > 弹幕 ASS 弹幕已生成 INFO 开始下载…… WARN 文件 雨中漫步瑞士美丽的村庄,瀑布脚下的劳特布龙嫩和阿尔卑斯怀抱里的文根小镇!_video.m4s 下载出错(RemoteProtocolError),尝试重新连接... WARN 文件 雨中漫步瑞士美丽的村庄,瀑布脚下的劳特布龙嫩和阿尔卑斯怀抱里的文根小镇!_video.m4s 下载出错(RemoteProtocolError),尝试重新连接... WARN 文件 雨中漫步瑞士美丽的村庄,瀑布脚下的劳特布龙嫩和阿尔卑斯怀抱里的文根小镇!_video.m4s 下载出错(RemoteProtocolError),尝试重新连接... WARN 文件 雨中漫步瑞士美丽的村庄,瀑布脚下的劳特布龙嫩和阿尔卑斯怀抱里的文根小镇!_video.m4s 下载出错(RemoteProtocolError),尝试重新连接... WARN 文件 雨中漫步瑞士美丽的村庄,瀑布脚下的劳特布龙嫩和阿尔卑斯怀抱里的文根小镇!_video.m4s 下载出错(RemoteProtocolError),尝试重新连接... WARN 文件 雨中漫步瑞士美丽的村庄,瀑布脚下的劳特布龙嫩和阿尔卑斯怀抱里的文根小镇!_video.m4s 下载出错(RemoteProtocolError),尝试重新连接... Traceback (most recent call last): File "/opt/venv/bin/yutto", line 8, in sys.exit(main()) ^^^^^^ File "/opt/venv/lib/python3.12/site-packages/yutto/main.py", line 61, in main run(args_list) File "/opt/venv/lib/python3.12/site-packages/yutto/utils/funcutils/as_sync.py", line 39, in sync_func return asyncio.run(async_func(*args, *kwargs)) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/asyncio/runners.py", line 194, in run return runner.run(main) ^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/asyncio/runners.py", line 118, in run return self._loop.run_until_complete(task) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.12/asyncio/base_events.py", line 687, in run_until_complete return future.result() ^^^^^^^^^^^^^^^ File "/opt/venv/lib/python3.12/site-packages/yutto/main.py", line 173, in run current_download_state = await start_downloader( ^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/venv/lib/python3.12/site-packages/yutto/processor/downloader.py", line 376, in start_downloader await download_video_and_audio(client, video, video_path, audio, audio_path, options) File "/opt/venv/lib/python3.12/site-packages/yutto/processor/downloader.py", line 171, in download_video_and_audio await asyncio.gather(coroutines) File "/usr/lib/python3.12/asyncio/tasks.py", line 684, in _wrap_awaitable return await awaitable ^^^^^^^^^^^^^^^ File "/opt/venv/lib/python3.12/site-packages/yutto/utils/asynclib.py", line 34, in await return (yield from self.coro.await()) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/venv/lib/python3.12/site-packages/yutto/utils/fetcher.py", line 225, in download_file_with_offset async for chunk in resp.aiter_bytes(2**16): File "/opt/venv/lib/python3.12/site-packages/httpx/_models.py", line 931, in aiter_bytes async for raw_bytes in self.aiter_raw(): File "/opt/venv/lib/python3.12/site-packages/httpx/_models.py", line 989, in aiter_raw async for raw_stream_bytes in self.stream: File "/opt/venv/lib/python3.12/site-packages/httpx/_client.py", line 150, in aiter async for chunk in self._stream: File "/opt/venv/lib/python3.12/site-packages/httpx/_transports/default.py", line 257, in aiter async for part in self._httpcore_stream: File "/opt/venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 367, in aiter raise exc from None File "/opt/venv/lib/python3.12/site-packages/httpcore/_async/connection_pool.py", line 363, in aiter async for part in self._stream: File "/opt/venv/lib/python3.12/site-packages/httpcore/_async/http2.py", line 582, in aiter raise exc File "/opt/venv/lib/python3.12/site-packages/httpcore/_async/http2.py", line 572, in aiter async for chunk in self._connection._receive_response_body( File "/opt/venv/lib/python3.12/site-packages/httpcore/_async/http2.py", line 313, in _receive_response_body event = await self._receive_stream_event(request, stream_id) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/venv/lib/python3.12/site-packages/httpcore/_async/http2.py", line 333, in _receive_stream_event await self._receive_events(request, stream_id) File "/opt/venv/lib/python3.12/site-packages/httpcore/_async/http2.py", line 361, in _receive_events events = await self._read_incoming_data(request) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/venv/lib/python3.12/site-packages/httpcore/_async/http2.py", line 454, in _read_incoming_data events: typing.List[h2.events.Event] = self._h2_state.receive_data(data) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/venv/lib/python3.12/site-packages/h2/connection.py", line 1463, in receive_data events.extend(self._receive_frame(frame)) ^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/venv/lib/python3.12/site-packages/h2/connection.py", line 1487, in _receive_frame frames, events = self._frame_dispatch_tableframe.class ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/venv/lib/python3.12/site-packages/h2/connection.py", line 1673, in _receive_data_frame events = self.state_machine.process_input( ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ File "/opt/venv/lib/python3.12/site-packages/h2/connection.py", line 228, in process_input raise ProtocolError( h2.exceptions.ProtocolError: Invalid input ConnectionInputs.RECV_DATA in state ConnectionState.CLOSED

复现方式

yutto --download-interval 8 --no-color --no-progress -n 8 -w --no-subtitle --no-cover --no-chapter-info https://www.bilibili.com/video/BV1rNsde5En7/?spm_id_from=333.1007.tianma.10-1-35.click&vd_source=8860a8a3dc33cb22fd908580868a7b02 -c ****

环境信息

alpine:3.20 Python 3.12.7 yutto 2.0.0-rc.4 ffmpeg version 6.1.1 Copyright (c) 2000-2023 the FFmpeg developers

额外信息

No response

一点点的自我检查

SigureMo commented 4 days ago

shenbinglife commented 4 days ago

什麽意思呢? 不是bug嗎? 能給些更多的信息或者怎麽解決呢?

SigureMo commented 4 days ago

什么意思呢?是什么 bug 呢?能给些更多的信息或者怎么复现呢?

先学学怎么提 issue 吧

shenbinglife commented 3 days ago

ok, 也許是我莽撞了,提了不清楚的問題,或者是格式沒有符合要求,應爲很少用issue。 那我重新提一個先放到到Discussion中討論吧。 期待友好交流,如果能夠給我更多的提示,感激不盡。

重申一下,真的感謝你的工具,我是剛入門使用它,於是發出我遇到的這幾個報錯日志。