Hi,
I have a Vision Components MIPI driver installed for IMX296 on Orin NX board. (p3768).
I am using the pipeline
gst-launch-1.0 -e nvarguscamerasrc sensor-id=0 sensor-mode=0 ! 'video/x-raw(memory:NVMM),width=1440,height=1080,framerate=30/1' ! nvvidconv ! nvv4l2h265enc ! h265parse ! mp4mux ! filesink location=out.mp4
The verbose for the above:
libEGL warning: DRI3: failed to query the version
Setting pipeline to PAUSED ...
Opening in BLOCKING MODE
Pipeline is live and does not need PREROLL ...
Setting pipeline to PLAYING ...
New clock: GstSystemClock
Redistribute latency...
NvMMLiteOpen : Block : BlockType = 8
===== NvVideo: NVENC =====
NvMMLiteBlockCreate : Block : BlockType = 8
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.120006916
Setting pipeline to NULL ...
Freeing pipeline ...
on
$ vlc out.mp4
I do not get any recorded video output.
$ cat /dev/video0
gives the frame dump.
The sensor is connected to CSI-2 on the dev board.
The dmesg for the sensor is as follows:
$ sudo dmesg | grep vc_mipi
[ 0.002552] DTS File Name: /home/vc_mipi_nvidia/build/Nano_35.3.1/Linux_for_Tegra/source/public/kernel/kernel-5.10/arch/arm64/boot/dts/../../../../../../hardware/nvidia/platform/t23x/p3768/kernel-dts/tegra234-p3767-0000-p3768-0000-a0.dts
[ 7.426324] vc_mipi 9-0036: vc_probe(): Probing UNIVERSAL VC MIPI Driver (v0.15.0)
[ 9.836345] vc_mipi 9-0036: vc_mod_setup(): Unable to get module I2C client for address 0x10
[ 9.845025] vc_mipi 9-0036: vc_probe(): Error in vc_core_init!
[ 9.904728] vc_mipi 10-001a: vc_probe(): Probing UNIVERSAL VC MIPI Driver (v0.15.0)
[ 10.278330] vc_mipi 10-001a: vc_init_io(): Init trigger and flash mode
[ 10.299007] vc_mipi 10-001a: vc_init_frmfmt(): Init frame (width: 1440, height: 1080, fps: 0)
[ 10.307982] vc_mipi 10-001a: tegracam sensor driver:vc_mipi_v2.0.6
[ 10.314470] tegra-camrtc-capture-vi tegra-capture-vi: subdev vc_mipi 10-001a bound
[ 10.323104] vc_mipi 10-001a: vc_core_set_num_lanes(): Set number of lanes 1
[ 10.330268] vc_mipi 10-001a: vc_init_lanes(): Init lanes (num_lanes: 1)
[ 10.337077] vc_mipi 10-001a: vc_init_tegra_controls(): Read control gain (min: 0, max: 48000, default: 0)
[ 10.346912] vc_mipi 10-001a: vc_init_tegra_controls(): Overwrite control exposure (min: 1, max: 15533515, default: 10000)
[ 10.358170] vc_mipi 10-001a: vc_init_tegra_controls(): Overwrite control framerate (min: 0, max: 60816, default: 0)
[ 47.031643] vc_mipi 10-001a: vc_core_set_format(): Set format 0x300f (RG10)
[ 47.042413] vc_mipi 10-001a: vc_core_try_format(): Try format 0x300f (RG10, format: 0x2b)
[ 47.042418] vc_mipi 10-001a: vc_update_image_size_from_mode(): Update image size from mode0 (l: 0, t: 0, w: 1440, h: 1080)
[ 47.464153] vc_mipi 10-001a: vc_sen_set_roi(): Set sensor roi: (left: 0, top: 0, width: 1440, height: 1080)
[ 47.475525] vc_mipi 10-001a: vc_sen_set_exposure(): Set sensor exposure: 10000 us
[ 47.484115] vc_mipi 10-001a: vc_sen_set_gain(): Set sensor gain: 0
[ 47.490785] vc_mipi 10-001a: vc_sen_set_blacklevel(): Set sensor black level: 60
[ 47.498820] vc_mipi 10-001a: vc_sen_start_stream(): Start streaming
[ 54.778365] vc_mipi 10-001a: vc_sen_stop_stream(): Stop streaming
While running the below pipeline with autovideosink:
gst-launch-1.0 -e nvarguscamerasrc sensor-id=0 sensor-mode=0 ! 'video/x-raw(memory:NVMM),width=1440,height=1080,framerate=30/1' ! nvvidconv ! autovideosink
The gst launcher opens and closes.
Verbose for the above:
libEGL warning: DRI3: failed to query the version
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)
WARNING: from element /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage: Pipeline construction is invalid, please add queues.
Additional debug info:
gstbasesink.c(1209): gst_base_sink_query_latency (): /GstPipeline:pipeline0/GstAutoVideoSink:autovideosink0/GstXvImageSink:autovideosink0-actual-sink-xvimage:
Not enough buffering available for the processing deadline of 0:00:00.015000000, add enough queues to buffer 0:00:00.015000000 additional data. Shortening processing latency to 0:00:00.000000000.
Got EOS from element "pipeline0".
Execution ended after 0:00:00.116393343
Setting pipeline to NULL ...
Freeing pipeline ...
Please advice, thanks.