CameraVideoOutput
interface CameraVideoOutput extends CameraOutputA Video output allows recording videos (possibly with audio) to a file.
See
Examples
Creating a CameraVideoOutput via the Hooks API:
const videoOutput = useVideoOutput()Creating a CameraVideoOutput via the Imperative API:
const videoOutput = VisionCamera.createVideoOutput({
targetResolution: CommonResolutions.FHD_16_9,
})Properties
currentResolution?
readonly optional currentResolution?: SizeThe resolution that the underlying capture pipeline has resolved
this CameraOutput to, in sensor-native (un-rotated) pixels,
or undefined if the output has not yet been connected to a
CameraSession.
Discussion
The selected Size may differ from the requested
Size (e.g. from PhotoOutputOptions.targetResolution),
as the CameraSession negotiates resolutions across
attached CameraOutputs, connected CameraDevice
capabilities, and enabled Constraints.
Discussion
For outputs that are not pixel-based (e.g. metadata-only outputs),
this reports the resolution of the upstream video stream feeding
the output, or undefined if no video input is attached.
Inherited from
CameraOutput.currentResolution
mediaType
readonly mediaType: MediaTypeThe media type of the content being streamed
by this CameraOutput.
Inherited from
outputOrientation
outputOrientation: CameraOrientationGets or sets the output orientation of this CameraOutput.
Individual implementations of CameraOutput
may choose different strategies for implementing
output orientation, for example:
- A Photo output might apply orientation via EXIF flags.
- A Video output might apply orientation via track transform metadata.
- A Preview output might apply orientation via view transforms.
- A Frame output might not apply orientation and only pass it as a
property via the
Frameobject, unless explicitly configured to physically rotate buffers.
Inherited from
CameraOutput.outputOrientation
Methods
createRecorder(...)
createRecorder(settings: RecorderSettings): Promise<Recorder>Creates and prepares a new Recorder
instance with the given RecorderSettings.
The Recorder will record to the configured
file path, or to a temporary file if no path was provided.
The Recorder's file paths are filesystem paths,
not file:// URLs.
It can only record once.
If you want to create a second recording,
you must create a new Recorder.
getSupportedVideoCodecs()
getSupportedVideoCodecs(): VideoCodec[]Get all supported VideoCodecs this
CameraVideoOutput currently can record in.
This method must be called after the CameraVideoOutput
has been attached to a Camera Session.
Throws
This method throws if you call it before this output
is attached to a Camera Session (via configure(...))
setOutputSettings(...)
setOutputSettings(settings: VideoOutputSettings): Promise<void>Set the output settings for this video output.
This method must be called after the output has been
attached to the Camera Session, and before
createRecorder(...).