使用wireshark抓取bilibili直播的真实地址

一、 概述

我之前测试过bilibili的直播(主播使用OBS-studio推送),延迟是相当低,大概就是3s-4s延迟,所以猜测网上说的直播客户端使用hls协议播放是不可能的。hls如果是按照5秒切片,那个最少保留3个ts的片段,理想情况不考虑网络的传输都需要15s左右,而且腾讯云直播官网提供数据是hls直播延迟35s左右。我想着这样直播客户端应该是使用rtmp协议来实现的,按照我的猜测,我是用wireshark来抓取包分析之后,发现虽然不是rtmp协议,使用的是http + flv视频容器这种方式。应该是为了http走80端口,方便nginx做负载均衡。虽然后端服务器我不太清楚B站是怎么处理的,我还是把我抓包结果记录出来,让正在做直播的同学参考一下。

二、 准备所需要的环境

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软件,选择你无线网卡,这里根据你个人电脑情况不同,你可能会看到多个无线网络连接,你自己一个一个试一下,看看是哪个手机发出的数据包?我的是(无线网络连接3 ) 效果如下:

选择无线网络连接3之后,就开始抓包了,这一步你可以根据你自己需要,当你点击播放直播的时候在开始抓包。

4 点击手机上的直播房间,如图:

然后观察wireshark中包分析,这里顺便说一下我之前以为是rtmp协议,所以在过滤的是 port 1935是看不到数据包的。所以我后来干脆没有使用过滤器,然后慢慢分析包的信息的,结果如下图:

5 上图可以看出,这是使用http + flv这种方式的,但是我还是不能确定,事情是不是这样的呢? 我接下来使用ffplay来播放测试该地址、播放命令如下:

直播路径仅供参考使用:http://60.207.246.38/live-play.acgvideo.com/live/398/live_5661153_2011833.flv?wsSecret=128828d624f2e70f9f17853a0dfea88c&wsTime=5752f544&wshc_tag=0&wsts_tag=577a7434&wsid_tag=76f758c1&wsiphost=ipdbm

播放结果如图:

可以看到虽然ffplay很简陋,但是还是直播了该内容,并且和手机是同步播放的。

四、结论

bilibili直播客户端,使用的播放器是ijkplayer,这个是B站开源的播放器,这里一万个赞。然后我测试结果证明了,直播客户端是使用http + flv的模式直播的,不是所谓和hls或者rtmp的。谢谢 联系邮箱845885222@qq.com

使用wireshark抓取bilibili直播的真实地址相关推荐

  1. Wireshark抓取网易音乐的下载地址

    如果通过抓包的技术,那么几乎所有的音乐都能找到链接! 以网易音乐APP为例吧,从此开刀,希望大家能够举一反三,提高抓包的技术,解决实际的需求问题. 网易云音乐安装在了自己的Andorid的手机里面,手 ...

  2. 使用Wireshark抓取淘宝直播回放源地址并下载

    转载自:https://zhuanlan.zhihu.com/p/37365714 写本文的初衷是为了下载江疏影的淘宝直播回放视频,学了一下手机抓包. 现在已经不对直播.直播录制相关内容做探究了,超出 ...

  3. wireshark抓取接入游戏盾的APP真实IP实例

    在使用 Wireshark 抓取接入游戏盾的 APP 的真实 IP 的过程中,你需要执行以下步骤: 启动 Wireshark 并选择你要使用的网络接口. 在过滤器框中输入过滤器规则,以筛选出与游戏盾的 ...

  4. python 模拟浏览器selenium_Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例...

    本文实例讲述了Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息.分享给大家供大家参考,具体如下: import time from multiprocessing import Poo ...

  5. python采集直播间数据_Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息示例...

    本文实例讲述了Python使用Selenium模块模拟浏览器抓取斗鱼直播间信息.分享给大家供大家参考,具体如下: import time from multiprocessing import Poo ...

  6. 使用wireshark抓取账号密码

    运行wireshark,选取当前电脑使用的网络,我是用学校WiFi,所以选取WiFi. 进入抓包页面,这时wireshark就已经开始抓取电脑上的数据包了. 我们登录一个网站,我选择的是桂林生活网ht ...

  7. wireshark抓取Android手机app的包

    一.环境 台式机系统:Windows7旗舰版 Android手机:华为9i 无线网卡:AC650双频高增益无线USB网卡 wifi共享大师:百度下载 wireshark:Wireshark-win64 ...

  8. 使用wireshark抓取聊天信息与爬虫入门

    文章目录 1.聊天准备 2聊天并进行抓包 2.1.疯狂聊天 2.2.使用wireshark抓取聊天信息 2.初识网络爬虫 2.1.什么是爬虫 2.2.爬取南阳理工学院ACM题目网站信息 2.3.爬取重 ...

  9. Wireshark抓取网络聊天

    Wireshark抓取网络聊天 一.实验要求 二.实验操作 三.数据发送抓包 1. 西文字符 2. 汉字字符 3. 混合发送 四.总结 五.参考 一.实验要求 1)分析此程序网络连接采用的是哪种协议( ...

最新文章

  1. DataAccessResourceFailureException异常解决方法
  2. oracle--pl/sql变量定义----
  3. Django使用心得(二)
  4. mysql 创建表_MySQL创建表(十一)
  5. springboot md5加密_SpringSecurity入门-SpringBoot集成SpringSecurity
  6. python代码加密解密_在python中加密 – 在Javascript中解密
  7. 盘点下 NSX-v 中“不合理”的命名
  8. 跟我学Spring Cloud(Finchley版)-18-Zuul深入
  9. micropython logging文档
  10. MB1504的程序实践与调试
  11. 41局域网交换机及其基本原理
  12. java emoji表情 乱码_java 微信昵称带有emoji 表情乱码
  13. elasticsearch5.x集群HA原理(shards、replicas)
  14. Web技术-1 Web前端总结
  15. 企业官网小程序搭建教程
  16. 来淄博旅游 2055
  17. 6.又双叒叕背包模拟
  18. 蓝牙Sig Mesh 概念入门①——简单介绍
  19. 一文了解linux 内核模块 强制卸载
  20. 网络变压器是干什么用的?(以太网 网络 LAN 局域网 通讯隔离滤波器)生产工厂/产品原理图/常用产品/价格影响因素

热门文章

  1. 浮动之电视剧详情页面
  2. 电子邮箱地址注册,收费邮箱哪个安全?申请163电子邮箱?
  3. 多智能体系统协同一致性问题(五)
  4. 基于Java毕业设计迎新管理系统演示录像2020源码+系统+mysql+lw文档+部署软件
  5. OpenNI2编程说明 (未整理)
  6. 二分搜索算法(以力扣周赛“每个小孩最多分到多少糖果”为例)
  7. (数据分析)第02章 Python语法基础,IPython和Jupyter Notebooks.md
  8. 这篇java面试是真的真的够全的,强烈推荐给大家
  9. React_Fragments
  10. 魔改合成大西瓜--11张图片定制(速度最快版)