Image Stitching for NVIDIA Jetson/Examples/Using Gstd: Difference between revisions

From RidgeRun Developer Wiki
mNo edit summary
 
(17 intermediate revisions by 6 users not shown)
Line 1: Line 1:
<noinclude>
<noinclude>
{{Image_Stitching_for_NVIDIA_Jetson/Head | }}
{{Image_Stitching_for_NVIDIA_Jetson/Head|previous=Examples/Basic pipelines|next=Examples/Other pipelines|metakeywords=Image Stitching, Image Stitching, CUDA, Stitcher, Panorama}}
</noinclude>
<noinclude>
{{Image_Stitching_for_NVIDIA_Jetson/Head|previous=Examples/Basic pipelines|next=Examples/Nano,TX1,TX2,Xavier_Pipelines|keywords=Image Stitching, Image Stitching, CUDA, Stitcher, Panorama}}
</noinclude>
</noinclude>


{{DISPLAYTITLE:Stitcher element examples using Gstd|noerror}}


[[GStreamer_Daemon]] is a gst-launch on steroids where you can create a GStreamer pipeline, play, pause, change speed, skip around, and even change element parameter settings all while the pipeline is active.


[[GStreamer_Daemon]] is a gst-launch on steroids where you can create a GStreamer pipeline, play, pause, change speed, skip around, and even change element parameter settings all while the pipeline is active.
<br>
{{ambox|text=This example only works for JP4.x!}}
<br>


==Running with bash GSTD client==
==Running with bash GSTD client==


The execution with GSTD is basically the same as any other pipeline.
The execution with GSTD is the same as any other pipeline.


<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
Line 20: Line 21:
cudastitcher name=stitcher \
cudastitcher name=stitcher \
homography-list="`cat homographies.json | tr -d "\n" | tr -d " "`" \
homography-list="`cat homographies.json | tr -d "\n" | tr -d " "`" \
border-width=10 \
nvarguscamerasrc sensor-id=0 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_0 \
nvarguscamerasrc maxperf=true sensor-id=0 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_0 \
nvarguscamerasrc sensor-id=1 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_1 \
nvarguscamerasrc maxperf=true sensor-id=1 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_1 \
nvarguscamerasrc sensor-id=2 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_2 \
nvarguscamerasrc maxperf=true sensor-id=2 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_2 \
stitcher. ! queue ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=360" ! nvoverlaysink
stitcher. ! perf print-arm-load=true ! queue ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=360" ! nvoverlaysink
 
gstd-client pipeline_play stitcher_pipeline
</syntaxhighlight>
 
For x86 follow:
<syntaxhighlight lang=bash>
gstd # Launch gstd daemon, this will separate itself into its own process
 
gstd-client pipeline_create stitcher_pipeline \
cudastitcher name=stitcher \
homography-list="`cat homographie.json | tr -d "\n" | tr -d "\t" | tr -d " "`" \
videotestsrc pattern=ball ! videoconvert ! "video/x-raw, width=1920, height=1080" ! queue ! stitcher.sink_0 \
videotestsrc pattern=smpte ! videoconvert ! "video/x-raw, width=1920, height=1080" ! queue ! stitcher.sink_1 \
videotestsrc pattern=snow ! videoconvert ! "video/x-raw, width=1920, height=1080" ! queue ! stitcher.sink_2 \
stitcher. ! queue ! videoconvert ! xvimagesink sync=false


gstd-client pipeline_play stitcher_pipeline
gstd-client pipeline_play stitcher_pipeline
Line 30: Line 45:


<noinclude>
<noinclude>
{{Image_Stitching_for_NVIDIA_Jetson/Foot|Examples/Basic pipelines|Examples/Nano,TX1,TX2,Xavier_Pipelines}}
{{Image_Stitching_for_NVIDIA_Jetson/Foot|Examples/Basic pipelines|Examples/Other pipelines}}
</noinclude>
</noinclude>

Latest revision as of 09:03, 1 December 2023



Previous: Examples/Basic pipelines Index Next: Examples/Other pipelines






GStreamer_Daemon is a gst-launch on steroids where you can create a GStreamer pipeline, play, pause, change speed, skip around, and even change element parameter settings all while the pipeline is active.



Running with bash GSTD client

The execution with GSTD is the same as any other pipeline.

gstd # Launch gstd daemon, this will separate itself into its own process

gstd-client pipeline_create stitcher_pipeline \
cudastitcher name=stitcher \
homography-list="`cat homographies.json | tr -d "\n" | tr -d " "`" \
nvarguscamerasrc sensor-id=0 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_0 \
nvarguscamerasrc sensor-id=1 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_1 \
nvarguscamerasrc sensor-id=2 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_2 \
stitcher. ! queue ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=360" ! nvoverlaysink

gstd-client pipeline_play stitcher_pipeline

For x86 follow:

gstd # Launch gstd daemon, this will separate itself into its own process

gstd-client pipeline_create stitcher_pipeline \
cudastitcher name=stitcher \
homography-list="`cat homographie.json | tr -d "\n" | tr -d "\t" | tr -d " "`" \
videotestsrc pattern=ball ! videoconvert ! "video/x-raw, width=1920, height=1080" ! queue ! stitcher.sink_0 \
videotestsrc pattern=smpte ! videoconvert ! "video/x-raw, width=1920, height=1080" ! queue ! stitcher.sink_1 \
videotestsrc pattern=snow ! videoconvert ! "video/x-raw, width=1920, height=1080" ! queue ! stitcher.sink_2 \
stitcher. ! queue ! videoconvert ! xvimagesink sync=false

gstd-client pipeline_play stitcher_pipeline


Previous: Examples/Basic pipelines Index Next: Examples/Other pipelines