使用 streamlink 播放直播

2020-02-29

通过 streamlink 调用本地播放器(如 VLC),可以很大程度降低系统资源占用(毕竟 C 系语言还是要比 js 快的哈)

使用 streamlink <URL> 可以查看可用的源。

使用 streamlink <URL> [STREAM] 可以播放直播。

eg: 播放 b 站转播 sakura miko 的直播时可以使用 streamlink https://live.bilibili.com/21144047 source ,比较卡顿时可以使用 streamlink https://live.bilibili.com/21144047 source_alt 换源

解决 bilibili 直播没有弹幕的问题

可以使用 BiliChat 。

具体方法就是新开一个窗口,打开如下网址 https://bilichat.3shain.com/gkd/<直播间号>

这个网页存在一个 bug,当网页处于后台的时候,弹幕不会刷新。

使用这个网页会在首页暴露你的使用,为了隐藏,可以在本地部署网页 npm -g i bilichat && bilichat 或者 npx bilichat

Bugs

bilibili 播放时出现图像不动的问题

(2020/2/29)弱网条件下(网页端观看的时候就有时存在卡顿)在 MacOS (10.15.3) 上运行 streamlink (1.3.1) + VLC (3.0.8 Vetinari (Intel 64bit)) 播放 bilibili 直播(直播间 21144047)时,在播放一段时间后会出现音频正常而界面停顿的问题,使用日志查看器显示会显示如下场景:

...
main warning: picture is too late to be displayed (missing 18 ms)
main warning: picture is too late to be displayed (missing 18 ms)
main warning: picture is too late to be displayed (missing 18 ms)
main warning: picture is too late to be displayed (missing 17 ms)
main warning: picture is too late to be displayed (missing 18 ms)
main warning: picture is too late to be displayed (missing 21 ms)
main warning: picture is too late to be displayed (missing 19 ms)
main warning: picture is too late to be displayed (missing 22 ms)
main warning: picture is too late to be displayed (missing 19 ms)
main warning: picture is too late to be displayed (missing 21 ms)
main warning: picture is too late to be displayed (missing 20 ms)
main warning: picture is too late to be displayed (missing 31 ms)
main warning: picture is too late to be displayed (missing 21 ms)
...

其中 (missing 18 ms) 中的延时会不断增加(没有上限)。

在关闭 丢弃延迟的帧 播放一段时间后,音频无法追上视频的进度(视频快了)。

在关闭 硬件加速 播放一段时间后,一切正常。

不支持斗鱼直播

rt https://github.com/streamlink/streamlink/issues/2328

欢迎有缘人将斗鱼的 js 加密转写成 python

维护网站需要一定的开销,如果您认可这篇文章,烦请关闭广告屏蔽器浏览一下广告,谢谢!
加载中...

(。・∀・)ノ゙嗨,欢迎来到 lookas 的小站!

这里是 lookas 记录一些事情的地方,可能不时会有 lookas 的一些神奇的脑洞或是一些不靠谱的想法。

总之多来看看啦。