THMonster / Revda

Tools to play live stream with danmaku.
GNU General Public License v2.0
217 stars 12 forks source link

Playback Bilibili video failed with `QLocalSocket::PeerClosedError` #29

Closed OceanS2000 closed 3 years ago

OceanS2000 commented 3 years ago

Playing video from Bilibili with URL failed. qlphelper -d gives error message about QLocalSocket::PeerClosedError. Full log is attached at the end.

Notably live stream from bilibili (live.bilibili.com) and Youtube works fine.

OS: Gentoo Linux Qt version: 5.15.2 C toolchain version: gcc (Gentoo 11.1.0-r2 p3) 11.1.0 Rust toolchain version: 1.52.1 (gentoo) QLivePlayer Version: git master branch

/tmp % qlphelper -d -u 'https://www.bilibili.com/BV1864y167Y7'
Finding stream...
danmaku client exit
BV1864y167Y7 376965749 这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了 笔记本维修厮
Playing:  这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了
Debug: start ffmpeg proc (:0, )
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
Debug: "https://cn-bj-se-bcache-08.bilivideo.com/upgcxcode/49/57/376965749/376965749-1-30077.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1627399900&gen=playurlv2&os=bcache&oi=994214416&trid=00000b989da2e96945fc87b672f43f255e5du&platform=pc&upsig=37062d09aa50a42b806225aed93d488f&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&cdnid=60008&mid=0&bvc=vod&nettype=0&orderid=0,3&agrr=0&logo=80000000" (:0, )
Debug: stream started! (:0, )
Debug: stream socket error:  QLocalSocket::PeerClosedError (:0, )
Debug: curl exited (:0, )
Debug: streamer stopped (:0, )
Debug: danmaku launcher stopped (:0, )
Debug: waiting for ffmpeg exit! (:0, )
Debug: ffmpeg stopped (:0, )
Finding stream...
BV1864y167Y7 376965749 这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了 笔记本维修厮
Playing:  这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了
Debug: start ffmpeg proc (:0, )
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
QIODevice::write (QLocalSocket): device not open
Debug: mpv started (:0, )
Debug: "https://cn-bj-se-bcache-08.bilivideo.com/upgcxcode/49/57/376965749/376965749-1-30077.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1627399904&gen=playurlv2&os=bcache&oi=994214416&trid=00008c081491f6f84240a9f33cc0b4508097u&platform=pc&upsig=b64131197948c0dd08db8870e5a35092&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&cdnid=60008&mid=0&bvc=vod&nettype=0&orderid=0,3&agrr=0&logo=80000000" (:0, )
Debug: stream started! (:0, )
Debug: stream socket error:  QLocalSocket::PeerClosedError (:0, )
Debug: curl exited (:0, )
Debug: streamer stopped (:0, )
Debug: danmaku launcher stopped (:0, )
Debug: waiting for ffmpeg exit! (:0, )
Debug: ffmpeg stopped (:0, )
Finding stream...
BV1864y167Y7 376965749 这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了 笔记本维修厮
Playing:  这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了
Debug: start ffmpeg proc (:0, )
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
Debug: "https://cn-bj-se-bcache-08.bilivideo.com/upgcxcode/49/57/376965749/376965749-1-30077.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1627399908&gen=playurlv2&os=bcache&oi=994214416&trid=0000bbbc458e1fea40e6b9920d7e0056ff0bu&platform=pc&upsig=ab07062e1868112c520b55ad9d903ccd&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&cdnid=60008&mid=0&bvc=vod&nettype=0&orderid=0,3&agrr=0&logo=80000000" (:0, )
Debug: stream started! (:0, )
Debug: stream socket error:  QLocalSocket::PeerClosedError (:0, )
Debug: curl exited (:0, )
Debug: streamer stopped (:0, )
Debug: danmaku launcher stopped (:0, )
Debug: waiting for ffmpeg exit! (:0, )
Debug: ffmpeg stopped (:0, )
Finding stream...
BV1864y167Y7 376965749 这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了 笔记本维修厮
Playing:  这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了
Debug: start ffmpeg proc (:0, )
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
Debug: "https://cn-bj-se-bcache-08.bilivideo.com/upgcxcode/49/57/376965749/376965749-1-30077.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1627399913&gen=playurlv2&os=bcache&oi=994214416&trid=0000f07f3995f1884168bcd6d93921dc503eu&platform=pc&upsig=5bc0a19672ec222a825fd14ea2004431&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&cdnid=60008&mid=0&bvc=vod&nettype=0&orderid=0,3&agrr=0&logo=80000000" (:0, )
Debug: stream started! (:0, )
Debug: stream socket error:  QLocalSocket::PeerClosedError (:0, )
Debug: curl exited (:0, )
Debug: streamer stopped (:0, )
Debug: danmaku launcher stopped (:0, )
Debug: waiting for ffmpeg exit! (:0, )
Debug: ffmpeg stopped (:0, )
Finding stream...
^CBV1864y167Y7 376965749 这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了 笔记本维修厮
^C^C^C^CPlaying:  这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了
Debug: start ffmpeg proc (:0, )
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
Bye!
Debug: waiting for ffmpeg exit! (:0, )
ocean@Satori /tmp % qlphelper -d -u 'https://www.bilibili.com/BV1864y167Y7'
Finding stream...
danmaku client exit
BV1864y167Y7 376965749 这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了 笔记本维修厮
Playing:  这笔记本电脑被雷劈了,我宁愿雷劈的是我,太难修了
Debug: start ffmpeg proc (:0, )
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
Debug: "https://cn-bj-se-bcache-08.bilivideo.com/upgcxcode/49/57/376965749/376965749-1-30077.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1627399951&gen=playurlv2&os=bcache&oi=994214416&trid=000013961488ec5a40bc97f6504eddd1510bu&platform=pc&upsig=877f20cc438ef7a2a84606ea9e5c8ccb&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&cdnid=60008&mid=0&bvc=vod&nettype=0&orderid=0,3&agrr=0&logo=80000000" (:0, )
Debug: stream started! (:0, )
Debug: stream socket error:  QLocalSocket::PeerClosedError (:0, )
Debug: curl exited (:0, )
Debug: streamer stopped (:0, )
Debug: danmaku launcher stopped (:0, )
Debug: waiting for ffmpeg exit! (:0, )
Debug: ffmpeg stopped (:0, )
Finding stream...
^C^C^C^C^C^C^C^C[1]    12356 killed     qlphelper -d -u 'https://www.bilibili.com/BV1864y167Y7'
THMonster commented 3 years ago

url path里面把video加上就行了,https://www.bilibili.com/video/BV1864y167Y7,尽量使用标准链接。

OceanS2000 commented 3 years ago

非标准链接出现的原因在于使用 Bilibili-Evoloved 的简化主页功能时,主页上的视频链接都是不带 /video/ 的。大概只能算自己奇怪使用方法的锅,用浏览器插件算了((