डेवलपर्स पर वापस

< Flutter UIKit />

UTD Video Effects Kit

रियल-टाइम ब्यूटी फ़िल्टर, LUT कलर ग्रेडिंग और फ़ेस इफ़ेक्ट्स।

संस्करण 0.5.0pub.dev पर
Android (minSdk 24)iOS
video_effects_kit.dart
import 'package:utd_video_effects_kit/utd_video_effects_kit.dart';

final fx = VideoEffectsProcessor.create();
final track = await LocalVideoTrack.createCameraTrack(
  CameraCaptureOptions(processor: fx),
);

await fx.setSmoothing(0.6);
await fx.setFilter('teal_orange', intensity: 0.8);
await fx.setBackgroundBlur(0.4);
await fx.setEyeColor('#3366CC', opacity: 0.6);
await fx.setLipstick('#CC2244');

// Or use the built-in UI:
VideoEffectsSheet.show(context, processor: fx);

46+

LUT फ़िल्टर

9

एक्सेसरीज़

6

मेकअप लुक्स

GPU

रियल-टाइम

< utd_video_effects_kit />

मुख्य विशेषताएँ

LiveKit-आधारित Flutter ऐप्स के लिए रियल-टाइम वीडियो इफ़ेक्ट्स और ब्यूटी फ़िल्टर। इफ़ेक्ट्स नेटिव GPU पाइपलाइन (Android/iOS) पर TrackProcessor के ज़रिए चलते हैं, जिनमें 46+ LUT कलर फ़िल्टर, स्किन स्मूदिंग/व्हाइटनिंग, बैकग्राउंड ब्लर और MediaPipe-संचालित फ़ेस इफ़ेक्ट्स (आँखों का रंग, मेकअप, एक्सेसरीज़) शामिल हैं। इसमें Beauty/Filters/Makeup/Accessories टैब वाला बिल्ट-इन VideoEffectsSheet UI भी है।

46+ LUT कलर फ़िल्टर (चुनिंदा + इन-हाउस लुक्स)

ब्यूटी इफ़ेक्ट्स: स्किन स्मूदिंग (फ़्रीक्वेंसी सेपरेशन), व्हाइटनिंग, बैकग्राउंड ब्लर

MediaPipe के ज़रिए फ़ेस इफ़ेक्ट्स: आँखों का रंग, मेकअप (लिपस्टिक/आईशैडो/ब्लश), 9 एक्सेसरीज़

कलर पोस्ट-प्रोसेसिंग: glow/bloom (Orton), फ़िल्म ग्रेन, vignette

स्किन रीटच: टेक्सचर डिटेल, क्लैरिटी, चुनिंदा ब्राइटनिंग

फ़ेस रीशेप: लैंडमार्क-संचालित warp (आँख बड़ी करना, चेहरा पतला, नाक संकरी, …)

ड्रॉप-इन VideoEffectsSheet UI (Beauty/Filters/Makeup/Accessories टैब)

चुनिंदा मेकअप लुक्स और स्किन-टोन प्रीसेट

डिवाइस परफ़ॉर्मेंस टियर के साथ एडैप्टिव फ़्रेम-बजट मैनेजमेंट

LocalVideoTrack से ज़ीरो-ग्लू LiveKit TrackProcessor अटैचमेंट

< utd_video_effects_kit />

शुरू करें

1

इंस्टॉल करें

pubspec.yaml
dependencies:
  utd_video_effects_kit: ^0.5.0
2

pub.dev पर देखें

रियल-टाइम ब्यूटी फ़िल्टर, LUT कलर ग्रेडिंग और फ़ेस इफ़ेक्ट्स।

< utd_video_effects_kit />

API संदर्भ

Main processor

The single public entry point: a LiveKit TrackProcessor that applies GPU beauty/filter effects natively.

VideoEffectsProcessorclass
abstract class VideoEffectsProcessor extends TrackProcessor<VideoProcessorOptions>

LiveKit-compatible video processor that applies GPU beauty/filter effects natively and exposes the result via processedTrack. Has no per-frame process() hook; pixel work runs natively.

