EasyPlayer-rtsp播放器中码率及帧率统计的实现方法
EasyPlayer播放器作为一个开放性和可塑性较强的视频流媒体播放器,所具备的功能并不仅仅只有视频播放,很多功能可以通过改写或者添加代码、调用接口获得,比如添加水印、统计时间等功能,也包括码率、分辨率的统计或者显示。
由于有用户询问到了码率和分辨率的统计,所以本文我们就把EasyPlayer的相关代码分享出来,实现统计后,则可以在左上角看到码率和分辨率的相关信息。
码率统计实现代码:
//统计码率if (frameinfo.type == 0x01){struct timeval tv = {0,0};gettimeofday(&tv, NULL);unsigned int uiTimes = (tv.tv_sec*1000 + tv.tv_usec/1000) - (sinkParams.tv_bps.tv_sec*1000 + sinkParams.tv_bps.tv_usec/1000);if (uiTimes > 0U){sinkParams.video_bps = (float)(sinkParams.video_bps_total / (float)uiTimes * 8.0f);// / 1024.0f;}sinkParams.video_bps_total = (float)iFrameSize;gettimeofday(&sinkParams.tv_bps, NULL);}else{sinkParams.video_bps_total += (float)iFrameSize;}
帧率统计实现代码:
//统计帧率
if (uiCurrTime - sinkParams.video_timestamp_total >= 2){//if (sinkParams.fpsInSps==0){sinkParams.video_fps = sinkParams.video_fps_total / (uiCurrTime - sinkParams.video_timestamp_total);sinkParams.video_fps_total = 1;}sinkParams.video_timestamp_total = uiCurrTime;}else{//if (mediainfo.fpsInSps==0) sinkParams.video_fps_total ++;}
拓展
EasyPlayer播放器系列项目底层采用了高性能的EasyRTSPClient组件,其低延时控制在行业处于领先位置,提供了非常简单易用的SDK及API接口,用户通过API调用就可以非常快速地开发出属于自己的应用程序,进行第二次开发。
EasyPlayer-rtsp播放器中码率及帧率统计的实现方法相关推荐
- EasyPlayer RTSP播放器:一个适用于安防行业的工具利器(EasyPlayer Windows v2.0.17.0709)
EasyPlayer-RTSP-Win播放器最新版本下载:https://github.com/EasyDSS/EasyPlayer-RTSP-Win/releases EasyPlayer项目Git ...
- 我们计划为EasyDSS定制开发一款超低延时的EasyPlayer Flash播放器
现象 最近团队在做EasyDSS RTMP流媒体服务器开发的过程中,遇到了一个关于延时累积的问题,先大概描述一下过程: 在EasyRTMP Android进行长时间的RTMP推流压力测试,在EasyD ...
- SkeyePlayer RTSP播放器:一个适用于安防行业的工具利器
SkeyePlayer项目地址:https://gitee.com/visual-opening/SkeyePlayerhttps://gitee.com/visual-openinghttps:// ...
- Android平台RTMP/RTSP播放器开发系列之解码和绘制
本文主要抛砖引玉,粗略介绍下Android平台RTMP/RTSP播放器中解码和绘制相关的部分(Github). 解码 提到解码,大家都知道软硬解,甚至一些公司觉得硬解码已经足够通用,慢慢抛弃软解了,如 ...
- RTSP播放器开发过程中需要考虑哪些关键因素
好多开发者,在自研或者选择市面上的播放器的时候,除了常规的播放功能,还有很多点值得关注,如延迟.资源占用.网络异常处理.多实例支持.长时间运行稳定性等.以下是我们开发直播播放器过程中,考虑的部分关键因 ...
- EasyDarwin开源手机直播方案:EasyPusher手机直播推送,EasyDarwin流媒体服务器,EasyPlayer手机播放器...
在不断进行EasyDarwin开源流媒体服务器的功能和性能完善的同时,我们也配套实现了目前在安防和移动互联网行业比较火热的移动端手机直播方案,主要就是我们的 EasyPusher直播推送项目 和 Ea ...
- 播放器 potplayer rtsp播放器
目录 potplayer: 播放比例设置: html5_rtsp_player: GitHub - Streamedian/html5_rtsp_player: Play RTSP stream fr ...
- 去掉h5播放器中voide标签中的下载按钮
去掉H5播放器中voide标签中的下载按钮,参考代码: <video width="320" height="240" controls> & ...
- Windows平台RTMP|RTSP播放器为什么要兼容GDI绘制
为什么要支持GDI 先说结论,Windows平台播放渲染这块,一般来说99%以上的机器都是支持D3D的,实现GDI模式绘制,除了为了好的兼容性外,在远程连接的场景下,D3D创建不成功,需要使用GDI模 ...
最新文章
- 苹果要垄断?官方证实:T2安全芯片会限制新款Mac电脑第三方
- http keep-alive
- C语言中:#define宏的正确使用
- 图像处理(十二)图像融合(1)Seamless cloning泊松克隆-Siggraph 2004
- Python进阶_wxpy学习:聊天对象
- 宫崎骏动画里的新垣结衣见过没?简直美呆!
- 阿里云 超级码力在线编程大赛初赛 第4场 题目3. from start to end
- mac mysql 链接_mac上搭建mysql环境配置和Navicat连接mysql
- 解决http://localhost:3000/favicon.ico 的404 问题(含案例解析)
- oracle+greatest+max,ORACLE 内置函数之 GREATEST 和 LEAST(求多列的最大值,最小值)
- 微弱信号相关检测程序matlab,基于MATLAB微弱信号的相关检测设计与仿真.pdf
- 数据通信与网络有这一篇就够了(概述篇)
- 什么是servlet?servlet的运行原理?如何自定义一个servlet?
- C++编写COM组件 ATL工程
- 动态服务器值 回放报错 没有关联到_LR之关联
- 路由跟踪在线Tracert工具说明
- 深扒人脸识别技术,原理、算法深度解析
- 南京师范大学计算机学院师资,南京师范大学计算机与电子信息学院导师教师师资介绍简介-陈燚...
- Android使用Fragment打造万能页面切换框架(一)
- 紫光全速狂飙!2019年就开始量产64层NAND闪存芯片