Interface: Frame
A single frame, as seen by the camera. This is backed by a C++ HostObject wrapping the native GPU buffer. At a 4k resolution, a Frame can be 1.5MB in size.
Example
const frameProcessor = useFrameProcessor((frame) => {
'worklet'
console.log(`Frame: ${frame.width}x${frame.height} (${frame.pixelFormat})`)
}, [])
Properties
bytesPerRow
• bytesPerRow: number
Returns the amount of bytes per row.
Defined in
Frame.ts:33
height
• height: number
Returns the height of the frame, in pixels.
Defined in
Frame.ts:29
isMirrored
• isMirrored: boolean
Returns whether the Frame is mirrored (selfie camera) or not.
Defined in
Frame.ts:41
isValid
• isValid: boolean
Whether the underlying buffer is still valid or not.
A Frame is valid as long as your Frame Processor (or a runAsync(..) operation) is still running
Defined in
Frame.ts:21
orientation
• orientation: Orientation
Represents the orientation of the Frame.
Some ML Models are trained for specific orientations, so they need to be taken into
consideration when running a frame processor. See also: isMirrored
Defined in
Frame.ts:52
pixelFormat
• pixelFormat: PixelFormat
Represents the pixel-format of the Frame.
Defined in
Frame.ts:56
planesCount
• planesCount: number
Returns the number of planes this frame contains.
Defined in
Frame.ts:37
timestamp
• timestamp: number
Returns the timestamp of the Frame relative to the host sytem's clock.
Defined in
Frame.ts:45
width
• width: number
Returns the width of the frame, in pixels.
Defined in
Frame.ts:25
Methods
toArrayBuffer
▸ toArrayBuffer(): Uint8Array
Get the underlying data of the Frame as a uint8 array buffer.
The format of the buffer depends on the Frame's pixelFormat.
Note that Frames are allocated on the GPU, so calling toArrayBuffer() will copy from the GPU to the CPU.
Returns
Uint8Array
Example
const frameProcessor = useFrameProcessor((frame) => {
'worklet'
if (frame.pixelFormat === 'rgb') {
const data = frame.toArrayBuffer()
console.log(`Pixel at 0,0: RGB(${data[0]}, ${data[1]}, ${data[2]})`)
}
}, [])
Defined in
Frame.ts:76
toString
▸ toString(): string
Returns a string representation of the frame.
Returns
string
Example
console.log(frame.toString()) // -> "3840 x 2160 Frame"
Defined in
Frame.ts:84