ডেভেলপারে ফিরে যান

< 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 দিয়ে গড়তে প্রস্তুত?

আপনার অ্যাকাউন্ট তৈরি করুন, মাস্টার ওয়ালেট ফান্ড করুন, এবং প্রয়োজনীয় সার্ভিসগুলো চালু করুন।