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