HLS实战之Wireshark抓包分析( 三 )
这里拉取RTMP流:ffplay rtmp://172.16.204.133/live/livestream
文章插图
拉取HTTP流 , 命令如下 , 表示可以捕获成功 , 可以看到这里捕获的都是HTTP协议的内容 。
关于HLS手把手搭建流媒体服务器 , 可以参考这篇文章:手把手配置HLS流媒体服务器
这里拉取HTTP流:HLS拉流地址:ffplay
注意:HLS , 这里走的是HTTP协议 。
文章插图
可以看到客户端请求服务器端livestream.m3u8的数据 。
文章插图
通过HLS抓包分析 , 可以看到通过HTTP分段拉取ts片段 , 如下图中的livestream-148.ts、livestream-149.ts、livestream-150.ts、livestream-151.ts 。
注意:客户端会实时拉取更新的livestream.m3u8 。
文章插图
文章插图
还能抓取到PAT表、PMT表 。
文章插图
有些为了降低延时 , 有些策略会去拉取最近的ts流 , 但是这样可能会有个问题 。 为什么呢?
如果直接播放最后一个ts文件 , 那播放完当前ts文件的时候 , 这个时候去拉更新m3u8文件 , 接下来的ts文件不一定生成好 。 这样就可能会有断音 , 造成不好的用户体验 。 比如当前播放的是9秒 , 新生成的ts要10秒 , 这样就会造成断音 。 为了兼容这两种情况 , 那就可以适当缓冲下 , 再播放 。
本篇文章偏向实战 , 抓包分析 , 本篇文章就分析到这里 , 欢迎大家关注欢迎关注 , 点赞 , 转发 , 收藏 , 分享 , 评论区讨论 。
【HLS实战之Wireshark抓包分析】后面关于项目知识 , 后期会更新 。 欢迎关注微信公众号"记录世界 from antonio" 。
- SpringBoot2.x入门到项目实战课程系列(第二章)
- Go 实战项目推荐:Gin 实现的工单系统
- SpringBoot2.x入门到项目实战课程系列(第五章)
- 多视图几何三维重建实战系列之R-MVSNet
- 机器学习实战:GNN(图神经网络)加速器的FPGA解决方案
- 由多线程内存溢出产生的实战分析
- Django实战016:django中使用redis详解
- HTTP实战之Wireshark抓包分析
- 苹果公司|阿里架构师八年打造,编程宝典,从初学—编程进阶—深入学习—实战四个阶段带你潇洒编程!
- 域名|我是如何通过网站一步一步赚到钱的? 附:实战做网站方法和技巧