嵌入式开发者社区

标题: 视频采集问题 [打印本页]

作者: linuxfans    时间: 2018-10-9 11:38
标题: 视频采集问题
创龙工程师您好:

       我们这边正在进行一个视频采集相关的项目,采用TVP5158模块进行采集,平台就是AM5728,摄像头就是PAL制式25帧每秒,720*576。

TVP5158是隔行扫描,也就是说分奇偶场采,为减少时延我们想直接利用720*288的数据,也就是每场采集即进行处理,目前测试发现实际时延还是在43ms也就是一帧的时延,并不是预期的20ms左右,请问这个问题该如何解决,是修改TVP5158的驱动还是VIP相关代码。

测试gstreamer管道命令如下:
gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=1000 io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)720, height=(int)288' ! vpe num-input-buffers=8 ! 'video/x-raw, format=(string)NV12, width=(int)720, height=(int)288' ! queue ! waylandsink sync=false

麻烦创龙技术工程师这边能够提供一些技术支持,谢谢了。

作者: czs----Tronlong    时间: 2018-10-10 08:59
您好,

      理论值的时延一般很难达到,这个会受到很多影响因素,摄像头,采集模块,AM5728视频处理中间都有可能会造成时延。具体我们这边是没有没进行过摄像头的优化
作者: linuxfans    时间: 2018-10-10 09:27
czs----Tronlong 发表于 2018-10-10 08:59
您好,

      理论值的时延一般很难达到,这个会受到很多影响因素,摄像头,采集模块,AM5728视频处理中间 ...

还有一个问题是:gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=10 io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)720, height=(int)288' ! appsink  其中最后的时间获取在appsink的回调,测得的是当前和上一次的间隔,当我采用上述的命令转的c代码测试时,测得间隔在20ms,20ms,40ms循环
当我采用gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=10 io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)720, height=(int)288'  ! vpe num-input-buffers=8 ! 'video/x-raw, format=(string)NV12, width=(int)720, height=(int)576' ! appsink 命令,即增加了VPE环节时,时间间隔测得全为20ms,请问这是什么原因呢,增加环节时间就算不增加也得保持吧,怎么会减少呢
作者: linuxfans    时间: 2018-10-10 10:11
linuxfans 发表于 2018-10-10 09:27
还有一个问题是:gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=10 io-mode=4 ! 'video/x-raw, ...

补充下,当VPE格式保持720*288,即gst-launch-1.0 v4l2src device=/dev/video1 num-buffers=10 io-mode=4 ! 'video/x-raw, format=(string)YUY2, width=(int)720, height=(int)288'  ! vpe num-input-buffers=8 ! 'video/x-raw, format=(string)NV12, width=(int)720, height=(int)288' ! appsink 此时测得的也是20,20,40循环




欢迎光临 嵌入式开发者社区 (https://www.51ele.net/) Powered by Discuz! X3.4