网页flash直播 抓取( 腾讯云直播客户端使用hls协议播放软件-studio推送)
优采云 发布时间: 2022-03-20 07:29网页flash直播 抓取(
腾讯云直播客户端使用hls协议播放软件-studio推送)
使用wireshark抓取bilibili直播真实地址
一、 概述
之前测试过bilibili的直播(主播使用OBS-studio推送),延迟相当低,大概3s-4s的延迟,所以无法猜测网上提到的直播客户端使用的是hls协议玩。如果 hls 按 5 秒切片,则保留至少 3 ts 的段。理想情况下,不考虑网络传输,大概需要15s左右,腾讯云直播官网提供的数据是hls直播延迟35s左右。我认为应该使用 rtmp 协议来实现实时客户端。根据我的猜测,我使用wireshark抓包分析,发现虽然不是rtmp协议,但使用的是http+flv视频容器。http应该是去80端口,方便nginx做负载均衡。
二、 准备所需的环境
1 抓包工具软件Wireshark-win64-2.0.2.exe
2 电脑播放软件ffmpeg-20140323-git-fc567ac-win64-shared.7z主要使用ffplay播放器软件(命令行方式)
3 bilibili的手机客户端4.14.0 播放器为ijkplayer,可以在设置-》帮助-》开源许可中查看使用相关的软件详细信息
4是360免费wifi 为了抓到手机上的数据包,最好的办法是用电脑作为wifi热点,将手机连接到热点,然后通过wireshark抓到无线网卡的数据包
三、开始抓包
1 首先将电脑作为wifi热点,然后将手机连接到wifi热点。有必要
2 打开bilibili手机客户端,找到直播版块
3 打开wireshark软件,选择你的无线网卡。根据您个人计算机的情况,您可能会看到多个无线网络连接。自己一个个试一下,看看是哪个手机发来的数据包?我的是(Wi-Fi 3),效果如下:
选择无线网络连接3后,开始抓包。在这一步,您可以根据自己的需要,在点击播放直播时开始抓包。
4 点击手机上的*敏*感*词*,如图:
然后观察wireshark中的数据包分析。对了,之前还以为是rtmp协议,所以过滤1935端口的时候看不到数据包。所以我完全没有使用过滤器,然后慢慢分析包的信息。结果如下:
5 从上图可以看出,这是使用http+flv的方式,但是我还是不确定,是这样的吗?我接下来使用ffplay播放并测试地址,播放命令如下:
直播路径仅供参考:
播放结果如图:
可以看到,ffplay虽然很简单,但是内容还是直播,和手机同步播放。
四、结论
bilibili直播客户端,使用的播放器是ijkplayer,这是B站的开源播放器,这里有10000点赞。然后我的测试结果证明直播客户端使用的是http+flv方式进行直播,而不是所谓的hls或者rtmp。谢谢联系邮箱