When I execute this command directly on the external monitor connected to the device, the stream displays correctly. However, when I attempt to log in from my PC using SSH with X forwarding (ssh -X) and set the display using export DISPLAY=:1, the video stream appears briefly and then disappears.
When I execute the command, I receive the following messages:
libEGL warning: DRI3: failed to query the version
libEGL warning: DRI2: failed to authenticate
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-nvarguscamerasrc.cpp, threadFunction:241 (propagating)
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamerasrc.cpp, waitRunning:203 Invalid thread state 3
Error generated. /dvs/git/dirty/git-master_linux/multimedia/nvgstreamer/gst-nvarguscamerasrc.cpp, execute:814 (propagating)
Got EOS from element “pipeline0”.
Execution ended after 0:00:00.240982130
Setting pipeline to NULL …
Freeing pipeline …
How to resolve this issue
libEGL is required by NVIDIA elements, and the glDisplay creation will fail if you’re using XServer forwarding. If you want to view the camera output, you can use UDP, RTSP, or WebRTC streaming as a workaround for not being able to use xvimagesink. If your board doesn’t have a display, you can set up a virtual display using nvidia-xconfig.
I hope this helps! Let me know if you need more specific information on any of these points.
Could you provide a GStreamer command to dump the video stream into an MP4 file format? I tried several commands, but while the output file is generated, I cannot open it with ffplay; it shows an error. I suspect the issue may be related to the conversion of raw data.
Camera sensor is IMX219
A working GStreamer command would be very helpful.
I ran the command:
sudo gst-launch-1.0 nvarguscamerasrc sensor-id=0 ! ‘video/x-raw(memory:NVMM), width=(int)1640, height=(int)1232, format=(string)NV12, framerate=(fraction)30/1’ ! nvvidconv ! videoconvert ! x264enc bitrate=4000 tune=zerolatency ! mp4mux ! filesink location=test.mp4
The test.mp4 file is present, but I can’t play it. It shows an error when I check it with ffprobe:
[mov,mp4,m4a,3gp,3g2,mj2 @ 0xaaaaf816b350] moov atom not found
test.mp4: Invalid data found when processing input
Is there an error in the pipeline? Can you suggest a solution to this issue?