VideoEffectsProcessor.createconstructor
factory VideoEffectsProcessor.create({EffectsState initial = const EffectsState()})

Builds the default native-backed implementation. The only way to construct a processor.

पैरामीटर

  • initialEffectsStateडिफ़ॉल्ट = const EffectsState()

    Initial effect settings the processor starts with.

रिटर्न मान: VideoEffectsProcessorA native-backed processor instance.

stategetter
ValueListenable<EffectsState> get state

Live, read-only snapshot of current effect settings. Bind UI to this.

रिटर्न मान: ValueListenable<EffectsState>Listenable of the current immutable EffectsState.

isSupportedgetter
bool get isSupported

Whether this device/platform can actually process pixels. False means processedTrack is a passthrough (original camera frames flow unmodified).

रिटर्न मान: boolTrue if native pixel processing is available.

disposemethod
void dispose()

Final teardown: releases the effect-state listenable. Call when the live session ends. Distinct from LiveKit's per-capture destroy().

रिटर्न मान: voidNothing.

Adaptive performance & telemetry

Frame-budget signals and on-device measurement/parity harness.

budgetExceededgetter
ValueListenable<bool> get budgetExceeded

True while the native pipeline sheds work to hold the frame budget (degrade level > 0). Emits only on change. Always false on unsupported platforms.

रिटर्न मान: ValueListenable<bool>Listenable performance-mode flag.

degradeLevelgetter
ValueListenable<int> get degradeLevel

Current adaptive frame-budget degrade level: 0 (full quality) .. 4 (max shedding). 0 on unsupported platforms.

रिटर्न मान: ValueListenable<int>Listenable degrade level 0..4.

deviceTiergetter
ValueListenable<int> get deviceTier

Static device performance tier classified natively at attach: 0 Budget, 1 Low, 2 Mid, 3 Flagship. 3 on unsupported platforms or before first attach.

रिटर्न मान: ValueListenable<int>Listenable device tier 0..3.

perfStatsmethodasync
Future<EffectsPerfStats?> perfStats({bool reset = false})

Pulls a snapshot of native frame-budget telemetry (over-budget rate + frame-time distribution). Returns null on web/unsupported or with no native session.

पैरामीटर

  • resetboolडिफ़ॉल्ट = false

    Clear counters after reading so the next call measures a fresh window.

रिटर्न मान: Future<EffectsPerfStats?>Telemetry snapshot, or null if unavailable.

renderTestFramemethodasync
Future<EffectsTestFrame?> renderTestFrame(Uint8List rgba, {required int width, required int height})

Runs an RGBA8888 image through the native COLOR grade with current settings and returns the processed RGBA8888 (CPU-vs-GPU parity harness). Call with effects disabled. Returns null if unavailable.

पैरामीटर

  • rgbaUint8Listआवश्यक

    RGBA8888 row-major input, width*height*4 bytes.

  • widthintआवश्यक

    Input image width in pixels.

  • heightintआवश्यक

    Input image height in pixels.

रिटर्न मान: Future<EffectsTestFrame?>Graded output frame, or null if unavailable.

Beauty & color setters

Skin smoothing, whitening, LUT filters, and the color-post (glow/grain/vignette) tail.

setEnabledmethodasync
Future<void> setEnabled(bool enabled)

Master on/off switch. When off the native pipeline is a 1:1 passthrough.

पैरामीटर

  • enabledboolआवश्यक

    Whether effects are applied.

रिटर्न मान: Future<void>Completes when applied.

setSmoothingmethodasync
Future<void> setSmoothing(double amount)

Skin-smoothing strength, 0.0..1.0 (frequency-separation / bilateral).

पैरामीटर

  • amountdoubleआवश्यक

    Smoothing strength, 0.0..1.0 (0 = off).

रिटर्न मान: Future<void>Completes when applied.

setWhiteningmethodasync
Future<void> setWhitening(double amount)

Whitening / brightness strength, 0.0..1.0.

