VideoSource

class cscore.VideoSource

Bases: pybind11_object

A source for video that provides a sequence of frames.

class ConnectionStrategy(value: int)

Bases: pybind11_object

Connection strategy. Used for SetConnectionStrategy().

Members:

kConnectionAutoManage : Automatically connect or disconnect based on whether any sinks are

connected to this source. This is the default behavior.

kConnectionKeepOpen : Try to keep the connection open regardless of whether any sinks are

connected.

kConnectionForceClose : Never open the connection. If this is set when the connection is open,

close the connection.

kConnectionAutoManage = <ConnectionStrategy.kConnectionAutoManage: 0>
kConnectionForceClose = <ConnectionStrategy.kConnectionForceClose: 2>
kConnectionKeepOpen = <ConnectionStrategy.kConnectionKeepOpen: 1>
property name
property value
class Kind(value: int)

Bases: pybind11_object

Members:

kUnknown

kUsb

kHttp

kCv

kCv = <Kind.kCv: 4>
kHttp = <Kind.kHttp: 2>
kUnknown = <Kind.kUnknown: 0>
kUsb = <Kind.kUsb: 1>
property name
property value
enumerateProperties() List[cscore._cscore.VideoProperty]

Enumerate all properties of this source.

enumerateSinks() List[cscore._cscore.VideoSink]

Enumerate all sinks connected to this source.

Returns:

Vector of sinks.

static enumerateSources() List[cscore._cscore.VideoSource]

Enumerate all existing sources.

Returns:

Vector of sources.

enumerateVideoModes() List[cscore._cscore.VideoMode]

Enumerate all known video modes for this source.

getActualDataRate() float

Get the data rate (in bytes per second).

SetTelemetryPeriod() must be called for this to be valid.

Returns:

Data rate averaged over the telemetry period.

getActualFPS() float

Get the actual FPS.

SetTelemetryPeriod() must be called for this to be valid.

Returns:

Actual FPS averaged over the telemetry period.

getConfigJson() str

Get a JSON configuration string.

Returns:

JSON configuration string

getConfigJsonObject() json

Get a JSON configuration object.

Returns:

JSON configuration object

getDescription() str

Get the source description. This is source-kind specific.

getHandle() int
getKind() cscore._cscore.VideoSource.Kind

Get the kind of the source.

getLastFrameTime() int

Get the last time a frame was captured. This uses the same time base as wpi::Now().

Returns:

Time in 1 us increments.

getLastStatus() int
getName() str

Get the name of the source. The name is an arbitrary identifier provided when the source is created, and should be unique.

getProperty(name: str) cscore._cscore.VideoProperty

Get a property.

Parameters:

name – Property name

Returns:

Property contents (of kind Property::kNone if no property with the given name exists)

getVideoMode() cscore._cscore.VideoMode

Get the current video mode.

isConnected() bool

Is the source currently connected to whatever is providing the images?

isEnabled() bool

Gets source enable status. This is determined with a combination of connection strategy and the number of sinks connected.

Returns:

True if enabled, false otherwise.

setConfigJson(*args, **kwargs)

Overloaded function.

  1. setConfigJson(self: cscore._cscore.VideoSource, config: str) -> bool

Set video mode and properties from a JSON configuration string.

The format of the JSON input is:

{
    "pixel format": "MJPEG", "YUYV", etc
    "width": video mode width
    "height": video mode height
    "fps": video mode fps
    "brightness": percentage brightness
    "white balance": "auto", "hold", or value
    "exposure": "auto", "hold", or value
    "properties": [
        {
            "name": property name
            "value": property value
        }
    ]
}
Parameters:

config – configuration

Returns:

True if set successfully

  1. setConfigJson(self: cscore._cscore.VideoSource, config: json) -> bool

Set video mode and properties from a JSON configuration object.

Parameters:

config – configuration

Returns:

True if set successfully

setConnectionStrategy(strategy: cscore._cscore.VideoSource.ConnectionStrategy) None

Sets the connection strategy. By default, the source will automatically connect or disconnect based on whether any sinks are connected.

This function is non-blocking; look for either a connection open or close event or call IsConnected() to determine the connection state.

Parameters:

strategy – connection strategy (auto, keep open, or force close)

setFPS(fps: int) bool

Set the frames per second (FPS).

Parameters:

fps – desired FPS

Returns:

True if set successfully

setPixelFormat(pixelFormat: cscore._cscore.VideoMode.PixelFormat) bool

Set the pixel format.

Parameters:

pixelFormat – desired pixel format

Returns:

True if set successfully

setResolution(width: int, height: int) bool

Set the resolution.

Parameters:
  • width – desired width

  • height – desired height

Returns:

True if set successfully

setVideoMode(*args, **kwargs)

Overloaded function.

  1. setVideoMode(self: cscore._cscore.VideoSource, mode: cscore._cscore.VideoMode) -> bool

Set the video mode.

Parameters:

mode – Video mode

  1. setVideoMode(self: cscore._cscore.VideoSource, pixelFormat: cscore._cscore.VideoMode.PixelFormat, width: int, height: int, fps: int) -> bool

Set the video mode.

Parameters:
  • pixelFormat – desired pixel format

  • width – desired width

  • height – desired height

  • fps – desired FPS

Returns:

True if set successfully