Birds Eye View/GStreamer Pipelines

From RidgeRun Developer Connection
Jump to: navigation, search

Capture video from four cameras

CAMERA_0='/dev/video0'
CAMERA_1='/dev/video1'
CAMERA_2='/dev/video2'
CAMERA_3='/dev/video3'
OUTPUT_VIDEO_0='camera0.mp4'
OUTPUT_VIDEO_1='camera1.mp4'
OUTPUT_VIDEO_2='camera2.mp4'
OUTPUT_VIDEO_3='camera3.mp4'

gst-launch-1.0 -e v4l2src device=$CAMERA_0! image/jpeg,width=1920,height=1080,framerate=30/1 ! jpegparse ! jpegdec ! tee name=t1 t1. ! queue leaky=2 ! videoconvert ! videoscale ! "video/x-raw,width=640,height=480" ! ximagesink sync=false t1. ! videoconvert ! queue leaky=2 ! queue ! x264enc ! queue ! mp4mux  ! filesink location=OUTPUT_VIDEO_0 sync=false -e v4l2src device=$CAMERA_1 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! jpegparse ! jpegdec ! tee name=t2 t2. ! queue leaky=2 !  videoconvert ! videoscale ! "video/x-raw,width=640,height=480" ! ximagesink sync=false t2. ! queue leaky=2 ! videoconvert ! queue ! x264enc ! queue ! mp4mux  ! filesink location=OUTPUT_VIDEO_1 sync=false -e v4l2src device=$CAMERA_2 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! jpegparse ! jpegdec ! tee name=t3 t3. ! queue leaky=2 ! videoconvert ! videoscale ! "video/x-raw,width=640,height=480" ! ximagesink sync=false t3. ! queue leaky=2 ! videoconvert ! queue ! x264enc ! queue ! mp4mux  ! filesink location=OUTPUT_VIDEO_2 sync=false -e v4l2src device=$CAMERA_3 ! image/jpeg,width=1920,height=1080,framerate=30/1 ! jpegparse ! jpegdec ! tee name=t4 t4. ! queue leaky=2 !  videoconvert ! videoscale ! "video/x-raw,width=640,height=480" ! ximagesink sync=false t4. ! videoconvert ! queue leaky=2 ! queue ! x264enc ! queue ! mp4mux  ! filesink location=OUTPUT_VIDEO_3 sync=false