Class CameraVideoSettings
Represents the raspivid camera settings for video capture functionality.
Inherited Members
Namespace: Unosquare.RaspberryIO.Camera
Syntax
public class CameraVideoSettings : CameraSettingsBase
Properties
CaptureBitrate
Use bits per second, so 10Mbits/s would be -b 10000000. For H264, 1080p30 a high quality bitrate would be 15Mbits/s or more. Maximum bitrate is 25Mbits/s (-b 25000000), but much over 17Mbits/s won't show noticeable improvement at 1080p30. Default -1.
Declaration
public int CaptureBitrate { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
CaptureDisplayPreviewEncoded
Switch on an option to display the preview after compression. This will show any compression artefacts in the preview window. In normal operation, the preview will show the camera output prior to being compressed. This option is not guaranteed to work in future releases.
Declaration
public bool CaptureDisplayPreviewEncoded { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
|
CaptureFramerate
Gets or sets the framerate. Default 25, range 2 to 30.
Declaration
public int CaptureFramerate { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
CaptureInterleaveHeaders
Forces the stream to include PPS and SPS headers on every I-frame. Needed for certain streaming cases e.g. Apple HLS. These headers are small, so don't greatly increase the file size.
Declaration
public bool CaptureInterleaveHeaders { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
|
CaptureKeyframeRate
Sets the intra refresh period (GoP) rate for the recorded video. H264 video uses a complete frame (I-frame) every intra refresh period, from which subsequent frames are based. This option specifies the number of frames between each I-frame. Larger numbers here will reduce the size of the resulting video, and smaller numbers make the stream less error-prone.
Declaration
public int CaptureKeyframeRate { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
CaptureProfile
Gets or sets the profile. Sets the H264 profile to be used for the encoding. Default is Main mode.
Declaration
public CameraH264Profile CaptureProfile { get; set; }
Property Value
Type | Description |
---|---|
CameraH264Profile |
CaptureQuantisation
Sets the initial quantisation parameter for the stream. Varies from approximately 10 to 40, and will greatly affect the quality of the recording. Higher values reduce quality and decrease file size. Combine this setting with a bitrate of 0 to set a completely variable bitrate.
Declaration
public int CaptureQuantisation { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
CommandName
Gets the command file executable.
Declaration
public override string CommandName { get; }
Property Value
Type | Description |
---|---|
String |
Overrides
Fullscreen
Toggle fullscreen mode for video preview.
Declaration
public bool Fullscreen { get; set; }
Property Value
Type | Description |
---|---|
Boolean |
LengthInSeconds
Video stream length in seconds.
Declaration
public int LengthInSeconds { get; set; }
Property Value
Type | Description |
---|---|
Int32 |
VideoFileName
Specifies the path to save video files.
Declaration
public string VideoFileName { get; set; }
Property Value
Type | Description |
---|---|
String |
Methods
CreateProcessArguments()
Creates the process arguments.
Declaration
public override string CreateProcessArguments()
Returns
Type | Description |
---|---|
String | The string that represents the process arguments. |