Class reference
CameraFeed
Inherits RefCounted
A camera feed gives you access to a single physical camera attached to your device.
Description
A camera feed gives you access to a single physical camera attached to your device. When enabled, Redot 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. Redot 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, Android, 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.
Properties
bool feed_is_active = false
bool feed_is_active = falseIf true, the feed is active.
Transform2D feed_transform = Transform2D(1, 0, 0, -1, 0, 1)
Transform2D feed_transform = Transform2D(1, 0, 0, -1, 0, 1)The transform applied to the camera's image.
Array formats = []
Array formats = []Formats supported by the feed. Each entry is a Dictionary describing format parameters.
Methods
bool _activate_feed() virtual
bool _activate_feed() virtualCalled when the camera feed is activated.
void _deactivate_feed() virtual
Called when the camera feed is deactivated.
int get_datatype() const
int get_datatype() constReturns feed image data type.
int get_id() const
int get_id() constReturns the unique ID for this feed.
String get_name() const
String get_name() constReturns the camera's name.
int get_position() const
int get_position() constReturns the position of camera on the device.
int get_texture_tex_id(int feed_image_type)
int get_texture_tex_id(int feed_image_type)Returns the texture backend ID (usable by some external libraries that need a handle to a texture to write data).
void set_external(int width, int height)
int width, int height)Sets the feed as external feed provided by another library.
bool set_format(int index, Dictionary parameters)
bool set_format(int index, Dictionary parameters)Sets the feed format parameters for the given index in the formats array. Returns true on success. By default, the YUYV encoded stream is transformed to FEED_RGB. The YUYV encoded stream output format can be changed by setting parameters's output entry to one of the following: - "separate" will result in FEED_YCBCR_SEP; - "grayscale" will result in desaturated FEED_RGB; - "copy" will result in FEED_YCBCR.
void set_name(String name)
String name)Sets the camera's name.
void set_position(int position)
int position)Sets the position of this camera.
void set_rgb_image(Image rgb_image)
Image rgb_image)Sets RGB image for this feed.
void set_ycbcr_image(Image ycbcr_image)
Image ycbcr_image)Sets YCbCr image for this feed.
Signals
format_changed()
Emitted when the format has changed.
frame_changed()
Emitted when a new frame is available.
Constants
FEED_NOIMAGE = 0
No image set for the feed.
FEED_RGB = 1
Feed supplies RGB images.
FEED_YCBCR = 2
Feed supplies YCbCr images that need to be converted to RGB.
FEED_YCBCR_SEP = 3
Feed supplies separate Y and CbCr images that need to be combined and converted to RGB.
FEED_EXTERNAL = 4
Feed supplies external image.
FEED_UNSPECIFIED = 0
Unspecified position.
FEED_FRONT = 1
Camera is mounted at the front of the device.
FEED_BACK = 2
Camera is mounted at the back of the device.