rpicamsrc
Source element for capturing video from the Raspberry Pi camera module.
This element works the same way that the raspivid command-line utility
does and has a similar feature set.
The element can output video in form of raw video frames or encoded as (M)JPEG or H.264 video. You can use the element properties to fine-tune the capture, image processing and encoding parameters.
Example pipelines
 gst-launch-1.0 -v rpicamsrc preview=true ! fakesink
should show a preview window on the screen.
 gst-launch-1.0 -e rpicamsrc bitrate=1000000 ! h264parse ! matroskamux ! filesink location=test.mkv
should produce a file called test.mkv containing an H.264 video stream. We pass -e to gst-launch-1.0 so that the pipeline is finalised properly when interrupted with Control-C. This makes sure the Matroska file headers are updated when streaming ends.
 gst-launch-1.0 -e rpicamsrc bitrate=5000000 num-buffers=500 keyframe-interval=30 ! h264parse ! splitmuxsink location=video%02d.mov max-size-time=10000000000 max-size-bytes=1000000
Records a video stream captured from the Raspberry Pi camera module and muxes it into ISO mp4 files, splitting as needed to limit size/duration to 10 seconds and 1MB maximum size.
gst-launch-1.0 -e rpicamsrc ! image/jpeg,framerate=1/1 ! multifilesink location=image-%05d.jpg ]| Captures a stream of JPEG images from the Raspberry Pi camera module at a rate of 1 frame per second and writes each frame into a new file in the current directory, starting with image-00000.jpg, then image-00001.jpg etc.
Hierarchy
GObject ╰──GInitiallyUnowned ╰──GstObject ╰──GstElement ╰──GstBaseSrc ╰──GstPushSrc ╰──rpicamsrc
Implemented interfaces
Factory details
Authors: – Jan Schmidt 
Classification: – Source/Video
Rank – none
Plugin – rpicamsrc
Package – GStreamer Good Plug-ins
Pad Templates
src
        video/x-h264:
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]
  stream-format: byte-stream
      alignment: nal
        profile: { (string)constrained-baseline, (string)baseline, (string)main, (string)high }
image/jpeg:
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]
video/x-raw:
         format: { I420, RGB, BGR, RGBA }
          width: [ 1, 2147483647 ]
         height: [ 1, 2147483647 ]
      framerate: [ 0/1, 2147483647/1 ]
