Difference between revisions of "Jetson Xavier NX/Gstreamer/Example Pipelines/Transforming"

From RidgeRun Developer Connection
Jump to: navigation, search
(Created page with "<noinclude> {{JetsonXavierNX/Head|previous=Gstreamer/Example_Pipelines/Streaming|next=Contact_Us|keywords=transforming,Video Composition,Video Conversion,scale,rotation|title=...")
 
Line 1: Line 1:
 
<noinclude>
 
<noinclude>
{{JetsonXavierNX/Head|previous=Gstreamer/Example_Pipelines/Streaming|next=Contact_Us|keywords=transforming,Video Composition,Video Conversion,scale,rotation|title=NVIDIA Jetson Xavier NX GStreamer example pipelines for video transforming|description=This page provides gstreamer pipelines for video composition,conversion and transforming on NVIDIA Jetson Xavier NX platform}}
+
{{JetsonXavierNX/Head|previous=Gstreamer/Example_Pipelines/Streaming|next=RidgeRun Products|keywords=transforming,Video Composition,Video Conversion,scale,rotation|title=NVIDIA Jetson Xavier NX GStreamer example pipelines for video transforming|description=This page provides gstreamer pipelines for video composition,conversion and transforming on NVIDIA Jetson Xavier NX platform}}
 
</noinclude>
 
</noinclude>
  
Line 81: Line 81:
  
  
{{JetsonXavierNX/Foot|Gstreamer/Example_Pipelines/Streaming|Contact_Us}}
+
{{JetsonXavierNX/Foot|Gstreamer/Example_Pipelines/Streaming|RidgeRun Products}}
 
</noinclude>
 
</noinclude>

Revision as of 22:46, 19 August 2020



Previous: Gstreamer/Example_Pipelines/Streaming Index Next: RidgeRun Products


Nvidia-preferred-partner-badge-rgb-for-screen.png




Error something wrong.jpg Problems running the pipelines shown on this page?
Please see our GStreamer Debugging guide for help.

Video Composition

The following pipeline shows 4 videotestsrc in a 2x2 grid

WIDTH=320
HEIGHT=240
CAPS="video/x-raw, width=$WIDTH, height=$HEIGHT"

gst-launch-1.0 nvcompositor name=comp sink_0::xpos=0 sink_0::ypos=0 sink_0::width=$WIDTH sink_0::height=$HEIGHT sink_1::xpos=$WIDTH sink_1::ypos=0 sink_1::width=$WIDTH sink_1::height=$HEIGHT sink_2::xpos=0 sink_2::ypos=$HEIGHT sink_2::width=$WIDTH sink_2::height=$HEIGHT sink_3::xpos=$WIDTH sink_3::ypos=$HEIGHT sink_3::width=$WIDTH sink_3::height=$HEIGHT ! nvoverlaysink videotestsrc is-live=true ! $CAPS ! comp. videotestsrc is-live=true pattern=ball ! $CAPS ! comp. videotestsrc is-live=true pattern=ball ! $CAPS ! comp. videotestsrc is-live=true ! $CAPS ! comp.

Notice that sink_<n>::xpos and sink_<n>::ypos determine the position of the sink <n>. Also, you can change each stream size if required with sink_<n>::width and sink_<n>::height, on this example we are keeping the resolution unchanged.

Example of a 4x2 grid using one camera:

WIDTH=1280
HEIGHT=720
gst-launch-1.0 v4l2src device=/dev/video0 ! 'video/x-raw,width=$WIDTH,height=$HEIGHT,format=UYVY' ! \
nvvidconv ! 'video/x-raw(memory:NVMM), width=(int)$WIDTH, height=(int)$HEIGHT, framerate=(fraction)60/1' ! queue ! tee name=t \
t. ! queue ! comp. \
t. ! queue ! comp. \
t. ! queue ! comp. \
t. ! queue ! comp. \
t. ! queue ! comp. \
t. ! queue ! comp. \
t. ! queue ! comp. \
t. ! queue ! comp. \
nvcompositor name=comp \
sink_0::xpos=0 sink_0::ypos=0 sink_0::width=160 sink_0::height=120 \
sink_1::xpos=160 sink_1::ypos=0 sink_1::width=160 sink_1::height=120 \
sink_2::xpos=320 sink_2::ypos=0 sink_2::width=160 sink_2::height=120 \
sink_3::xpos=480 sink_3::ypos=0 sink_3::width=160 sink_3::height=120 \
sink_4::xpos=0 sink_4::ypos=120 sink_4::width=160 sink_4::height=120 \
sink_5::xpos=160 sink_5::ypos=120 sink_5::width=160 sink_5::height=120 \
sink_6::xpos=320 sink_6::ypos=120 sink_6::width=160 sink_6::height=120 \
sink_7::xpos=480 sink_7::ypos=120 sink_7::width=160 sink_7::height=120 ! nvoverlaysink

Video Conversion

Change Format

Following pipeline changes format from NV12 to RGBA:

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' !  nvvidconv ! 'video/x-raw(memory:NVMM),format=RGBA' !  nvoverlaysink


Scale

Following pipeline scales down camera capture from 1080p to 720p

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=1920, height=1080, format=NV12, framerate=30/1' !  nvvidconv ! 'video/x-raw(memory:NVMM),width=640,height=480' !  nvoverlaysink


Rotation

gst-launch-1.0 nvarguscamerasrc ! 'video/x-raw(memory:NVMM), width=640, height=480, format=NV12, framerate=30/1' !  nvvidconv flip-method=clockwise !  nvoverlaysink


Previous: Gstreamer/Example_Pipelines/Streaming Index Next: RidgeRun Products