Closed jian-lin closed 3 years ago
同一个视频多试几次,偶尔能播放。 下面是成功播放的输出:
$ qlphelper -d -u https://www.bilibili.com/video/BV11z4y1y7AP
Debug: ("/usr/share/QLivePlayer/streamfinder.pyz", "https://www.bilibili.com/video/BV11z4y1y7AP?p=1", "") (:0, )
Debug: "No module named '_quickjs'\n" (:0, )
Debug: "title:前方高燃!给我15秒 让你感受奥特曼的视觉盛宴!! - 全奥混剪111\n" (:0, )
Debug: "http://cn-sh-cc-bcache-02.bilivideo.com/upgcxcode/76/42/257624276/257624276_nb2-1-30080.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1606731210&gen=playurl&os=bcache&oi=3550630213&trid=74bb30ec35b54ca4a5a41e916245d283u&platform=pc&upsig=88cabd4b656cbb132edaee086b5e04e1&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&cdnid=2215&mid=0&orderid=0,3&agrr=1&logo=80000000\n" (:0, )
Debug: "http://upos-sz-mirrorcos.bilivideo.com/upgcxcode/76/42/257624276/257624276_nb2-1-30280.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1606731210&gen=playurl&os=cosbv&oi=3550630213&trid=74bb30ec35b54ca4a5a41e916245d283u&platform=pc&upsig=d3a720f705640868484dbdb08f618344&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0&orderid=0,3&agrr=1&logo=80000000\n" (:0, )
Debug: "http://cn-sh-cc-bcache-03.bilivideo.com/upgcxcode/76/42/257624276/257624276-1-30077.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1606731210&gen=playurl&os=bcache&oi=3550630213&trid=74bb30ec35b54ca4a5a41e916245d283u&platform=pc&upsig=922eee58a10b9931843359184e9dc9db&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&cdnid=2216&mid=0&orderid=0,3&agrr=1&logo=80000000\n" (:0, )
Debug: QVector("") 1 (:0, )
QIODevice::write (QLocalSocket): device not open
网络问题会产生这样的错误吗?
我试了斗鱼直播,会有另一种问题:先卡在下面的状态一段时间(大约几分钟),然后会弹出mpv,之后就能正常播放直播。
$ qlphelper -d -u https://www.douyu.com/110
Finding stream...
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
Debug: "https://play1.edgesrv.com/live/110rq1pThC14zzZL.flv?wsAuth=1b51c2e412932cdebca08d959b46abbd&token=web-h5-0-110-4fc5529cfe53177cea1f39d88fb65efc70931bd9f0292c64&logo=0&expire=0&did=ac6456120f4e48c083ac2651a703a36b&pt=2&st=0&vhost=play1&origin=tct&mix=0&isp=cmcc&pushdouyu=1" (:0, )
后面的输出是这样的:
Debug: streamlink exited!!!! (:0, )
Debug: danmaku launcher started (:0, )
Finding stream...
Debug: streamer started (:0, )
Debug: waiting for ffmpeg exit! (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
Debug: "https://play1.edgesrv.com/live/110rq1pThC14zzZL.flv?wsAuth=eed6934c5133ea7f8d285f88d540fccb&token=web-h5-0-110-4fc5529cfe53177c82c2efee83c563e5192676ab60ed612e&logo=0&expire=0&did=d345b416e912401c82c6a39e09e49612&pt=2&st=0&vhost=play1&origin=tct&mix=0&isp=cmcc&pushdouyu=1" (:0, )
Debug: stream started! (:0, )
Debug: Danmaku process started! (:0, )
[缚道白边黑骑士] 主播就是DD斩首吗
Debug: 1920 1080 1 (:0, )
[D调的猴子] 突突突办了
B站直播没有问题。
刚才我换成手机热点试了几次,都能正常播放,我之前提到的问题一个都没有发生。看来确实和我的网络有关系。
奇怪 为什么你会出现这个
能否看下你的~/.shiv
里面有什么?
├── dmc_f3be2da9a5122a7900b5b9476336ec6370627ba72edb5e23fa929c652509ea7d │ └── site-packages │ ├── bin │ │ └── dmc │ ├── dmc │ │ ├── dm │ │ │ ├── danmaku │ │ │ │ ├── bilibili.py │ │ │ │ ├── douyu.py │ │ │ │ ├── huya.py │ │ │ │ ├── init.py │ │ │ │ ├── log.py │ │ │ │ ├── paramgen │ │ │ │ │ ├── arcparam_mining.py │ │ │ │ │ ├── arcparam.py │ │ │ │ │ ├── init.py │ │ │ │ │ ├── liveparam.py │ │ │ │ │ └── pb │ │ │ │ │ ├── header_pb2.py │ │ │ │ │ ├── init.py │ │ │ │ │ ├── live_pb2.py │ │ │ │ │ └── replay_pb2.py │ │ │ │ ├── pycache │ │ │ │ │ ├── bilibili.cpython-37.pyc │ │ │ │ │ ├── douyu.cpython-37.pyc │ │ │ │ │ ├── huya.cpython-37.pyc │ │ │ │ │ ├── init.cpython-37.pyc │ │ │ │ │ ├── twitch.cpython-37.pyc │ │ │ │ │ └── youtube.cpython-37.pyc │ │ │ │ ├── tars │ │ │ │ │ ├── adapterproxy.py │ │ │ │ │ ├── async.py │ │ │ │ │ ├── core.py │ │ │ │ │ ├── EndpointF.py │ │ │ │ │ ├── exception.py │ │ │ │ │ ├── init.py │ │ │ │ │ ├── logger.py │ │ │ │ │ ├── packet.py │ │ │ │ │ ├── pycache │ │ │ │ │ │ ├── exception.cpython-37.pyc │ │ │ │ │ │ ├── init.cpython-37.pyc │ │ │ │ │ │ ├── packet.cpython-37.pyc │ │ │ │ │ │ ├── tars.cpython-37.pyc │ │ │ │ │ │ ├── tup.cpython-37.pyc │ │ │ │ │ │ └── util.cpython-37.pyc │ │ │ │ │ ├── QueryF.py │ │ │ │ │ ├── rpc.py │ │ │ │ │ ├── servantproxy.py │ │ │ │ │ ├── tars │ │ │ │ │ │ └── init.py │ │ │ │ │ ├── tars.py │ │ │ │ │ ├── TimeoutQueue.py │ │ │ │ │ ├── trans.py │ │ │ │ │ ├── tup.py │ │ │ │ │ └── util.py │ │ │ │ ├── twitch.py │ │ │ │ └── youtube.py │ │ │ ├── example.py │ │ │ ├── init.py │ │ │ ├── pycache │ │ │ │ └── init.cpython-37.pyc │ │ │ └── setup.py │ │ ├── init.py │ │ ├── main.py │ │ └── pycache │ │ ├── init.cpython-37.pyc │ │ └── main.cpython-37.pyc │ ├── dmc-0.1.0.dist-info │ │ ├── direct_url.json │ │ ├── entry_points.txt │ │ ├── INSTALLER │ │ ├── METADATA │ │ ├── RECORD │ │ ├── REQUESTED │ │ ├── top_level.txt │ │ └── WHEEL │ ├── urllib3 │ │ ├── _collections.py │ │ ├── connectionpool.py │ │ ├── connection.py │ │ ├── contrib │ │ │ ├── _appengine_environ.py │ │ │ ├── appengine.py │ │ │ ├── init.py │ │ │ ├── ntlmpool.py │ │ │ ├── pyopenssl.py │ │ │ ├── _securetransport │ │ │ │ ├── bindings.py │ │ │ │ ├── init.py │ │ │ │ └── low_level.py │ │ │ ├── securetransport.py │ │ │ └── socks.py │ │ ├── exceptions.py │ │ ├── fields.py │ │ ├── filepost.py │ │ ├── init.py │ │ ├── packages │ │ │ ├── backports │ │ │ │ ├── init.py │ │ │ │ └── makefile.py │ │ │ ├── init.py │ │ │ ├── six.py │ │ │ └── ssl_match_hostname │ │ │ ├── implementation.py │ │ │ └── init.py │ │ ├── poolmanager.py │ │ ├── request.py │ │ ├── response.py │ │ ├── util │ │ │ ├── connection.py │ │ │ ├── init.py │ │ │ ├── proxy.py │ │ │ ├── queue.py │ │ │ ├── request.py │ │ │ ├── response.py │ │ │ ├── retry.py │ │ │ ├── ssl.py │ │ │ ├── ssltransport.py │ │ │ ├── timeout.py │ │ │ ├── url.py │ │ │ └── wait.py │ │ └── _version.py │ └── urllib3-1.26.2.dist-info │ ├── INSTALLER │ ├── LICENSE.txt │ ├── METADATA │ ├── RECORD │ ├── top_level.txt │ └── WHEEL └── streamfinder_fc363a4e7d0ee4dce9b3ef33d4cb0babd4fe81b659a839c61b447adea2d8a26b └── site-packages ├── bin │ └── streamfinder ├── quickjs │ ├── init.py │ └── pycache │ └── init.cpython-37.pyc ├── quickjs-1.15.1.dist-info │ ├── INSTALLER │ ├── METADATA │ ├── RECORD │ ├── top_level.txt │ └── WHEEL ├── _quickjs.cpython-38-x86_64-linux-gnu.so ├── streamfinder │ ├── bilibili.py │ ├── crypto-js-md5.min.js │ ├── douyu.py │ ├── huya.py │ ├── init.py │ ├── main.py │ ├── pycache │ │ ├── bilibili.cpython-37.pyc │ │ ├── douyu.cpython-37.pyc │ │ ├── huya.cpython-37.pyc │ │ ├── init.cpython-37.pyc │ │ ├── main.cpython-37.pyc │ │ ├── twitch.cpython-37.pyc │ │ └── youtube.cpython-37.pyc │ ├── twitch.py │ ├── util │ │ ├── init.py │ │ ├── jsengine.py │ │ ├── match.py │ │ └── pycache │ │ ├── init__.cpython-37.pyc │ │ ├── jsengine.cpython-37.pyc │ │ └── match.cpython-37.pyc │ └── youtube.py └── streamfinder-0.1.0.dist-info ├── direct_url.json ├── entry_points.txt ├── INSTALLER ├── METADATA ├── RECORD ├── REQUESTED ├── top_level.txt └── WHEEL
34 directories, 144 files
我懂了。。。。binary依赖绑定了python版本,你这是3.7。看来我还得改改。。。
不小心点到了close....
诶,现在是自带了quickjs作为js runtime吗?
对,这东西不大,我就直接打进去了。ykdl的斗鱼需要js runtime运行一些和加密相关的代码,很多人可能不知道这点,我干脆就踢了ykdl直接打一个js runtime进去。
现在看来大概得让用户自己在本地打包这两个pyz了。
虽然Debug: "No module named '_quickjs'\n" (:0, )
,但我有时候能正常看斗鱼,是否是用了我系统的nodejs?
我觉得最好还是把js runtime作为依赖,分开打包,不要绑在一起。
看来还是分开好,那干脆也不用quickjs了,让用户自己去选想装的js runtime。
虽然
Debug: "No module named '_quickjs'\n" (:0, )
,但我有时候能正常看斗鱼,是否是用了我系统的nodejs?
是的,js引擎的wrapper是从ykdl那边搬来的,支持很多种js runtime,包括一些de自带的如gjs cjs。当然nodejs肯定也支持。
我现在打算自己用qt写一个js engine的wrapper,因为我发现qt本身就带一个js engine(还支持es2020)。这样真的就省得用户额外装个js engine了。
3.20.1版本改成使用qt自己的js engine来运行js代码了。方便的话麻烦你试试看能否正常工作。
3.20.1 没有再报Debug: "No module named '_quickjs'\n" (:0, )
。
试了斗鱼直播、B站视频和直播,都能正常播放。
$ ./qlphelper -d -u https://www.douyu.com/60937
Finding stream...
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
Debug: "https://hwa.douyucdn2.cn/live/60937rEfgTitZSuq_1024p.flv?wsAuth=bfa1baf0a3cb0867f2b0e7d409ea437a&token=web-h5-0-60937-28e3e2ddb065abb22c39649a4969e6970bb6749e03fe2cff&logo=0&expire=0&did=9242110326ac4e86ba93c9f07bc7d574&pt=2&st=0&origin=ws&mix=0&isp=&pushdouyu=1" (:0, )
Debug: stream started! (:0, )
Debug: Danmaku process started! (:0, )
[新概念英语3] #直播时长
Debug: 1920 1080 1 (:0, )
[明日萧郎] 冷知识:qwer可以提高胜率
$ ./qlphelper -d -u https://www.bilibili.com/video/BV1Ya4y1W7aW
Debug: ("/usr/share/QLivePlayer/streamfinder.pyz", "https://www.bilibili.com/video/BV1Ya4y1W7aW?p=1", "") (:0, )
Debug: "title:【定格动画】揭秘糖果的制作过程 - Vegetables VS Sweets _ Funny Stop Motion Cooking\n" (:0, )
Debug: "http://cn-sdyt-cu-v-08.bilivideo.com/upgcxcode/61/03/259840361/259840361_nb2-1-30064.m4s?expires=1606825816&platform=pc&ssig=Bamg7bv2I85oDRXJZioLTA&oi=2053123129&trid=097ee03f56a740e0b4a0b8cf0db90e83u&nfc=1&nfb=maPYqpoel5MI3qOUX6YpRA==&cdnid=5140&mid=0&orderid=0,3&agrr=1&logo=80000000\n" (:0, )
Debug: "http://112-245-192-200.mcdn.bilivideo.cn:480/upgcxcode/61/03/259840361/259840361_nb2-1-30280.m4s?expires=1606825816&platform=pc&ssig=rDz7hYWl2cVO_iIXubbyIA&oi=2053123129&trid=097ee03f56a740e0b4a0b8cf0db90e83u&nfc=1&nfb=maPYqpoel5MI3qOUX6YpRA==&mcdnid=8000021&mid=0&orderid=0,3&agrr=1&logo=A0000080\n" (:0, )
Debug: "http://upos-sz-mirrorks3.bilivideo.com/upgcxcode/61/03/259840361/259840361-1-30066.m4s?e=ig8euxZM2rNcNbdlhoNvNC8BqJIzNbfqXBvEqxTEto8BTrNvN0GvT90W5JZMkX_YN0MvXg8gNEV4NC8xNEV4N03eN0B5tZlqNxTEto8BTrNvNeZVuJ10Kj_g2UB02J0mN0B5tZlqNCNEto8BTrNvNC7MTX502C8f2jmMQJ6mqF2fka1mqx6gqj0eN0B599M=&uipk=5&nbs=1&deadline=1606825816&gen=playurl&os=ks3bv&oi=2053123129&trid=097ee03f56a740e0b4a0b8cf0db90e83u&platform=pc&upsig=0a9696b9f65bb05a4d00ef5c3f72de49&uparams=e,uipk,nbs,deadline,gen,os,oi,trid,platform&mid=0&orderid=0,3&agrr=1&logo=80000000\n" (:0, )
Debug: QVector("") 1 (:0, )
$ ./qlphelper -d -u https://live.bilibili.com/3
Finding stream...
Debug: streamer started (:0, )
Debug: danmaku launcher started (:0, )
Debug: ffmpeg started (:0, )
Debug: mpv started (:0, )
Debug: "https://d1--cn-gotcha04.bilivideo.com/live-bvc/825633/live_11153765_9369560.flv?expires=1606822257&len=0&oi=2053123129&pt=web&qn=10000&trid=cd046143f0e047ac910017b1d2283228&sigparams=cdn,expires,len,oi,pt,qn,trid&cdn=cn-gotcha04&sign=e04dcedc4b0d0fc7929933073e867b60&p2p_type=1&src=9&sl=1" (:0, )
Debug: stream started! (:0, )
Debug: Danmaku process started! (:0, )
Debug: 1920 1080 1 (:0, )
Bye!
Debug: streamlink exited!!!! (:0, )
Debug: waiting for ffmpeg exit! (:0, )
好的,非常感谢。
有一些B站视频不能播放,只会弹一个mpv的界面。