पैरामीटर

  • amountdoubleआवश्यक

    Whitening strength, 0.0..1.0 (0 = off).

रिटर्न मान: Future<void>Completes when applied.

setFiltermethodasync
Future<void> setFilter(String? lutAssetKey, {double intensity = 1.0})

Apply a LUT color filter by key (null clears it). See VideoEffectsFilters.

पैरामीटर

  • lutAssetKeyString?आवश्यक

    Filter key (e.g. 'warm'), or null to clear.

  • intensitydoubleडिफ़ॉल्ट = 1.0

    Blend amount, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setBackgroundBlurmethodasync
Future<void> setBackgroundBlur(double amount)

Background-blur strength, 0.0..1.0 (selfie segmentation + blur).

पैरामीटर

  • amountdoubleआवश्यक

    Blur strength, 0.0..1.0 (0 = off).

रिटर्न मान: Future<void>Completes when applied.

setGlowmethodasync
Future<void> setGlow(double amount)

Soft glow / bloom (Orton) strength, 0.0..1.0. The highest-impact beauty color post effect.

पैरामीटर

  • amountdoubleआवश्यक

    Glow strength, 0.0..1.0 (0 = off).

रिटर्न मान: Future<void>Completes when applied.

setGrainmethodasync
Future<void> setGrain(double amount)

Film-grain amount, 0.0..1.0 (animated per frame).

पैरामीटर

  • amountdoubleआवश्यक

    Grain amount, 0.0..1.0 (0 = off).

रिटर्न मान: Future<void>Completes when applied.

setVignettemethodasync
Future<void> setVignette(double amount)

Vignette strength, 0.0..1.0 (darkens frame corners).

पैरामीटर

  • amountdoubleआवश्यक

    Vignette strength, 0.0..1.0 (0 = off).

रिटर्न मान: Future<void>Completes when applied.

setTextureDetailmethodasync
Future<void> setTextureDetail(double amount)

Pore/texture retained by frequency-separation smoothing, 0.0..1.0 (0 = plastic, 1 = full texture). Only affects skin when smoothing > 0.

पैरामीटर

  • amountdoubleआवश्यक

    Texture retention, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setClaritymethodasync
Future<void> setClarity(double amount)

Local-contrast clarity, signed -1.0..1.0. Positive = punchy/pop, negative = soft dreamy skin. 0 = off.

पैरामीटर

  • amountdoubleआवश्यक

    Signed clarity, -1.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

Skin retouch & tone

Selective brightening (teeth/eye/under-eye) and skin-tone presets/shift.

setTeethWhiteningmethodasync
Future<void> setTeethWhitening(double amount)

Teeth-whitening strength, 0.0..1.0 (0 = off).

पैरामीटर

  • amountdoubleआवश्यक

    Teeth-whitening strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setEyeBrighteningmethodasync
Future<void> setEyeBrightening(double amount)

Eye-white (sclera) brightening, 0.0..1.0 (0 = off).

पैरामीटर

  • amountdoubleआवश्यक

    Eye-white brightening strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setUnderEyeBrighteningmethodasync
Future<void> setUnderEyeBrightening(double amount)

Under-eye (tear-trough) brightening, 0.0..1.0 (0 = off).

पैरामीटर

  • amountdoubleआवश्यक

    Under-eye brightening strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setSkinColormethodasync
Future<void> setSkinColor(String? presetKey)

Apply a skin-tone preset by key (null clears it). See VideoEffectsSkinTones.

पैरामीटर

  • presetKeyString?आवश्यक

    Skin-tone preset key (e.g. 'nuanbai'), or null to clear.

रिटर्न मान: Future<void>Completes when applied.

setSkinToneShiftmethodasync
Future<void> setSkinToneShift(double amount)

Skin-tone shift, signed -1.0..1.0: warms (+) or cools (-) skin via hue rotation gated by the adaptive skin mask. 0 = off.

पैरामीटर

  • amountdoubleआवश्यक

    Signed skin-tone shift, -1.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setSegmentationSkinmethodasync
Future<void> setSegmentationSkin(bool enabled)

