DC娱乐网

录像回放/切换播放进度立即跳转/支持8倍速播放/倍速和跳转进度

在国标监控系统中,录像回放过程中,需要切换播放进度,对比过很过国标系统,绝大部分尤其是网页版的监控系统,在切换进度过程中

在国标监控系统中,录像回放过程中,需要切换播放进度,对比过很过国标系统,绝大部分尤其是网页版的监控系统,在切换进度过程中都会黑屏,这个体验就很不友好了,明明gb28181协议中就有切换进度的指令,切换完成后,会立即发送对应进度开始的音视频流数据,只要继续解码就行,用抓包工具查看数据,发现居然是重新发起请求,也就是按照当前时间点的视频录像文件,重新发起请求,整个交互过程一般可能需要1-2s,导致中间黑屏,是解码不好处理?因为切换进度后对应的pts突然之间变了,尤其是从一个大的时间点切换到一个小的时间点,pts居然变小了,其中不乏一些著名的国标平台,为何不能做成一个平滑的无缝切换呢?中间还涉及到重新推拉流?

用纯Qt开发这个国标监控组件,就没有这个黑屏的问题,切换进度直接执行指令,然后清空缓存数据,收到新的数据继续解码播放即可,非常的流畅和稳定,切换到哪里就立即是显示哪里,往前往后切换都能立即响应,跳转进度无缝切换,要的就是这种效果。网页版的国标监控系统还有一个问题就是倍速,基本上只能做到4倍速,别说八倍速了,连八倍速的选项都没有,是担心网页解码显示性能不足?其实很多时候查阅录像文件,基本上需要倍速播放,播放快到了需要的地方才会切换到正常速度或者满倍速慢慢找。其实还有个问题,就是倍速传过来的其实是完整的流数据,只是解码这边要求快一点解码,比如fps25帧,如果八倍速就是每秒钟给了25乘以8等于200帧的数据,然后要求1秒钟解码200帧的数据显示,确实压力够大,查看了对应的CPU和GPU占用,确实高了不少,对电脑的配置要求也比较高,那是不是后面可以改成只推送关键帧过来?这个应该需要设备端的配合才行。