I am using R23.2 on TX1.
Default gstreamer-1.0 version in R23.2 is 1.2.4. I am getting overlay flickering issue using below pipeline.
gst-launch-1.0 videotestsrc \
! textoverlay text="Recording..." halignment=0 valignment=1 \
! 'video/x-raw, width=1920, height=1080, format=UYVY, framerate=60/1' \
! nvvidconv ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=I420, framerate=60/1' \
! nvoverlaysink sync=false
“Recording…” text overlay flickers while preview renders smoothly.
This is creating issue with “v4l2src”. I have created camera driver which gives 1080p60 UYVY data.
But with new gstreamer version like 1.8.3 or 1.10.2 the above command display overlay smoothly with videotestsrc. But with v4l2src it gives below error
Setting pipeline to PAUSED ...
Inside NvxLiteH264DecoderLowLatencyInitNvxLiteH264DecoderLowLatencyInit set DPB and MjstreamingInside NvxLiteH265DecoderLowLatencyInitNvxLiteH265DecoderLowLatencyInit set DPB and MjstreamingPipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
ERROR: from element /GstPipeline:pipeline0/GstV4l2Src:v4l2src0: Internal data stream error.
Additional debug info:
gstbasesrc.c(2950): gst_base_src_loop (): /GstPipeline:pipeline0/GstV4l2Src:v4l2src0:
streaming stopped, reason error (-5)
Execution ended after 0:00:00.077374264
Setting pipeline to PAUSED ...
Setting pipeline to READY ...
Setting pipeline to NULL ...
Freeing pipeline ...
But if replaced nvvidconv with videoconvert preview appears but it lags a lot but with no overlay flickering.
gst-launch-1.0 v4l2src \
! textoverlay text="Recording..." halignment=0 valignment=1 \
! 'video/x-raw, width=1920, height=1080, format=UYVY, framerate=60/1' \
! nvvidconv ! 'video/x-raw, width=1920, height=1080, format=I420, framerate=60/1' \
! nvoverlaysink sync=false
But if i use xvimagesink instead of nvvidconv and nvoverlaysink video plays smoothely and with no overlay flickering.
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw, width=1920, height=1080, format=UYVY, framerate=60/1' ! textoverlay text="Recording..." halignment=0 valignment=1 ! xvimagesink
So i think there’s some problem with v4l2src and nvvidconv using gstreamer 1.10.2.
I think i need to build nvvidconv with new gstreamer. But source code of nvvidconv is proprietary, Right? So what else i can do?