Use multiclass segmentation to refine the skin region so skin effects apply to actual skin. Loads a larger/slower model. Default off.

पैरामीटर

  • enabledboolआवश्यक

    Whether segmentation-refined skin masking is on.

रिटर्न मान: Future<void>Completes when applied.

Makeup, sculpt & reshape setters

Landmark-driven makeup recolor, dodge/burn sculpt, and liquify reshape.

setEyeColormethodasync
Future<void> setEyeColor(String? hex, {double opacity = 0.5})

Recolor the iris with hex (e.g. '#3366CC', null clears it).

पैरामीटर

  • hexString?आवश्यक

    Iris color hex, or null to clear.

  • opacitydoubleडिफ़ॉल्ट = 0.5

    Recolor strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setLipstickmethodasync
Future<void> setLipstick(String? hex, {double opacity = 0.6, String finish = 'satin', String style = 'full'})

Apply lipstick in hex (null clears it). finish: matte/satin/gloss. style: full/ombre/blurred.

पैरामीटर

  • hexString?आवश्यक

    Lipstick color hex, or null to clear.

  • opacitydoubleडिफ़ॉल्ट = 0.6

    Strength, 0.0..1.0.

  • finishStringडिफ़ॉल्ट = 'satin'

    matte, satin, or gloss.

  • styleStringडिफ़ॉल्ट = 'full'

    full, ombre, or blurred.

रिटर्न मान: Future<void>Completes when applied.

setEyeshadowmethodasync
Future<void> setEyeshadow(String? hex, {double opacity = 0.45, String? color2, double shimmer = 0})

Apply eyeshadow in hex (null clears it). color2 gives a two-tone gradient; shimmer adds sparkle.

पैरामीटर

  • hexString?आवश्यक

    Eyeshadow color hex, or null to clear.

  • opacitydoubleडिफ़ॉल्ट = 0.45

    Strength, 0.0..1.0.

  • color2String?डिफ़ॉल्ट = null

    Second hex for a two-tone (darker lash-line) gradient.

  • shimmerdoubleडिफ़ॉल्ट = 0

    Sparkle amount, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setBlushmethodasync
Future<void> setBlush(String? hex, {double opacity = 0.4})

Apply blush in hex (null clears it).

पैरामीटर

  • hexString?आवश्यक

    Blush color hex, or null to clear.

  • opacitydoubleडिफ़ॉल्ट = 0.4

    Strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setEyelinermethodasync
Future<void> setEyeliner(String? hex, {double opacity = 0.7, String style = 'classic'})

Apply eyeliner in hex (null clears it). style: classic or wing (adds an outer flick).

पैरामीटर

  • hexString?आवश्यक

    Eyeliner color hex, or null to clear.

  • opacitydoubleडिफ़ॉल्ट = 0.7

    Strength, 0.0..1.0.

  • styleStringडिफ़ॉल्ट = 'classic'

    classic or wing.

रिटर्न मान: Future<void>Completes when applied.

setMakeupLookmethodasync
Future<void> setMakeupLook(MakeupLook? look)

Apply a coordinated MakeupLook in one call (lipstick + finish, eyeshadow, blush, eye color). Null clears all makeup regions. See VideoEffectsMakeup.looks.

पैरामीटर

  • lookMakeupLook?आवश्यक

    The look to apply, or null to clear all makeup.

रिटर्न मान: Future<void>Completes when applied.

setContourmethodasync
Future<void> setContour(double amount)

Contour (cool-gray cheek/nose burn) strength, 0.0..1.0 (0 = off).

पैरामीटर

  • amountdoubleआवश्यक

    Contour strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setHighlightmethodasync
Future<void> setHighlight(double amount)

Highlight (warm-white dodge on high points) strength, 0.0..1.0 (0 = off).

पैरामीटर

  • amountdoubleआवश्यक

    Highlight strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setEyeEnlargemethodasync
Future<void> setEyeEnlarge(double amount)

Eye-enlarge reshape strength, 0.0..1.0 (0 = off).