Properties
annotation-mode
“annotation-mode” GstRpiCamSrcAnnotationMode *
Flags to control annotation of the output video
Flags : Read / Write
Default value : (none)
annotation-text
“annotation-text” gchararray
Text string to annotate onto video when annotation-mode flags include 'custom-text'
Flags : Read / Write
annotation-text-bg-colour
“annotation-text-bg-colour” gint
Set the annotation text background colour, as the integer corresponding to a VUY value eg 0x8080FF = 8421631, -1 for default
Flags : Read / Write
Default value : -1
annotation-text-colour
“annotation-text-colour” gint
Set the annotation text colour, as the integer corresponding to a VUY value eg 0x8080FF = 8421631, -1 for default
Flags : Read / Write
Default value : -1
annotation-text-size
“annotation-text-size” gint
Set the size of annotation text (in pixels) (0 = Auto)
Flags : Read / Write
Default value : 0
awb-gain-blue
“awb-gain-blue” gfloat
Manual AWB Gain for blue channel when awb-mode=off
Flags : Read / Write
Default value : 0
awb-gain-red
“awb-gain-red” gfloat
Manual AWB Gain for red channel when awb-mode=off
Flags : Read / Write
Default value : 0
awb-mode
“awb-mode” GstRpiCamSrcAWBMode *
White Balance mode
Flags : Read / Write
Default value : auto (1)
bitrate
“bitrate” gint
Bitrate for encoding. 0 for VBR using quantisation-parameter
Flags : Read / Write
Default value : 17000000
camera-number
“camera-number” gint
Which camera to use on a multi-camera system - 0 or 1
Flags : Read / Write
Default value : 0
drc
“drc” GstRpiCamSrcDRCLevel *
Dynamic Range Control level
Flags : Read / Write
Default value : off (0)
exposure-compensation
“exposure-compensation” gint
Exposure Value compensation
Flags : Read / Write
Default value : 0
exposure-mode
“exposure-mode” GstRpiCamSrcExposureMode *
Camera exposure mode to use
Flags : Read / Write
Default value : auto (1)
fullscreen
“fullscreen” gboolean
Display preview window full screen
Flags : Read / Write
Default value : true
image-effect
“image-effect” GstRpiCamSrcImageEffect *
Visual FX to apply to the image
Flags : Read / Write
Default value : none (0)
inline-headers
“inline-headers” gboolean
Set to TRUE to insert SPS/PPS before each IDR packet
Flags : Read / Write
Default value : false
intra-refresh-type
“intra-refresh-type” GstRpiCamSrcIntraRefreshType *
Type of Intra Refresh to use, -1 to disable intra refresh
Flags : Read / Write
Default value : none (-1)
keyframe-interval
“keyframe-interval” gint
Interval (in frames) between I frames. -1 = automatic, 0 = single-keyframe
Flags : Read / Write
Default value : -1
metering-mode
“metering-mode” GstRpiCamSrcExposureMeteringMode *
Camera exposure metering mode to use
Flags : Read / Write
Default value : average (0)
preview-encoded
“preview-encoded” gboolean
Display encoder output in the preview
Flags : Read / Write
Default value : true
preview-h
“preview-h” gint
Height of the preview window (in pixels)
Flags : Read / Write
Default value : 768
preview-opacity
“preview-opacity” gint
Opacity to use for the preview window
Flags : Read / Write
Default value : 255
preview-w
“preview-w” gint
Width of the preview window (in pixels)
Flags : Read / Write
Default value : 1024
preview-x
“preview-x” gint
Start X coordinate of the preview window (in pixels)
Flags : Read / Write
Default value : 0
preview-y
“preview-y” gint
Start Y coordinate of the preview window (in pixels)
Flags : Read / Write
Default value : 0
quantisation-parameter
“quantisation-parameter” gint
Set a Quantisation Parameter approx 10-40 with bitrate=0 for VBR encoding. 0 = off
Flags : Read / Write
Default value : 0
rotation
“rotation” gint
Rotate captured image (0, 90, 180, 270 degrees)
Flags : Read / Write
Default value : 0
sensor-mode
“sensor-mode” GstRpiCamSrcSensorMode *
Manually set the camera sensor mode
Flags : Read / Write
Default value : automatic (0)
shutter-speed
“shutter-speed” gint
Set a fixed shutter speed, in microseconds. (0 = Auto)
Flags : Read / Write
Default value : 0
use-stc
“use-stc” gboolean
Use the camera STC for timestamping buffers
Flags : Read / Write
Default value : true
video-stabilisation
“video-stabilisation” gboolean
Enable or disable video stabilisation
Flags : Read / Write
Default value : false
Named constants
GstRpiCamSrcAWBMode
Members
off (0) – GST_RPI_CAM_SRC_AWB_MODE_OFF
        auto (1) – GST_RPI_CAM_SRC_AWB_MODE_AUTO
        sunlight (2) – GST_RPI_CAM_SRC_AWB_MODE_SUNLIGHT
        cloudy (3) – GST_RPI_CAM_SRC_AWB_MODE_CLOUDY
        shade (4) – GST_RPI_CAM_SRC_AWB_MODE_SHADE
        tungsten (5) – GST_RPI_CAM_SRC_AWB_MODE_TUNGSTEN
        fluorescent (6) – GST_RPI_CAM_SRC_AWB_MODE_FLUORESCENT
        incandescent (7) – GST_RPI_CAM_SRC_AWB_MODE_INCANDESCENT
        flash (8) – GST_RPI_CAM_SRC_AWB_MODE_FLASH
        horizon (9) – GST_RPI_CAM_SRC_AWB_MODE_HORIZON
        GstRpiCamSrcAnnotationMode
Members
custom-text (0x00000001) – GST_RPI_CAM_SRC_ANNOTATION_MODE_CUSTOM_TEXT
        text (0x00000002) – GST_RPI_CAM_SRC_ANNOTATION_MODE_TEXT
        date (0x00000004) – GST_RPI_CAM_SRC_ANNOTATION_MODE_DATE
        time (0x00000008) – GST_RPI_CAM_SRC_ANNOTATION_MODE_TIME
        shutter-settings (0x00000010) – GST_RPI_CAM_SRC_ANNOTATION_MODE_SHUTTER_SETTINGS
        caf-settings (0x00000020) – GST_RPI_CAM_SRC_ANNOTATION_MODE_CAF_SETTINGS
        gain-settings (0x00000040) – GST_RPI_CAM_SRC_ANNOTATION_MODE_GAIN_SETTINGS
        lens-settings (0x00000080) – GST_RPI_CAM_SRC_ANNOTATION_MODE_LENS_SETTINGS
        motion-settings (0x00000100) – GST_RPI_CAM_SRC_ANNOTATION_MODE_MOTION_SETTINGS
        frame-number (0x00000200) – GST_RPI_CAM_SRC_ANNOTATION_MODE_FRAME_NUMBER
        black-background (0x00000400) – GST_RPI_CAM_SRC_ANNOTATION_MODE_BLACK_BACKGROUND
        GstRpiCamSrcDRCLevel
Members
off (0) – GST_RPI_CAM_SRC_DRC_LEVEL_OFF
        low (1) – GST_RPI_CAM_SRC_DRC_LEVEL_LOW
        medium (2) – GST_RPI_CAM_SRC_DRC_LEVEL_MEDIUM
        high (3) – GST_RPI_CAM_SRC_DRC_LEVEL_HIGH
        GstRpiCamSrcExposureMeteringMode
Members
average (0) – GST_RPI_CAM_SRC_EXPOSURE_METERING_MODE_AVERAGE
        spot (1) – GST_RPI_CAM_SRC_EXPOSURE_METERING_MODE_SPOT
        backlist (2) – GST_RPI_CAM_SRC_EXPOSURE_METERING_MODE_BACKLIST
        matrix (3) – GST_RPI_CAM_SRC_EXPOSURE_METERING_MODE_MATRIX
        GstRpiCamSrcExposureMode
