RTSP协议视频智能分析平台EasyNVR如何通过StreamClient组件获取视频的帧率信息?

只要涉及到视频流的输出,就一定会涉及到关键帧。TSINGSEE青犀视频EasyNVR视频安防服务平台内关键帧默认为1S一个,每秒可输出25个视频帧。关于关键帧比较详细的介绍,大家可以参考:流媒体服务器如何提取视频的关键帧

在EasyNVR的实际使用过程中,对于关键帧的获取其实并没有需求,但是如果需要获取关键帧的话,可以通过我们开发的组件EasyStreamClient实现。EasyStreamClient是一套非常稳定、易用、支持重连的StreamClient工具,以SDK形式提供,接口调用非常简单,经过多年实战和线上运行打造,支持RTMP推送断线重连、环形缓冲、智能丢帧、 网络事件回调。

EasyNVR平台通过EasyStreamClient的库拉取到在线流之后,可以获取到该流的相关信息,其中就包括视频的帧率信息。

func (client *StreamClient) GetStreamClientFps() uint {
   u32VideoFps := uint(client.MediaInfo.u32VideoFps)
   return u32VideoFps
}

新增一个获取视频帧率信息的方法,然后在获取视频流的接口处添加一个字段(StreamFPS)返回出去。

ack.EasyDarwin.Body["StreamVC"] = channel.GetChannelMediaInfoVC()
ack.EasyDarwin.Body["StreamFPS"] = channel.GetChannelMediaInfoFPS()

TSINGSEE青犀视频开发的EasyStreamClient组件适用于各种级联转发及NVR硬件服务,支持视频文件的点播、 定位、回放、快进等功能,尤其是在安防RTSP协议的支持上,此外,也适用于各种RTSP数据源接入与处理,图像分析类应用场景。

TSINGSEE青犀视频还有其他多款实用可靠的SDK与工具,大家可以了解一下,更多视频相关解决方案,欢迎联系我们了解。

posted on 2021-01-26 17:30  TSINGSEE  阅读(119)  评论(0编辑  收藏  举报