ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

HI3559 视频链路延时测试方法

2021-08-03 19:02:28  阅读:292  来源: 互联网

标签:HI3559 一帧 解码 板端 PC 时间 延时 链路 测试方法


一、视频链路介绍

 

 

 

 

 

相机的帧率是30 fps/s,输出是yuv422格式,FPD_Link III接口。经过ti964将串行转mipi后送入到hi3559的VI模块,VI模块将捕获到的视频流送到VENC进行编码,编码后存入DDR.,最后从DDR中取出H265发送出去。PC端接受到码流后用FFMPEG分帧,将分出的帧送到GPU解码,最后显示。

整条视频链路的延时主要有五步分组成:

1、相机延时,这跟相机帧率有关,30 fps/s的相机延时为33ms

2、3559接受码流和编码延时

3、网络传输延时

4、GPU解码延时

5、显示延时,这个和显示机制和屏幕刷新率有关

 

二、板端延时测试方法

板端延时主要是3559接受码流和编码延时

1、用qt在PC端做一个实时时钟,时钟显示的是PC的时间。并每隔一段时间将pc的时间发送给板端,用来校准板端时间。这样时钟时间,PC时间,板端时间三者同步。

 

 

2、同步PC和板端时间

3、将摄像头对准时钟,在板端保存若干帧h265码流,每帧保存一个文件,文件名为获取到码流的当前板端时间

4、将保存的若干帧码流用pc解码成jpg图片。

5、对比图片上的时间和文件名时间,这两个时间差就是相机的延时和板端延时。

 

              图片名称的时间:17.759

                     图片名称上的时间:17.826

 

第一张图片上的时间最后的秒和毫秒为17.669或17.679,获取到这张图片的h265的板端时间是17.759。所以从相机采集到编码完成的延时是17.759-17.669=90ms或17.759-17.679=80ms.

第二张图片上的最秒和毫秒时间为17.728或17.748,获取到这张图片的h265的板端时间是17.826。所以从相机采集到编码完成的延时是17.826-17.728=98ms或17.826-17.748=78ms.

 

三、网络延时测试方法

1、同步板端和pc端时间

2、板端在获取到一帧h265后,在其后面插入一段私有帧信息和私有帧,如下所示:

 

 

私有帧信息中的mSec就是获取到这帧码流的板端时间。插入私有帧是为了降低ffmpeg分帧的延时。因为ffmpeg分帧时将两个帧头中的数据作为一帧的数据,如果没有插入一帧的私有帧,则需要等到下一帧的帧头过来后才能分出上一帧,这样就增加了一帧的延时。

3、将ffmpeg中分出一帧后获取pc的时间减去私有帧信息中的时间就是网络传输延时

四、GPU解码延时测试

测试gpu解码的延时很简单,将解码结束的PC时间减去开始解码的PC时间即可。GPU解码有可能缓存,测试是否缓存方法为:

1、在板端保存若干帧h265,每帧保存一个文件

2、从I帧开始,将若干帧h265放入GPU解码,看是否放入的每帧都能解出来

让GPU低延时解码,需要在初始化NvDecoder时指定是低延时模式:

 

标签:HI3559,一帧,解码,板端,PC,时间,延时,链路,测试方法
来源: https://www.cnblogs.com/YYFaGe/p/15095655.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有