We tried compiling and running deepstream_test1_app located in “DeepStream_Release/sources/apps/deepstream-test1” path on a cloud instance with Quadro P4000 GPU. After compiling, the binary file got generated with the name “deepstream_test1_app”. When we tried running the file with the sample video provided in streams (setting the GST_DEBUG environment variable to 4), we encountered the following errors:
0:00:09.095460533 10137 0x1325720 ERROR egladaption ext/eglgles/gstegladaptation.c:663:gst_egl_adaptation_choose_config:<nvvideo-renderer> Could not find matching framebuffer config 0:00:09.095489073 10137 0x1325720 ERROR egladaption ext/eglgles/gstegladaptation.c:676:gst_egl_adaptation_choose_config:<nvvideo-renderer> Couldn't choose an usable config 0:00:09.095494656 10137 0x1325720 ERROR nveglglessink ext/eglgles/gsteglglessink.c:2706:gst_eglglessink_configure_caps:<nvvideo-renderer> Couldn't choose EGL config 0:00:09.095505847 10137 0x1325720 ERROR nveglglessink ext/eglgles/gsteglglessink.c:2766:gst_eglglessink_configure_caps:<nvvideo-renderer> Configuring caps failed 0:00:09.095551569 10137 0x13256d0 ERROR nveglglessink ext/eglgles/gsteglglessink.c:2811:gst_eglglessink_setcaps:<nvvideo-renderer> Failed to configure caps 0:00:09.095625344 10137 0x13256d0 ERROR nveglglessink ext/eglgles/gsteglglessink.c:2811:gst_eglglessink_setcaps:<nvvideo-renderer> Failed to configure caps 0:00:11.722946822 9221 0x20cead0 ERROR nveglglessink ext/eglgles/gsteglglessink.c:2811:gst_eglglessink_setcaps:<nvvideo-renderer> Failed to configure caps
Despite the errors, the code runs fine and prints the number of objects in each frame. Naturally, we would like to get visual confirmation of this success, so we tried to run the same binary using a VNC remote desktop. When we did so, the program stalls after printing “Running…” and gives us the following errors:
0:00:00.094049373 7618 0x6d1600 INFO GST_STATES gstbin.c:2316:gst_bin_element_set_state:<nvvideo-renderer> current NULL pending VOID_PENDING, desired next READY 0:00:00.094751717 7618 0x6d1600 ERROR egladaption ext/eglgles/gstegladaptation_egl.c:144:gst_egl_adaptation_init_display:<nvvideo-renderer> Could not get EGL display connection 0:00:00.094766339 7618 0x6d1600 ERROR egladaption ext/eglgles/gstegladaptation_egl.c:185:gst_egl_adaptation_init_display:<nvvideo-renderer> Couldn't setup window/surface from handle 0:00:00.094770989 7618 0x6d1600 ERROR nveglglessink ext/eglgles/gsteglglessink.c:526:egl_init:<nvvideo-renderer> Couldn't init EGL display 0:00:00.094775199 7618 0x6d1600 ERROR nveglglessink ext/eglgles/gsteglglessink.c:552:egl_init:<nvvideo-renderer> Failed to perform EGL init
We encountered similar issues with the EGL display due to missing drivers when running deepstream-app with the config files in samples/config on a remote machine using VNC. But, we were able to overcome the problem by specifying the use of a file sink rather than a windowed display in a configuration file.
Because such a configuration file is unavailable for these samples, we have been attempting to implement a similar solution by reconfiguring the gstreamer pipeline from its current setup (file-source -> h264-parser -> nvh264-decoder -> nvinfer -> filter1 -> nvvidconv -> filter2 -> nvosd -> video-renderer) to something that using a filesink instead of the nvosd + video-renderer combo (something along the lines of file-source -> h264-parser -> nvh264-decoder -> nvinfer -> filter1 -> x264enc -> mp4mux -> filesink). We are having trouble trying to figure out how exactly to accomplish this - when we try to attach the x264enc element to the filter1 element (which has source format NV12), we receive an incompatible format error from GStreamer, even though the x264enc element should accept NV12 format on its sink pad.
We are relatively new to GStreamer and are having some trouble figuring out what’s wrong with our pipeline and how to remedy the issue, as it is quite difficult to find examples/documentation for GStreamer’s C++ API. If someone would be willing to provide us with some guidance on how to create the filesink pipeline that we’re trying to build, the help would be much appreciated.