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
FeedTransform
The transform applied to the camera's image.
public Transform2D FeedTransform { get; set; }
Property Value
Formats
Formats supported by the feed. Each entry is a Dictionary describing format parameters.
public Array Formats { get; }
Property Value
Methods
EmitSignalFormatChanged()
protected void EmitSignalFormatChanged()
EmitSignalFrameChanged()
protected void EmitSignalFrameChanged()
GetDatatype()
Returns feed image data type.
public CameraFeed.FeedDataType GetDatatype()
Returns
GetId()
Returns the unique ID for this feed.
public int GetId()
Returns
GetName()
Returns the camera's name.
public string GetName()
Returns
GetPosition()
Returns the position of camera on the device.
public CameraFeed.FeedPosition GetPosition()
Returns
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
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_nameName of the method to check for.
Returns
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_nameName of the signal to check for.
Returns
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_nameName of the method to invoke.
args
NativeVariantPtrArgsArguments to use with the invoked method.
ret
godot_variantValue returned by the invoked method.
Returns
SetExternal(int, int)
Sets the feed as external feed provided by another library.
public void SetExternal(int width, int height)
Parameters
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
intparameters
Dictionary
Returns
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
_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
FrameChanged
Emitted when a new frame is available.
public event Action FrameChanged