Members
off (0) – GST_RPI_CAM_SRC_EXPOSURE_MODE_OFF
        auto (1) – GST_RPI_CAM_SRC_EXPOSURE_MODE_AUTO
        night (2) – GST_RPI_CAM_SRC_EXPOSURE_MODE_NIGHT
        nightpreview (3) – GST_RPI_CAM_SRC_EXPOSURE_MODE_NIGHTPREVIEW
        backlight (4) – GST_RPI_CAM_SRC_EXPOSURE_MODE_BACKLIGHT
        spotlight (5) – GST_RPI_CAM_SRC_EXPOSURE_MODE_SPOTLIGHT
        sports (6) – GST_RPI_CAM_SRC_EXPOSURE_MODE_SPORTS
        snow (7) – GST_RPI_CAM_SRC_EXPOSURE_MODE_SNOW
        beach (8) – GST_RPI_CAM_SRC_EXPOSURE_MODE_BEACH
        verylong (9) – GST_RPI_CAM_SRC_EXPOSURE_MODE_VERYLONG
        fixedfps (10) – GST_RPI_CAM_SRC_EXPOSURE_MODE_FIXEDFPS
        antishake (11) – GST_RPI_CAM_SRC_EXPOSURE_MODE_ANTISHAKE
        fireworks (12) – GST_RPI_CAM_SRC_EXPOSURE_MODE_FIREWORKS
        GstRpiCamSrcImageEffect
Members
none (0) – GST_RPI_CAM_SRC_IMAGEFX_NONE
        negative (1) – GST_RPI_CAM_SRC_IMAGEFX_NEGATIVE
        solarize (2) – GST_RPI_CAM_SRC_IMAGEFX_SOLARIZE
        posterize (3) – GST_RPI_CAM_SRC_IMAGEFX_POSTERIZE
        whiteboard (4) – GST_RPI_CAM_SRC_IMAGEFX_WHITEBOARD
        blackboard (5) – GST_RPI_CAM_SRC_IMAGEFX_BLACKBOARD
        sketch (6) – GST_RPI_CAM_SRC_IMAGEFX_SKETCH
        denoise (7) – GST_RPI_CAM_SRC_IMAGEFX_DENOISE
        emboss (8) – GST_RPI_CAM_SRC_IMAGEFX_EMBOSS
        oilpaint (9) – GST_RPI_CAM_SRC_IMAGEFX_OILPAINT
        hatch (10) – GST_RPI_CAM_SRC_IMAGEFX_HATCH
        gpen (11) – GST_RPI_CAM_SRC_IMAGEFX_GPEN
        pastel (12) – GST_RPI_CAM_SRC_IMAGEFX_PASTEL
        watercolour (13) – GST_RPI_CAM_SRC_IMAGEFX_WATERCOLOUR
        film (14) – GST_RPI_CAM_SRC_IMAGEFX_FILM
        blur (15) – GST_RPI_CAM_SRC_IMAGEFX_BLUR
        saturation (16) – GST_RPI_CAM_SRC_IMAGEFX_SATURATION
        colourswap (17) – GST_RPI_CAM_SRC_IMAGEFX_COLOURSWAP
        washedout (18) – GST_RPI_CAM_SRC_IMAGEFX_WASHEDOUT
        posterise (19) – GST_RPI_CAM_SRC_IMAGEFX_POSTERISE
        colourpoint (20) – GST_RPI_CAM_SRC_IMAGEFX_COLOURPOINT
        colourbalance (21) – GST_RPI_CAM_SRC_IMAGEFX_COLOURBALANCE
        cartoon (22) – GST_RPI_CAM_SRC_IMAGEFX_CARTOON
        GstRpiCamSrcIntraRefreshType
Members
none (-1) – GST_RPI_CAM_SRC_INTRA_REFRESH_TYPE_NONE
        cyclic (0) – GST_RPI_CAM_SRC_INTRA_REFRESH_TYPE_CYCLIC
        adaptive (1) – GST_RPI_CAM_SRC_INTRA_REFRESH_TYPE_ADAPTIVE
        both (2) – GST_RPI_CAM_SRC_INTRA_REFRESH_TYPE_BOTH
        cyclic-rows (2130706433) – GST_RPI_CAM_SRC_INTRA_REFRESH_TYPE_CYCLIC_ROWS
        GstRpiCamSrcSensorMode
Members
automatic (0) – Automatic
        1920x1080 (1) – 1920x1080 16:9 1-30fps
        2592x1944-fast (2) – 2592x1944 4:3 1-15fps / 3240x2464 15fps w/ v.2 board
        2592x1944-slow (3) – 2592x1944 4:3 0.1666-1fps / 3240x2464 15fps w/ v.2 board
        1296x972 (4) – 1296x972 4:3 1-42fps
        1296x730 (5) – 1296x730 16:9 1-49fps
        640x480-slow (6) – 640x480 4:3 42.1-60fps
        640x480-fast (7) – 640x480 4:3 60.1-90fps
        The results of the search are