Other Parts Discussed in Thread: TVP5158,
Tool/software: Linux
Hello,
We have some questions about the video capture latency(ms). The platforms are AM5728 and tvp5158 on Linux. The camera is PAL@25, 720*576.
1) How to reduce the capture latency?
The camera signal is outputted to a screen and the tvp5158 at the same time by the one point and two tail AV line. The camera is faced the millisecond meter.
When we carried out the display command such as: 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, the latency is 43 ms between the screen and the display of AM5728.
Can I use the field rather than the frame to reduce the latency or what any things can we do to reduce the latency?
2) The VIP interrupt count.
When we use the command: yavta -c10 -fYUYV -s720x288 /dev/video1, the interrupt count is 12, it's normal. But when we use GStreamer command: 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 ' ! fakesink, the count is 14. What is happened and why it?
3) Our ultimate aim is to capture video and do H264 code in real time, transfer the data to the PC through the socket.
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' ! queue ! vpe num-input-buffers=8 ! 'video/x-raw, format=(string)NV12, width=(int)720, height=(int)576' ! ducatih264enc bitrate=2000 profile=66 level=30 ! h264parse ! appsink sync=false
In the callback function of appsink, we transfer the buffer to PC through socket. Now the latency is 86 ms between the PC display and the camera display, we want to reduce the latency to less than 80 ms. What any things can we do?