功能概要:
  • 功能概述:EasyRTSPClient是一套非常稳定、易用、支持重连的RTSPClient组件,能帮助用户非常简单地处理整个RTSP OPTIONS/DESCRIBE/SETUP/PLAY的复杂流程,不用再担心内存释放的问题了,EasyRTSPClient全平台支持(包括Windows/Linux 32&64,ARM各种平台,Android,iOS),是技术研发快速迭代的工具,也是安防运维人员进行现场问题排查的得力帮手!
  • 操作系统:任意;



EasyRTSPClient做工具:



EasyRTSPClient写代码:



一、用EasyRTSPClient取流分析简单明了

1.1 现在用EasyRTSPClient作为工具获取RTSP实时流,可以简单明了地看到实时流的情况了:

1)信令流程清晰可见;

2)取到的数据类型也是清楚打印;

3)时间戳精准回调;

4)音频、视频,裸数据直接保存。

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

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



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

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


二、EasyRTSPClient SDK:https://github.com/easydarwin/EasyRTSPClient

2.1 EasyRTSPClient:以RTSPClient的形式,从RTSP URL将音视频获取到本地;

2.2 Windows编译方法:

2.3 Linux编译方法:

2.4 Usage:


2.5 EasyRTSPClient可以回调出多种类型的数据:

2.6 EASY_SDK_VIDEO_FRAME_FLAG数据可支持多种视频格式:

2.7 视频帧标识支持


2.8 当回调出RTSP_FRAME_INFO->codec为EASY_SDK_VIDEO_CODEC_H264数据,RTSP_FRAME_INFO->type为EASY_SDK_VIDEO_FRAME_I关键帧时,我们输出的数据结构为SPS+PPS+I的组合:

2.9 当回调出RTSP_FRAME_INFO->codec为EASY_SDK_VIDEO_CODEC_H265数据,RTSP_FRAME_INFO->type为EASY_SDK_VIDEO_FRAME_I关键帧时,我们输出的数据结构为VPS+SPS+PPS+I的组合:

2.10 EASY_SDK_AUDIO_FRAME_FLAG数据可支持多种音频格式:


点赞(5)
立即
投稿

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部