पैरामीटर

  • amountdoubleआवश्यक

    Eye-enlarge strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setFaceSlimmethodasync
Future<void> setFaceSlim(double amount)

Face-slim reshape strength, 0.0..1.0 (0 = off).

पैरामीटर

  • amountdoubleआवश्यक

    Face-slim strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setNoseNarrowmethodasync
Future<void> setNoseNarrow(double amount)

Nose-narrow reshape strength, 0.0..1.0 (0 = off).

पैरामीटर

  • amountdoubleआवश्यक

    Nose-narrow strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setLipPlumpmethodasync
Future<void> setLipPlump(double amount)

Lip-plump reshape strength, 0.0..1.0 (0 = off).

पैरामीटर

  • amountdoubleआवश्यक

    Lip-plump strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

setChinShortenmethodasync
Future<void> setChinShorten(double amount)

Chin-shorten reshape strength, 0.0..1.0 (0 = off).

पैरामीटर

  • amountdoubleआवश्यक

    Chin-shorten strength, 0.0..1.0.

रिटर्न मान: Future<void>Completes when applied.

Accessories setters

Toggle landmark-positioned PNG overlays. One toggle per accessory.

setGlassesmethodasync
Future<void> setGlasses(bool enabled)

Toggle the glasses accessory overlay.

पैरामीटर

  • enabledboolआवश्यक

    Whether the glasses overlay is shown.

रिटर्न मान: Future<void>Completes when applied.

setSunglassesmethodasync
Future<void> setSunglasses(bool enabled)

Toggle the sunglasses accessory overlay.

पैरामीटर

  • enabledboolआवश्यक

    Whether the sunglasses overlay is shown.

रिटर्न मान: Future<void>Completes when applied.

setCrownmethodasync
Future<void> setCrown(bool enabled)

Toggle the crown accessory overlay.

पैरामीटर

  • enabledboolआवश्यक

    Whether the crown overlay is shown.

रिटर्न मान: Future<void>Completes when applied.

setCatEarsmethodasync
Future<void> setCatEars(bool enabled)

Toggle the cat-ears accessory overlay.

पैरामीटर

  • enabledboolआवश्यक

    Whether the cat-ears overlay is shown.

रिटर्न मान: Future<void>Completes when applied.

setFlowerCrownmethodasync
Future<void> setFlowerCrown(bool enabled)

Toggle the flower-crown accessory overlay.

पैरामीटर

  • enabledboolआवश्यक

    Whether the flower-crown overlay is shown.

रिटर्न मान: Future<void>Completes when applied.

setPartyHatmethodasync
Future<void> setPartyHat(bool enabled)

Toggle the party-hat accessory overlay.

पैरामीटर

  • enabledboolआवश्यक

    Whether the party-hat overlay is shown.

रिटर्न मान: Future<void>Completes when applied.

setBunnyEarsmethodasync
Future<void> setBunnyEars(bool enabled)

Toggle the bunny-ears accessory overlay.

पैरामीटर

  • enabledboolआवश्यक

    Whether the bunny-ears overlay is shown.

रिटर्न मान: Future<void>Completes when applied.

setMustachemethodasync
Future<void> setMustache(bool enabled)

Toggle the mustache accessory overlay.

पैरामीटर

  • enabledboolआवश्यक

    Whether the mustache overlay is shown.

रिटर्न मान: Future<void>Completes when applied.

setHalomethodasync
Future<void> setHalo(bool enabled)

Toggle the halo accessory overlay.

पैरामीटर

  • enabledboolआवश्यक

    Whether the halo overlay is shown.

रिटर्न मान: Future<void>Completes when applied.

Built-in UI

Drop-in bottom sheet that drives a processor with Beauty/Filters/Makeup/Accessories tabs.

VideoEffectsSheetclass
class VideoEffectsSheet

Self-contained beauty & filters bottom sheet (Beauty / Filters / Makeup / Accessories tabs) that drives a VideoEffectsProcessor. Dark over-video styling; accent from theme primary; auto Arabic labels.

