Change the video display of deepstream-yolo-app


I know deepstream-yolo-app use GStreamer for display,
but I don’t know how to change it’s video display to a window instead of full screen on ubuntu,
could you give me a concrete example?
my env. is Xavier and Jetpack 4.1.1

Please try nveglglessink. You can refer to sample pipelines in

and integrate it into deepstream-yolo-app to replace nvoverlaysink.


I replace
sink = gst_element_factory_make (“nvoverlaysink”, “nvvideo-renderer”);
to sink = gst_element_factory_make (“nveglglessink”, “nvvideo-renderer”);
in deepstream-yolo-app, and compiling OK, but there are errors after execution:

ERROR from element openmax-decoder: Internal data stream error.
Error: Internal data stream error.

How to fix it?

Do you execute

$ export DISPLAY=:1(or 0)

The default DISPLAY=:0, and the err messages are mentioned as above,
if DISPLAY=:1, it will show :

nvbuf_utils: Could not get EGL display connection
Now playing: /home/nvidia/Videos/taipei.h264

Using winsys: x11 

then this terminal was hold.

Please hook nvegltransfom into the pipeline like:

... ! nvosd ! nvegltransform ! nveglglessink


It is work, but the video processing is getting very slowly(the speed only 1/5 of original deepstream-yolo-app)
Can it be improved?

It is egl-based implementation and you may execute ‘sudo’, and set ‘sync=false’ to nveglglessink.


How to set ‘sync=false’ to nveglglessink in deepstream-yolo-app.cpp?
all of the “‘sync=false’ to nveglglessink” is used in command line.

Simply add one line:

g_object_set (G_OBJECT (sink), "sync", 0, NULL);


Many thanks again, only ‘sudo’ can recover the performance and it is enough, but set ‘sync=false’ to nveglglessink’ will slow down inference video.