各位NXP大神,
现在有个问题需要求助一下。我现在使用一个网络摄像头,通过网线和imx6的开发板的以太网口相连接。摄像头通过网线向imx6发送实时的H264视频帧数据。我现在通过mxc_vpu_test这个测试用例,来负责解码获取到的H264的视频,然后通过HDMI接口输出到显示器。
现在测试发现,imx6开发板解码后,输出到显示器的延迟大概有2-3s,这个延迟实在是太大了。想请大家告知一下,应该如何才能降低这个显示输出的延迟。
测试背景:
开发板系统内核版本:3.0.35
由于mxc_vpu_test可以解码的是一个文件,因此在系统的文件系统中创建了一个类型为tmpfs的文件名为recv.h264,每次以太网收到视频帧都会更新recv.h264,即保证这个文件中只有当前一帧视频数据。
现在我测试时,解码输出到显示器的视频已经是连续流畅的了,也就是说明接收H264视频到解码没问题。唯一的问题就是输出到HDMI显示器时延迟太大。
后续我做了如下的测试:将这个网络摄像头,通过以太网和PC相连接,然后在PC上我通过ffmpeg来解码H264的视频,并通过屏幕显示。此时测试发现,摄像头输出的图像是没有延迟的。那当前我这个问题,是否可以定义为是VPU解码输出到屏幕显示的延迟,这个延迟应该怎么调整呢,希望知道的大神给解答一下 |
for web camera, I suggest that you can use gstreamer to test, refer to the linux user guide,
The following command line is an example of how to record and transfer web camera input.
gst-launch-1.0 v4l2src device=/dev/video1 ! vpuenc_h264 ! rtph264pay ! udpsink host=$HOST_IP
HOST_IP is the IP/multicast group to send the packets to.
This command line is an example of how to receive and display web camera input.
gst-launch-1.0 udpsrc ! application/x-rtp ! rtph264depay ! vpudec ! v4l2sink