Table of Contents

Class CameraFeed

Namespace
Godot
Assembly
GodotSharp.dll

A camera feed gives you access to a single physical camera attached to your device. When enabled, Godot will start capturing frames from the camera which can then be used. See also CameraServer.

Note: Many cameras will return YCbCr images which are split into two textures and need to be combined in a shader. Godot does this automatically for you if you set the environment to show the camera image in the background.

Note: This class is currently only implemented on Linux, macOS, and iOS. On other platforms no CameraFeeds will be available. To get a CameraFeed on iOS, the camera plugin from godot-ios-plugins is required.

public class CameraFeed : RefCounted, IDisposable
Inheritance
CameraFeed
Implements
Inherited Members

Constructors

CameraFeed()

public CameraFeed()

Properties

FeedIsActive

If true, the feed is active.

public bool FeedIsActive { get; set; }

Property Value

bool

FeedTransform

The transform applied to the camera's image.

public Transform2D FeedTransform { get; set; }

Property Value

Transform2D

Formats

Formats supported by the feed. Each entry is a Dictionary describing format parameters.

public Array Formats { get; }

Property Value

Array

Methods

EmitSignalFormatChanged()

protected void EmitSignalFormatChanged()

EmitSignalFrameChanged()

protected void EmitSignalFrameChanged()

GetDatatype()

Returns feed image data type.

public CameraFeed.FeedDataType GetDatatype()

Returns

CameraFeed.FeedDataType

GetId()

Returns the unique ID for this feed.

public int GetId()

Returns

int

GetName()

Returns the camera's name.

public string GetName()

Returns

string

GetPosition()

Returns the position of camera on the device.

public CameraFeed.FeedPosition GetPosition()

Returns

CameraFeed.FeedPosition

GetTextureTexId(FeedImage)

Returns the texture backend ID (usable by some external libraries that need a handle to a texture to write data).

public ulong GetTextureTexId(CameraServer.FeedImage feedImageType)

Parameters

feedImageType CameraServer.FeedImage

Returns

ulong

HasGodotClassMethod(in godot_string_name)

Check if the type contains a method with the given name. This method is used by Godot to check if a method exists before invoking it. Do not call or override this method.

protected override bool HasGodotClassMethod(in godot_string_name method)

Parameters

method godot_string_name

Name of the method to check for.

Returns

bool

HasGodotClassSignal(in godot_string_name)

Check if the type contains a signal with the given name. This method is used by Godot to check if a signal exists before raising it. Do not call or override this method.

protected override bool HasGodotClassSignal(in godot_string_name signal)

Parameters

signal godot_string_name

Name of the signal to check for.

Returns

bool

InvokeGodotClassMethod(in godot_string_name, NativeVariantPtrArgs, out godot_variant)

Invokes the method with the given name, using the given arguments. This method is used by Godot to invoke methods from the engine side. Do not call or override this method.

protected override bool InvokeGodotClassMethod(in godot_string_name method, NativeVariantPtrArgs args, out godot_variant ret)

Parameters

method godot_string_name

Name of the method to invoke.

args NativeVariantPtrArgs

Arguments to use with the invoked method.

ret godot_variant

Value returned by the invoked method.

Returns

bool

SetExternal(int, int)

Sets the feed as external feed provided by another library.

public void SetExternal(int width, int height)

Parameters

width int
height int

SetFormat(int, Dictionary)

Sets the feed format parameters for the given index in the Formats array. Returns true on success. By default YUYV encoded stream is transformed to FEED_RGB. YUYV encoded stream output format can be changed with parameters.output value:

separate will result in FEED_YCBCR_SEP

grayscale will result in desaturated FEED_RGB

copy will result in FEED_YCBCR

public bool SetFormat(int index, Dictionary parameters)

Parameters

index int
parameters Dictionary

Returns

bool

SetName(string)

Sets the camera's name.

public void SetName(string name)

Parameters

name string

SetPosition(FeedPosition)

Sets the position of this camera.

public void SetPosition(CameraFeed.FeedPosition position)

Parameters

position CameraFeed.FeedPosition

SetRgbImage(Image)

Sets RGB image for this feed.

public void SetRgbImage(Image rgbImage)

Parameters

rgbImage Image

SetYcbcrImage(Image)

Sets YCbCr image for this feed.

public void SetYcbcrImage(Image ycbcrImage)

Parameters

ycbcrImage Image

_ActivateFeed()

Called when the camera feed is activated.

public virtual bool _ActivateFeed()

Returns

bool

_DeactivateFeed()

Called when the camera feed is deactivated.

public virtual void _DeactivateFeed()

Events

FormatChanged

Emitted when the format has changed.

public event Action FormatChanged

Event Type

Action

FrameChanged

Emitted when a new frame is available.

public event Action FrameChanged

Event Type

Action