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

From RidgeRun Developer Wiki
mNo edit summary
Line 12: Line 12:
==Running with bash GSTD client==
==Running with bash GSTD client==


The main difference in the pipeline syntax is that the homographies now need to be surrounded with escaped single quotes:
The execution with GSTD is basically the same as any other pipeline.
 
<syntaxhighlight lang=bash>
<syntaxhighlight lang=bash>
gstd # Launch gstd daemon, this will separate itself into its own process
gstd # Launch gstd daemon, this will separate itself into its own process


gstd-client pipeline_create stitcher_pipeline \
gstd-client pipeline_create stitcher_pipeline \
cudastitcher name=cuda \
cudastitcher name=stitcher \
left-center-homography=\'{\"h00\":2.47795806e-01, \"h01\":1.83125651e-01, \"h02\":1511, \"h10\":-9.58951851e-02, \"h11\":1.00466096e+00, \"h12\":3.43046193e+01, \"h20\":-1.84997102e-04, \"h21\":4.48703017e-05, \"h22\":1}\' \
homography-list="`cat homographies.json | tr -d "\n" | tr -d " "`" \
right-center-homography=\'{\"h00\":1.07033034e+00, \"h01\":-8.91500609e-02, \"h02\":-1504, \"h10\":2.06014232e-02, \"h11\":1.06485384e+00, \"h12\":-2.68451772e+01, \"h20\":3.98503995e-06, \"h21\":4.20860985e-05, \"h22\":1}\' \
border-width=10 \
nvarguscamerasrc maxperf=true sensor-id=0 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! cuda.sink_0 \
nvarguscamerasrc maxperf=true sensor-id=0 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_0 \
nvarguscamerasrc maxperf=true sensor-id=1 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! cuda.sink_1 \
nvarguscamerasrc maxperf=true sensor-id=1 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_1 \
nvarguscamerasrc maxperf=true sensor-id=2 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! cuda.sink_2 \
nvarguscamerasrc maxperf=true sensor-id=2 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_2 \
cuda. ! perf print-arm-load=true ! 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
gstd-client pipeline_play stitcher_pipeline

Revision as of 20:09, 10 March 2021



  Index  






Previous: Examples/Basic pipelines Index Next: Examples/Nano,TX1,TX2,Xavier_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 basically 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 " "`" \
border-width=10 \
nvarguscamerasrc maxperf=true sensor-id=0 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_0 \
nvarguscamerasrc maxperf=true sensor-id=1 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_1 \
nvarguscamerasrc maxperf=true sensor-id=2 ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=1080" ! queue ! stitcher.sink_2 \
stitcher. ! perf print-arm-load=true ! queue ! nvvidconv ! "video/x-raw(memory:NVMM), width=1920, height=360" ! nvoverlaysink

gstd-client pipeline_play stitcher_pipeline


Previous: Examples/Basic pipelines Index Next: Examples/Nano,TX1,TX2,Xavier_Pipelines