VideoEffectsSheet.showmethodasync
static Future<void> show(BuildContext context, {required VideoEffectsProcessor processor, double heightFactor = defaultHeightFactor})

Opens the beauty & filters sheet for processor. Turns the master switch on (idempotent), then shows a modal bottom sheet. Returns when dismissed.

पैरामीटर

  • contextBuildContextआवश्यक

    Build context to show the modal in.

  • processorVideoEffectsProcessorआवश्यक

    The processor the sheet controls.

  • heightFactordoubleडिफ़ॉल्ट = defaultHeightFactor (0.25)

    Sheet height as a fraction of screen height.

रिटर्न मान: Future<void>Completes when the sheet is dismissed.

defaultHeightFactorproperty
static const double defaultHeightFactor = 0.25

Default sheet height as a fraction of the screen height (1/4).

रिटर्न मान: double0.25

Catalogs (filters, skin tones, accessories, makeup)

Pure-data catalogs of bundled LUT filters, skin-tone presets, accessories, and makeup shades/looks.

VideoEffectsFiltersclass
class VideoEffectsFilters

Catalog of bundled LUT color filters (45+ entries). Static-only (private constructor).

VideoEffectsFilters.allproperty
static const List<VideoEffectFilter> all

All bundled LUT filters, in display order (fresh, night, autumn, clean_girl, teal_orange, etc.).

रिटर्न मान: List<VideoEffectFilter>Bundled filter catalog.

VideoEffectsFilters.assetFormethod
static String? assetFor(String? key)

The LUT asset path for a filter key, or null for an unknown/cleared key.

पैरामीटर

  • keyString?आवश्यक

    Filter key to resolve.

रिटर्न मान: String?Asset path or null.

VideoEffectsFilters.previewFormethod
static String previewFor(String? key)

Preview thumbnail asset path for a filter key (portrait with filter applied). Null gives the unfiltered 'none' preview.

पैरामीटर

  • keyString?आवश्यक

    Filter key, or null for the 'none' preview.

रिटर्न मान: StringPreview asset path.

VideoEffectsFilters.skinPreviewFormethod
static String skinPreviewFor(String? key)

Preview thumbnail asset path for a skin-tone preset (same portrait, skin LUT grade).

पैरामीटर

  • keyString?आवश्यक

    Skin-tone key, or null for the 'none' preview.

रिटर्न मान: StringPreview asset path.

VideoEffectFilterclass
class VideoEffectFilter { const VideoEffectFilter(this.key, this.label, this.asset); }

A bundled LUT color filter: stable key, human label, and 512x512 LUT PNG asset path.

पैरामीटर

  • keyStringआवश्यक

    Stable key passed to setFilter, e.g. 'fresh'.

  • labelStringआवश्यक

    Human-readable label, e.g. 'Fresh'.

  • assetStringआवश्यक

    Packaged asset path of the LUT PNG.

VideoEffectsSkinTonesclass
class VideoEffectsSkinTones

Catalog of bundled skin-tone presets (Warm/Cool/Pink/Wheat/Tan). Static-only. Has all (List<VideoEffectSkinTone>) and byKey(String?).

VideoEffectsSkinTones.byKeymethod
static VideoEffectSkinTone? byKey(String? key)

Look up a skin-tone preset by key, or null for unknown/null.

पैरामीटर

  • keyString?आवश्यक

    Skin-tone preset key.

रिटर्न मान: VideoEffectSkinTone?Preset or null.

VideoEffectsAccessoriesclass
class VideoEffectsAccessories

Catalog of bundled PNG accessories (glasses, crown, catEars, sunglasses, flowerCrown, partyHat, bunnyEars, mustache, halo). Static-only.

VideoEffectsAccessories.allproperty
static const List<VideoEffectAccessory> all

All bundled accessories, each with a key matching the EffectsState toggle.

रिटर्न मान: List<VideoEffectAccessory>Accessory catalog.

VideoEffectsAccessories.assetFormethod
static String? assetFor(String? key)

The PNG asset path for an accessory key, or null for an unknown key.

