I have the following pipeline that displays the video from an RTSP camera with a digital zoom in the top-right corner:
gst-launch-1.0 rtspsrc location=rtsp://admin:123456@192.168.1.118:554/streaming/channels/101 latency=0 ! rtph265depay ! h265parse ! nvv4l2decoder ! nvvidconv ! 'video/x-raw',format=RGBA ! queue ! tee name=t \
t. ! queue ! comp.sink_0 \
t. ! queue ! videocrop top=315 left=520 right=520 bottom=315 ! videoscale ! comp.sink_1 \
nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=1280 sink_0::height=720 sink_1::xpos=960 sink_1::ypos=0 sink_1::width=320 sink_1::height=180 ! nvoverlaysink
This pipeline works fine with nvoverlaysink
, but when I try to display the video in a GTK window using GstVideoOverlay, nvoverlaysink
does not work.
I tested the following pipeline with nv3dsink
, and it displays the video correctly in the GTK window:
gst-launch-1.0 rtspsrc location=rtsp://admin:123456@192.168.1.118:554/streaming/channels/101 latency=0 ! rtph265depay ! h265parse ! nvv4l2decoder ! nvvidconv ! 'video/x-raw(memory:NVMM)' ! nv3dsink -e
I would like to know how to use nv3dsink
in the first pipeline, while still keeping the video composition with nvcompositor
. Any suggestions?