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. |