पैरामीटर

  • keyString?आवश्यक

    Accessory key to resolve.

रिटर्न मान: String?Asset path or null.

VideoEffectsMakeupclass
class VideoEffectsMakeup

Curated makeup shades + full looks. Static-only. Exposes lipstick, eyeshadow, blush, eyeColor (List<MakeupShade>) and looks (List<MakeupLook>).

VideoEffectsMakeup.looksproperty
static const List<MakeupLook> looks

Coordinated full looks (lip + eyeshadow + blush [+ eye color]): natural, glam, soft_rose, bold_berry, sunkissed, smoky_night.

रिटर्न मान: List<MakeupLook>Curated full looks.

VideoEffectsMakeup.lookByKeymethod
static MakeupLook? lookByKey(String? key)

Look up a coordinated MakeupLook by key, or null for unknown/null.

पैरामीटर

  • keyString?आवश्यक

    Look key.

रिटर्न मान: MakeupLook?Look or null.

Models & data types

Immutable state snapshot, catalog item types, and telemetry/parity result types.

EffectsStateclass
class EffectsState { const EffectsState({bool enabled = false, double smoothing = 0, ... bool halo = false}); }

Immutable snapshot of active video-effect settings (~50 fields: enabled, smoothing, whitening, filterKey/filterIntensity, makeup hex+opacity, sculpt/reshape scalars, accessory bools). All intensities normalized 0.0..1.0.

पैरामीटर

  • enabledboolडिफ़ॉल्ट = false

    Master switch.

  • smoothingdoubleडिफ़ॉल्ट = 0

    Skin-smoothing strength.

  • filterKeyString?डिफ़ॉल्ट = null

    Active LUT filter key, or null.

  • filterIntensitydoubleडिफ़ॉल्ट = 1.0

    Blend amount for filterKey.

  • Plus whitening, glow, grain, vignette, clarity, makeup hex/opacity fields, reshape/sculpt scalars, and accessory bools.

copyWithmethod
EffectsState copyWith({bool? enabled, double? smoothing, Object? filterKey = _unset, ...})

Returns a copy with the given fields changed. Nullable fields use an _unset sentinel so passing null clears (vs leaving unchanged).

पैरामीटर

  • Any subset of EffectsState fields to override.

रिटर्न मान: EffectsStateA new modified state.

toMapmethod
Map<String, dynamic> toMap()

Serialized form sent to the native pipeline over the method channel.

रिटर्न मान: Map<String, dynamic>All effect fields as a map.

VideoEffectSkinToneclass
const VideoEffectSkinTone(this.key, this.label, this.skinAsset, this.bgAsset)

A skin-tone preset (dual-LUT grade): a skin LUT over skin regions plus a background LUT elsewhere.

पैरामीटर

  • keyStringआवश्यक

    Stable preset key, e.g. 'nuanbai'.

  • labelStringआवश्यक

    Human label, e.g. 'Warm'.

  • skinAssetStringआवश्यक

    Skin-region LUT asset path.

  • bgAssetStringआवश्यक

    Background LUT asset path.

VideoEffectAccessoryclass
const VideoEffectAccessory(this.key, this.label, this.asset)

A landmark-positioned PNG accessory overlay.

पैरामीटर

  • keyStringआवश्यक

    Stable key matching the EffectsState toggle, e.g. 'glasses'.

  • labelStringआवश्यक

    Human-readable label.

  • assetStringआवश्यक

    Packaged transparent PNG asset path.

MakeupShadeclass
const MakeupShade(this.key, this.label, this.hex, this.opacity)

A curated makeup shade: a hex color plus recommended opacity for one region. Feed hex+opacity into the matching setter.

पैरामीटर

  • keyStringआवश्यक

    Stable key, e.g. 'classic_red'.

  • labelStringआवश्यक

    Human label, e.g. 'Classic Red'.

  • hexStringआवश्यक

    #RRGGBB color.

  • opacitydoubleआवश्यक

    Recommended strength, 0.0..1.0.

