I am working on a project using a Jetson device, and I want to display the live feed from a camera directly through the DisplayPort (DP) without showing the GUI or desktop environment. The goal is to have the camera feed automatically displayed on the connected monitor as soon as the DP cable is plugged in, without booting into a graphical interface.
How can I disable the GUI (desktop environment) and have the Jetson directly display the camera feed via DP?
Is nvdrmvideosink the right approach for this, or are there alternative methods to achieve this functionality?
What configurations are needed (e.g., xrandr settings, GStreamer pipelines, or other methods) to ensure the DP port directly outputs the camera feed?
I use to ımx219 camera.
Any guidance, examples, or configurations would be greatly appreciated! Thank you in advance for your help. @DaneLLL
Thank you for your reply
I can run my imx camera with this pipeline:gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! ‘video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12, framerate=(fraction)30/1’ ! nvvidconv ! queue ! xvimagesink
, but when I run it I get the following error:
gst-launch-1.0 nvarguscamerasrc ! nvvidconv ! ‘video/x-raw(memory:NVMM)’ ! nvdrmvideosink sync=0
Setting pipeline to PAUSED …
Could not open DRM failed
ERROR: Pipeline doesn’t want to pause.
ERROR: from element /GstPipeline:pipeline0/GstNvDrmVideoSink:nvdrmvideosink0: GStreamer error: state change failed and some element failed to post a proper error message with the reason for the failure.
Additional debug info:
gstbasesink.c(5367): gst_base_sink_change_state (): /GstPipeline:pipeline0/GstNvDrmVideoSink:nvdrmvideosink0:
Failed to start
Setting pipeline to NULL …
Freeing pipeline …
I would be very happy if you could help me with what should I do for the above error? Thank you in advance for your help.
I have made the installation from scratch for the Orin NX with A603 board and installed Jetpack 5.1.2, but when I do the HDMI operation, I am encountering a different problem this time. Can you help me? @DaneLLL
The error I get is below:
"libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
Setting pipeline to PAUSED …
Pipeline is live and does not need PREROLL …
Setting pipeline to PLAYING …
New clock: GstSystemClock
GST_ARGUS: Creating output stream
(Argus) Error BadParameter: (propagating from src/eglstream/FrameConsumerImpl.cpp, function initialize(), line 89)
(Argus) Error BadParameter: (propagating from src/eglstream/FrameConsumerImpl.cpp, function create(), line 44)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadInitialize:320 Failed to create FrameConsumer
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, threadFunction:241 (propagating)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, waitRunning:203 Invalid thread state 3
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamera/gstnvarguscamerasrc.cpp, execute:806 (propagating)
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.154106635
Setting pipeline to NULL …
Freeing pipeline …
" While I get this error while transferring the imx camera to hdmi, I can transfer a loaded video to hdmi.
Hello, I have an imx219 camera and I am processing images on this camera. I want to transfer this processed image via HDMI. I prepared a code for this and it was working, but when I tried again after changing the board of my jetson, I got an error. code: “gstreamer_pipeline = (
“nvarguscamerasrc sensor-id=0 ! "
“video/x-raw(memory:NVMM), width=(int)1280, height=(int)720, format=(string)NV12, framerate=(fraction)10/1 !”
“nvvidconv !”
“video/x-raw, format=(string)NV12 !”
“videoconvert !”
“appsink”
)
hdmi_pipeline = (
“appsrc !”
“videoconvert !”
“nvvidconv !”
“nvdrmvideosink set_mode=0 -e”
)
cap = cv2.VideoCapture(gstreamer_pipeline, cv2.CAP_GSTREAMER)
out = cv2.VideoWriter(hdmi_pipeline, cv2.CAP_GSTREAMER, 0, 30, (1280, 720), True)
if not cap.isOpened():
print(“Camera could not be opened”)
else:
while True:
ret, frame = cap.read()
if not ret:
print(“Image could not be obtained from camera”)
break
results = model(frame)
annotated_frame = results[0].plot() # Annotated frame
out.write(annotated_frame)
"
error:”[ WARN:0@1.562] global cap_gstreamer.cpp:2436 open OpenCV | GStreamer warning: error opening writer pipeline: syntax error”
it gives this error so the image is not going to hdmi.
This terminal code works:gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! ‘video/x-raw(memory:NVMM), format=(string)NV12, framerate=(fraction)30/1’ ! nvvidconv ! queue ! nvdrmvideosink set_mode=0 -e
I don’t know why it gives a syntax error for this pipeline. Can you help me with this?