We are trying to get higher quality video than we can with xvvideosink. The major problem
with that is a horizontal ‘tear’ across the video, possibly due to frame update/display update
lack of sync. This is particularly noticeable with fast horizontal panning across vertical edges.
We need to use sync=false to cut down on latency. This is with HD (1920x1080) video from an axis
camera.
As an alternative, we are looking at nvoverlaysink, which seems to not exhibit this problem.
I can get it to display on two of the three displays (2xHDMI, one CSI to HDMI Converter).
I’m using display-id=0,1,2 to select the displays.
The error I get on the last one
NvxBaseWorkerFunction[2575] comp OMX.Nvidia.std.iv_renderer.overlay.yuv420 Error -2147479552
Which is similar to the error reported here:
https://devtalk.nvidia.com/default/topic/1037264/?comment=5270892
I’ve gone and set distributed the overlay buffers between the frame buffers as follows:
cd /sys/class/graphics/fb0
echo 4 > blank
echo 0x3 > device/win_mask
echo 0 > blank
cd /sys/class/graphics/fb1
echo 4 > blank
echo 0x0c > device/win_mask
echo 0 > blank
cd /sys/class/graphics/fb2
echo 4 > blank
echo 0x30 > device/win_mask
echo 0 > blank
As suggested in the reference.
Also I cannot seem to put a “textoverlay” element in the pipeline without getting an error.
Here’s the pipeline I’m using (Without overlay)
gst-launch-1.0 rtspsrc location=rtsp://56.168.8.200/axis-media/media.amp \
! queue \
! decodebin \
! nvvidconv \
! 'video/x-raw(memory:NVMM), format=I420' \
! nvoverlaysink sync=false overlay-w=1918 overlay-h=1048 overlay-x=2 overlay-y=2 display-id=1
My questions are:
a) Is there a way to prevent ‘tearing’ using the xvimagesink or another renderer that will render directly into an x-window buffer?
b) Is there a limit on the number of overlays, or how they are distributed or accessed?
c) In the nvoverlaysink, what is the difference between display-id, overlay, and overlay-profile.
d) How do these map to bits in device/win_mask.
e) What elements or capsfilters would I need to insert a “textoverlay” element in the above pipeline.
f) Any other recommendations for smooth video display?
Thanks in Advance
Cary