MakeupLookclass
const MakeupLook(this.key, this.label, {String? lipstick, double lipstickOpacity = 0.6, String lipFinish = 'satin', String? eyeshadow, ...})

A full makeup look bundling coordinated shades across regions. Apply with setMakeupLook. Has a preview getter for the thumbnail asset path.

पैरामीटर

  • keyStringआवश्यक

    Stable look key.

  • labelStringआवश्यक

    Human label.

  • lipstickString?डिफ़ॉल्ट = null

    Lipstick hex.

  • lipFinishStringडिफ़ॉल्ट = 'satin'

    matte, satin, or gloss.

  • eyeshadowString?डिफ़ॉल्ट = null

    Eyeshadow hex (plus blush, eyeColor, and per-region opacities).

EffectsPerfStatsclass
class EffectsPerfStats { const EffectsPerfStats({required int frames, ... required double frameMs}); }

Immutable snapshot of native frame-budget telemetry: frame counts, over-budget/over-frame counts, raise/lower events, per-level frames, mean/p50/p95/p99/max ms, histogram bins, device tier, and budget/frame thresholds.

पैरामीटर

  • framesintआवश्यक

    Total frames timed since last reset.

  • overBudgetintआवश्यक

    Frames slower than budgetMs.

  • Plus overFrame, raiseEvents, lowerEvents, levelFrames, meanMs, maxMs, p50/p95/p99Ms, binMs, bins, tier, budgetMs, frameMs.

overBudgetRategetter
double get overBudgetRate

Fraction of frames slower than budgetMs (0.0..1.0). The primary perf signal.

रिटर्न मान: doubleOver-budget fraction.

overFrameRategetter
double get overFrameRate

Fraction of frames slower than frameMs — i.e. frames that actually dropped.

रिटर्न मान: doubleDropped-frame fraction.

EffectsPerfStats.fromMapmethod
static EffectsPerfStats? fromMap(Map<String, dynamic>? m)

Builds a snapshot from the native channel map; null for a null/empty map.

पैरामीटर

  • mMap<String, dynamic>?आवश्यक

    Native telemetry map.

रिटर्न मान: EffectsPerfStats?Snapshot or null.

EffectsTestFrameclass
const EffectsTestFrame({required Uint8List rgba, required int width, required int height})

Result of renderTestFrame: an RGBA8888 image produced by running a known input through the native color grade with current settings.

पैरामीटर

  • rgbaUint8Listआवश्यक

    Graded pixels, RGBA8888 row-major, alpha opaque.

  • widthintआवश्यक

    Image width in pixels.

  • heightintआवश्यक

    Image height in pixels.

FrameDiffclass
class FrameDiff { const FrameDiff({required int maxDelta, required double meanDelta, required int pixels, required int diffPixels, required int threshold}); }

A per-channel difference summary between two RGBA8888 buffers (pure Dart, offline-testable). Has diffFraction getter and a static compare().

पैरामीटर

  • maxDeltaintआवश्यक

    Largest absolute per-channel delta (0..255).

  • meanDeltadoubleआवश्यक

    Mean absolute per-channel delta over RGB.

  • pixelsintआवश्यक

    Total pixels compared.

  • diffPixelsintआवश्यक

    Pixels differing by more than threshold.

  • thresholdintआवश्यक

    Per-channel delta counted as different.

FrameDiff.comparemethod
static FrameDiff compare(Uint8List a, Uint8List b, {int threshold = 2})

Compares two RGBA8888 buffers on RGB channels (alpha ignored). Returns a zeroed diff when sizes mismatch or are empty.

पैरामीटर

  • aUint8Listआवश्यक

    First RGBA8888 buffer.

  • bUint8Listआवश्यक

    Second RGBA8888 buffer.

  • thresholdintडिफ़ॉल्ट = 2

    Per-channel delta above which a pixel counts as different.

रिटर्न मान: FrameDiffThe difference summary.

UTD के साथ बनाने के लिए तैयार हैं?

अपना अकाउंट बनाएँ, अपने मास्टर वॉलेट को फंड करें, और अपनी ज़रूरत की सेवाएँ चालू करें।