功能概要:
- 功能概述:EasyRTSPClient是一套非常稳定、易用、支持重连的RTSPClient组件,能帮助用户非常简单地处理整个RTSP OPTIONS/DESCRIBE/SETUP/PLAY的复杂流程,不用再担心内存释放的问题了,EasyRTSPClient全平台支持(包括Windows/Linux 32&64,ARM各种平台,Android,iOS),是技术研发快速迭代的工具,也是安防运维人员进行现场问题排查的得力帮手!
- 操作系统:任意;
一、用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的组合:
![](https://easydarwin.org/uploads/20240725/366e32c7db679b729f04f51e138b1d93.png)
![](https://easydarwin.org/uploads/20240725/b38bda00533ebe0a9968e7fb0777d35a.png)
2.10 EASY_SDK_AUDIO_FRAME_FLAG数据可支持多种音频格式: