用EasyRTSPClient做工具分析RTSP流获取H.264/H.265/G711/G726/AAC原数据裸数据解析vps/sps/pps/I帧/P帧快速定位分析问题

EasyRTSPClient已经发布了很多年了,造福了很多行业用户也造福了自己,先回顾一下背景:

我们在做流媒体开发的过程中,进程会出现摄像机RTSP流莫名其妙无法播放的问题,或者取到的流播放花屏的问题,而我们常用的vlc经常是直接弹出一个无法播放的提示框就完事了,没有说明出错的原因,或者在vlc的消息里面能看到日志消息,但是并不能清晰地将整个RTSP的流程及服务器返回的错误码反馈给开发者,而且有的时候vlc或者ffplay经常出现音视频数据无法播放的问题,我们需要一个非常好的工具将视频(H.264/H.265/MPEG),音频(G.711A/G.711U/G.726/AAC)存储成文件进行分析,这整个过程虽然简单,但是要定位到明确的点,还是需要很高的技术门槛的,简单的一个播放不了,里面可能是有多个环节出了问题:

  1. 信令不通:不清楚RTSP信令是在哪个环节出了问题,DESCRIBE/SETUP/PLAY,不知道哪个环节服务端就没响应或者响应的错误码,以前的情况就是去抓包看;
  2. 流媒体数据发没发?这种情况以前我们也是要通过抓包才能知道,RTSP服务端数据发没发;
  3. 发的数据对不对?这个就是抓包都解决不了的问题了,发过来的RTP包是没办法直接进行裸数据分析的,我们不清楚发来的数据到底有没有问题;
  4. 时间戳对不对?播放出来了,但是播放的效果不好,这很大程度上跟时间戳有关系,但是抓包看时间戳,基本上也是门槛上加门槛,更难!

用EasyRTSPClient取流分析简单明了

现在用EasyRTSPClient作为工具获取RTSP实时流,可以简单明了地看到实时流的情况了:
1、信令流程清晰可见;
2、取到的数据类型也是清楚打印;
3、时间戳精准回调;
4、音频、视频,裸数据直接保存;
EasyRTSPClient

同时,我们还可以看到通过EasyRTSPClient存储下来的音视频数据,我们就可以用Elecard StreamEye这样的专业分析工具进行音视频具体分析了:
EasyRTSPClient客户端取流

再通过H.264、H.265视频、音频分析工具,进行裸数据分析,就能清楚地知道收到的数据有没有问题了:
H.264裸数据分析
H.265原数据分析

用EasyRTSPClient看变化

最近我遇到一个项目,用户在实时播放的过程中,切换码率,发现播放会花屏,于是我们就通过EasyRTSPClient看关键帧的数据变化,才找到问题所在,解决的问题:

EasyRTSPClient查看数据变化
理论上,切换码率时,pps是不会发生变化的,但是在某些摄像机上,切换码率缺发生了pps的变化,于是,我们在发现pps变化的时候,重新设置的解码参数,才解决播放过程中切换码率花屏的问题。

EasyRTSPClient是一款免费的工具

EasyRTSPClient现在当做一款工具在被用户使用,用户可以到https://github.com/EasyDarwin/EasyRTSPClient下载使用,可以自己编译用,也可以直接下载发布版:https://github.com/EasyDarwin/EasyRTSPClient/releases

也可以直接到EasyDarwin官网下载:www.easydarwin.org

  • 15
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值