Video Stabilization
Understanding Video Stabilization and recording stabilized Videos
Video Stabilization applies software- and sometimes hardware-processing to stabilize Frames in the Camera.
Enable Video Stabilization
To enable Video Stabilization, pass a { videoStabilizationMode: ... } constraint using your desired StabilizationMode:
function App() {
return (
<Camera
style={StyleSheet.absoluteFill}
isActive={true}
device="back"
constraints={[
{ videoStabilizationMode: 'cinematic' }
]}
/>
)
}function App() {
const camera = useCamera({
isActive: true,
device: 'back',
constraints: [
{ videoStabilizationMode: 'cinematic' }
]
})
}const device = ...
const session = ...
const controllers = await session.configure([
{
input: device,
outputs: [],
constraints: [
{ videoStabilizationMode: 'cinematic' }
]
}
], {})Latency
Software-based StabilizationModes keep a queue of Frames in-memory to adjust stabilization, which introduces latency in the Camera pipeline. The side-effect of this is that Frames arrive a few milliseconds/seconds later than when they were captured.