voxera_effects_kit 0.1.2
voxera_effects_kit: ^0.1.2 copied to clipboard
DeepAR face filters for Voxera live rooms. A video track processor that runs DeepAR on the local camera and publishes the filtered frames.
voxera_effects_kit #
DeepAR face filters for a Voxera live room. The processor edits camera frames in place, so the local preview and the published video both show the filter.
DeepAR starts the first time someone picks a filter. A publisher who never opens one is not counted as a DeepAR user.
The license key and the effect list come from the Voxera engine
(GET /api/v1/effects/deepar). This package does not talk to DeepAR's website.
Wire it #
VoxeraEffectsProcessor? processor;
VoxeraLiveRoomConfig(
buildVideoEffectsProcessor: (ctx) {
if (ctx.provider != 'deepar') return null;
processor ??= VoxeraEffectsProcessor.create(
hideHeavy: ctx.hideHeavyEffects,
);
final raw = ctx.deepArProvisioning.value;
if (raw != null) processor!.updateConfig(VoxeraConfig.fromJson(raw));
return processor;
},
onEffectsTap: (context) {
final current = processor;
if (current != null) VoxeraEffectsSheet.show(context, processor: current);
},
);
Dispose processor when the room ends. The live kit calls destroy on every
camera flip; that only detaches the track.
Native setup #
Android resolves ai.deepar.ar:DeepAR:5.6.20 from
https://sdk.developer.deepar.ai/maven-android-repository/releases/.
Add that Maven repository to the app's android/build.gradle if the plugin
repository is not picked up.
iOS uses the DeepAR pod at 5.6.20, and the same WebRTC binary as
flutter_webrtc 1.6.2 (150.7871.01).
The DeepAR key must be created for this app's package name and bundle id. A key for a different app id does not run.