lovoj_video_editor 0.11.38 copy "lovoj_video_editor: ^0.11.38" to clipboard
lovoj_video_editor: ^0.11.38 copied to clipboard

Custom short video recording & editing SDK for Flutter — Camera2/MediaCodec (Android) + AVFoundation (iOS).

Unreleased #

0.11.37 #

  • Android camera preview — fix sideways/upside-down feed (portrait setRectToRect mapping + swapped view dimension correction)

0.11.36 #

  • Android camera — hybrid platform view (full screen) + physical pixel sizing; fix center strip + sideways preview

0.11.35 #

  • Android camera preview — use native [AndroidView] + GPU transform again (fixes sideways feed from Flutter Texture rotation)

0.11.34 #

  • Android camera — lock portrait while preview is open; fix sideways UI/feed; improve texture rotation (RotatedBox + cover)

0.11.33 #

  • Android camera — fall back to platform view when startCameraPreview is not on the native side (avoids MissingPluginException until app is fully rebuilt / pub package updated)

0.11.32 #

  • Android camera preview — use Flutter Texture instead of PlatformView (fixes narrow strip / sideways preview on many devices)
  • Recording — preview surface shared between texture preview and MediaRecorder

0.11.31 #

  • Fix Android buildCameraManager.computePreviewRotation() used invalid references (characteristics, activity)

0.11.30 #

  • Export quality hardening — always re-encode to target bitrate on final pass (no soft/blurry passthrough uploads)
  • Camera preview — rotation-aware aspect ratio selection for portrait recording on Android
  • Voice UI — track cards use stable keys so delete/remove refreshes Add Sound panel immediately
  • Tests — voice-over replacement and export-duration math covered in unit tests

0.11.29 #

  • Export performance — skip redundant final re-encode when already 1080×1920; combine filter + text/AR in one pass; default export uses High/Ultra presets appropriately
  • Recents — save exported thumbnail + edit state immediately after export; restore text/filters/audio when reopening drafts
  • Camera preview — fix stretched portrait preview (rotation-aware center crop on Android)
  • Voice-over — replace previous voice track on re-record (session-level); fix delete UI in Add Sound across demo/studio/editor
  • Q&A sticker — delete option in Q&A editor and tool panel
  • Trim UX — playback time badge in review/draft modes; export-duration labels when speed ≠ 1; trim preview seeks to trim start
  • Upload quality — Ultra (16 Mbps) export before server upload; higher encoder bitrates; correct MP4 filename on multipart upload

0.11.28 #

  • Video quality — Android camera picks true 1080p (portrait 1080×1920 no longer excluded); recording bitrate 20 Mbps @ 1080p; export always re-encodes at target resolution/bitrate; filter/text burn use export bitrate; iOS always records 1080p (iPad included); default export presets bumped (High 10 Mbps, Ultra 16 Mbps)

0.11.27 #

  • Instant record → review — stop recording no longer re-encodes portrait/filter/music (15+ min wait removed); heavy processing deferred to export only
  • RecordingFinishResultRecordingSession.finish() returns video path + filter/music/AR metadata for fast editor preview
  • Add Details preview — thumbnail tap plays exported video with text + audio layers (same as editor)
  • Export — recording music auto-added to timeline; text overlay timing fixed for trim/speed; text burn validation on Android
  • Fix Kotlin buildroundToInt import in VideoProcessor.kt

0.11.26 #

  • Fix review screen infinite loader — preview no longer re-encodes video on 3× entry; speed uses native playback rate instantly; trim-only preview path; 5s view-ready fallback

0.11.25 #

  • Fix 3× speed preview (Android + iOS) — fast frame-skip mux replaces slow full re-encode; preview resumes playback after speed bake; native rate applies instantly while playing

0.11.24 #

  • Fix 3× speed preview/export (Android + iOS) — fast-forward (2×/3×) uses frame-accurate re-encode on Android and forced AVFoundation re-encode on iOS so preview and export play at the correct speed
  • Speed preview UX — native playback rate applies immediately while bake runs (playImmediately(atRate:) on iOS); rebuild triggers when editor loads with a non-1× speed

0.11.23 #

  • Fix gallery audio missing on export (Android) — picked audio no longer runs through video normalization; correct extensions for MP3/M4A/WAV
  • Fix voice/music missing on export — all audio tracks persist to stable storage before export; pending voice recording finishes automatically
  • Fix text overlays missing on export — text times use export timeline coordinates; dedicated text-burn path on Android/iOS
  • iOS audio mix — fails loudly when overlay audio cannot be decoded instead of silent skip

0.11.22 #

  • Fix voice/music missing after upload — export no longer silently drops mixed audio; mux fails loudly if AAC/audio track missing; upload sends correct video/mp4 content-type

0.11.21 #

  • Fix upside-down video on Oppo (back camera + filter) — use MediaCodec raw decode (not retriever double-rotate); bake rotation into pixels for filter export; normalize orientation right after record, before filter

0.11.20 #

  • Fix upside-down front-camera video (Oppo/ColorOS) — correct MediaRecorder mirror orientation for front cam; normalize uses per-clip orientation hint from record time (not wrong file metadata)

0.11.19 #

  • Fix portrait video sideways (permanent) — after recording, re-encode camera clip to upright portrait pixels (rotation = 0); handles Oppo/ColorOS missing rotation metadata
  • Gallery import — normalize rotation when metadata says 90°/270°
  • Preview fallback — corrected TextureView scale after rotate for non-normalized files

0.11.18 #

  • Fix + button crash — ignore stale video preview (NO_VIEW) when opening camera; detach on widget dispose

0.11.17 #

  • Fix portrait preview rotation — rotate-then-scale matrix for TextureView; fallback when OEM omits rotation metadata

0.11.16 #

  • Fix portrait video rotation — preview and export keep correct orientation (muxer hint + no double-rotate)
  • Fix voice-over export — voice track mixed louder; fails loudly if voice file missing instead of silent drop

0.11.15 #

  • Recording live effects — filter tint visible on camera while recording; baked into clip file when you stop
  • Gallery import fix — picked videos normalized to editable H.264 MP4 (MOV/HEVC no longer break export)
  • Gallery save — export automatically saves to device gallery (Movies/Lovoj)

0.11.14 #

  • Fix upside-down video preview — apply rotation metadata to TextureView transform (Review screen + editor)
  • Restore Android filter preview — safe Flutter overlay above platform view (not on TextureView)
  • Fix filter export — selected filter applied to session when opening editor from review
  • Fix export rotation — no double-rotate (pixels upright, no duplicate orientation hint)

0.11.13 #

  • Export fix (Android) — gallery/filter export no longer produces corrupted video: NV12 encoder format, retriever-first decode, proper YUV stride conversion, even dimensions, muxer orientation
  • Filter session fix — swiping back to Original removes filter from export timeline (was stuck and re-encoding with filter)

0.11.12 #

  • Android filter preview fix (Oppo/MIUI/Samsung) — disable all live filter overlays on TextureView; filter name badge only (export still applies full filter)

0.11.11 #

  • Fix camera crash — null-safe filter overlay when no filter is selected on recording screen

0.11.10 #

  • Filter preview fix (Android, real devices) — disable native ColorMatrix on TextureView entirely; live filter is a safe Flutter blend overlay above the platform view (export still uses full native filter)

0.11.9 #

  • Filter preview fix (Android) — filters use overlay on TextureView instead of hardware ColorMatrix paint (fixes corrupted/garbled video on real devices)
  • Voice export fix — Post/upload always runs full native export with audio mix; voice files copied to stable storage before mux

0.11.7 #

  • One speed pipeline — 0.25× slow-mo through 3× fast: same native processing for preview, export, and upload
  • Recording speed options aligned with editor (0.25×, 0.5×, 1×, 1.5×, 2×, 3×)

0.11.6 #

  • Speed preview = export — 2×/3× is baked into a temp file for smooth playback (no stutter)
  • Export speed — frame-accurate re-encode (skip/duplicate frames) + audio resample
  • Preview, export, and upload now use the same native speed pipeline

0.11.5 #

  • Speed preview fix (Android) — 2×/3× playback no longer freezes; MediaPlayer speed + sync loop fixed
  • Recording speed fix (Android) — 2×/3× applied via fast PTS mux instead of broken frame re-encode
  • Editor speed change restarts preview when already playing

0.11.4 #

  • Back button always visible on Shorts feed (left of "Videos") and other tabs
  • Plus (+) ANR fix — pause reel players before opening camera; only mount active tab (no IndexedStack)
  • Android back exits SDK safely via [onClose] or host navigator

0.11.3 #

  • Back button on Shorts home — returns to host app without closing it
  • LovojShortsStudio.openStudio(context) — recommended integration (no nested MaterialApp)
  • Android system back also exits SDK safely when embedded

0.11.2 #

  • Upload fix — use Lovoj main-app route /api/v1/SetupsforUser/universalImage-Picker (not uploadMedia which returns Route not found)
  • Multipart field adminFabricsImage + parse Images[0].adminFabricsImage[0][0] response
  • CloudFront URL transform (S3 → CDN) before create-request

0.11.1 #

  • Upload flow restored — local file → uploadMedia → URL → create-request (main app jaisa)
  • Default upload route: /api/v1/auth/uploadMedia

0.11.0 #

  • Shorts / Reels UILovojShortsStudio built into the same package (reels feed, camera, filters, Q&A, text, upload). No separate UI package needed.
  • Sample reel asset bundled for feed preview

0.10.3 #

  • Export timeline — preserve text overlays, music, SFX, and voice-over in final exported videos
  • Text export — scale Flutter editor text sizes correctly when burning overlays into native video pixels
  • Voice-over export — stop and save pending voice recordings before export so they are included in the output

0.10.2 #

  • Export orientation fix — preserve portrait rotation metadata in Android mux/merge paths and iOS AVFoundation compositions
  • Android recording — set MediaRecorder orientation hint and rotate decoded frames before re-encode so exported clips stay portrait

0.10.1 #

  • Recording screen — bottom controls use Column layout (top bar → camera → controls) so record/music/effects always stay at the bottom on all devices

0.10.0 #

  • Recording screen — record button and controls pinned to bottom (fixes controls floating mid-screen on some devices)
  • Recording — countdown and saving overlays now full-screen

0.9.9 #

  • Recording voice + music — mix mic + music immediately when clip stops (not only on Done)
  • Recording — boost voice / duck music in mix; CAMCORDER mic on Android; on-screen “Speak now” hint

0.9.8 #

  • Fix — camera init no longer calls setRecordingVoiceEnabled (fixes MissingPluginException on stale native builds); mic flag set on startRecording only

0.9.7 #

  • Recording screen — mic toggle next to music: voice + music while filming; mixed on Done
  • RecordingRecordingConfig.enableVoiceRecording; MIC badge while recording

0.9.6 #

  • Voice-over — record while video plays; voice syncs to current playhead (trim + speed aware)
  • Voice-over — preview & export use same timeline startMs; video mutes during capture for clean mic
  • Video previewgetCurrentPositionMs, seekToMs, setEmbeddedVolume on Android & iOS

0.9.5 #

  • Repo — iOS distribution guide (docs/IOS_DISTRIBUTION.md), improved build_ipa.sh export methods

  • Repo — gitignore package build/ artifacts; README release build section

  • Tablet UI (experimental, reverted in demo) — responsive layout was rolled back; SDK screens use standard phone layout

  • Filter export/preview fixes, multi-clip recording stability, interactive text overlays

0.9.4 #

  • iOS/iPad recording — stop no longer waits for music mix (moved to Done)
  • iOS — 18s stop timeout if AVFoundation delegate hangs; iPad records 720p for faster finalize
  • Dart — 30s stop timeout fallback so UI never spins forever on "Saving clip…"

0.9.3 #

  • Multi-clip recording — filter/AR no longer re-encode on every stop (was stuck on “Saving clip…”)
  • Effects bake on Done instead; next clip / Add clip is instant after stop
  • VideoClip stores arEffect metadata for per-clip finish processing

0.9.2 #

  • Filters — Android export applies color matrix correctly (fixed in-place bitmap draw)
  • Filters — iOS export + preview use Core Image matrices with correct bias scale and AVVideoComposition
  • Filters — Android camera + video preview apply matrices on TextureView hardware layer
  • Editor — filter selection syncs to export session on every preset change

0.9.1 #

  • Maintenance release — validated analyze/tests; same fixes as 0.9.0 (voice, audio sync, text overlays, iOS/Android recording)

0.9.0 #

  • Voice-over — mic-only permission on Android/iOS; reliable record/stop; preview sync with video
  • Audio preview — music no longer auto-plays on add; stops when video ends; replay from start
  • iOS recording — merge/export reliability (Passthrough fallback); finish/Done flow fixes
  • Android recording — stop button works during recording; permission callback fix
  • Text overlays — compact editor preview; full text visible on phone & tablet; drag on video
  • Text tool — play/pause button while editing text position on video preview
  • iOSCameraManager recording delegate error handling fix

0.8.0 #

  • Studio UI, interactive text overlays, native preview audio sync improvements

0.7.8 #

  • Professional text overlaysVideoTextPanel + TextOverlayEditor bottom sheet
  • Customize font, size, color, background, position (9-point grid), and timing
  • Live mini preview while editing; captions burned on export via native engine

0.7.7 #

  • Professional audio panelVideoAudioPanel for background music & sound effects
  • Mini timeline with track placement; per-track volume, loop (music), start time (SFX/voice)
  • Solo preview + preview-on-video; EditSession.updateAudioTrack for live edits
  • Native export mixes volume, fade, loop via AudioMixer

0.7.6 #

  • Professional video speedVideoSpeedBar with Slow-mo / Normal / Fast sections (0.25×–3×)
  • Export duration preview bar; live EditSession.setClipSpeed on selection
  • Native preview playback rate (setPlaybackSpeed) on Android MediaPlayer & iOS AVPlayer

0.7.5 #

  • Professional video trimVideoTrimBar with filmstrip thumbnails, in/out handles, drag-to-move selection
  • Live trim duration badge on editor preview; trim applied to EditSession in real time
  • Export uses native MediaCodec/AVFoundation trim on timeline

0.7.4 #

  • Multi-clip recording — CapCut-style clip timeline (thumbnails, durations, live segment)
  • Sequential clips — Add clip / Next clip saves current and starts next with timer
  • Auto-merge on Done — native MediaMuxer merge when 2+ clips; processing + merging overlays
  • Undo last clip — remove last segment from timeline

0.7.3 #

  • Pre-record timer — Off / 3s / 5s / 10s toggle; animated countdown overlay; tap record again to cancel
  • RecordingTimerButton, RecordingCountdownOverlay, RecordingTimerPresets

0.7.2 #

  • Fix: AR stickers apply on face again (2D face-detect path; mesh only when ARCore installed)
  • Fix: Camera flip works during AR / mesh mode; AR auto-switches to front camera
  • Fix: Face landmark mapping matches center-crop preview

0.7.1 #

  • 3D Face Mesh AR (Android) — ARCore Augmented Faces: live camera + pose-locked GL stickers + mesh recording
  • 3D Face Mesh badge; auto switch from Camera2 when AR effect selected (ARCore required)

0.7.0 #

  • 3D Face Mesh AR (iOS) — ARKit ARFaceAnchor geometry; stickers parented to face mesh (Snapchat-style wrap)
  • Live badge 3D Face Mesh; front camera; mesh recording via AR scene capture

0.6.6 #

  • AR UI (CapCut-style) — dark panel, tabs: Frame / AR Mesh / Expression / Background, 4-column mask grid, pink selection ring
  • Face detect → sticker turant face pe (live recording + export bake)
  • New AR: Butterfly Wings, Star Eyes

0.6.5 #

  • Pro filters — 12 new cinematic looks: Portrait, Cinematic, Golden Hour, Sunset, Moody, Pastel, Rose Gold, Kodak Film, Matte Fade, Neon Pop, Clarity, Clean
  • Stronger color grading matrices on Android export + live preview (synced with iOS via CIColorMatrix)
  • Filter catalog refreshed — 20+ named presets across all categories

0.6.4 #

  • Recording UX — filter/AR panel hidden on open; tap Effects (✨) to show picker; close with ↓

0.6.3 #

  • Filter picker UI — CapCut-style category tabs (Original, Beauty, Hot Summer, Natural, Classic) + square thumbnails with live color preview; one-tap apply (no dialog)
  • Filters | AR Face mode switch on the same bottom panel
  • Beauty presets: Soft Glow / Beauty+ with adjustable intensity

0.6.2 #

  • Proper AR effects — landmark-based stickers (eyes, mouth, head tilt) using Camera2 face landmarks (Android) and Vision face landmarks (iOS)
  • Redesigned stickers: glasses on eyes, crown on forehead, mustache on lips, improved cat/bunny/dog ears
  • New AR: Blush, Devil horns
  • Export bakes same landmark-aligned art into every video frame

0.6.1 #

  • Real-time filters (enhanced)RealTimeEffectsBar widget with horizontal Beauty, Warm, Cool, Vintage, B&W, Vivid, Sepia chips
  • Real-time AR — Cat, Glasses, Crown, Bunny, Dog, Mustache on live camera (face detect)
  • Android live preview uses export-matching FilterMatrices ColorMatrix; iOS beauty uses blur overlay
  • Editor + video preview: filters apply live on playback (FilterPreviewOverlay + FilterPreviewUtils)

0.6.0 #

  • Native video previewNativeVideoPreview + MediaPlayer/AVPlayer (no video_player package)
  • Native audio previewstartAudioPreview / pause / resume (no audioplayers package)
  • Full-screen recording + editor preview fixes

0.5.1 #

  • Recording music fix — rewritten AudioDecoder (proper MediaCodec AAC/MP3 → PCM), mixRecordingAudio API with clip duration, music loops for full clip length
  • Music starts when recording starts (synced); mic + music mixed into single track on stop
  • Android: AudioAttributes for playback during recording; iOS: playAndRecord audio session + loop support in export mix

0.5.0 #

  • Recording music (proper) — mic + music mixed via PCM decode/mix/encode into a single audio track (Android AudioMixer, iOS AVMutableAudioMix)
  • Filters/AR (proper) — export uses real ColorMatrix + beauty softening blur; live preview uses hardware-layer FilterPreviewOverlay; AR face-detect without camera restart
  • Android speed (proper) — frame skip/duplicate re-encode via FramePipeline.encodeWithSpeedVideo + audio resample (replaces PTS-only mux)
  • Audio export (proper) — volume, fade-in/out, loop, and timeline startMs applied when mixing tracks
  • Voice-over syncstartVoiceOver(startMs:) places voice-over at the correct timeline position on export

0.4.2 #

  • Text overlay preview — new TimelinePreviewOverlay widget shows text + AR selection live on the editor thumbnail
  • Fix text burn on export — overlay times remapped to trimmed clip coordinates (0 … duration) so text appears in exported video
  • Fix recording AR preview — AR effect toggles face-detect mode without restarting the camera session
  • Text shadow on native export for better readability on video

0.4.1 #

  • Fix Android build — renamed plugin package from com.videoeditor.native to com.lovoj.videoeditor (native is a Java keyword and invalid in Android namespaces)
  • Fixed Kotlin compile issues: Camera2 CameraManager name clash, platform view registration, FaceDetector.getMidPoint() API

0.4.0 #

  • Removed CameraX — replaced with 100% custom Camera2 + MediaRecorder implementation
  • Removed ML Kit — AR face detection now uses Camera2 hardware stats (preview) + android.media.FaceDetector (export)
  • Zero Google video/ML dependencies on Android — only platform APIs + minimal androidx.lifecycle

0.3.0 #

  • Text overlays complete — 6 font families (Sans, Serif, Monospace, Bold, Script, Display), background color, all 7 positions
  • AR face stickers — catEars, bunnyEars, dogEars, glasses, crown, mustache (live preview + export burn)
  • Fast video pipeline — MediaCodec streaming decode, adaptive FPS for long videos, single-pass export (text + AR + re-encode)
  • Android ML Kit face detection + iOS Vision framework
  • Enhanced demo app with feature list

0.2.0 #

  • Fixed iOS/Android export pipeline — audio preserved after filter, text, and re-encode
  • Fixed iOS stopRecording race (waits for delegate callback)
  • Fixed Android stopRecording (tracks output file via Finalize event)
  • Background music during recording + post-record mix
  • Filters baked into recorded clips on stop
  • Multi-clip UX: Next clip button, max duration timer
  • Editor: video thumbnail preview, music/SFX picker, voice-over controls
  • Full text overlay dialog (font size, color, position)
  • Native audio file picker (pickAudioFile) and thumbnail generation

0.1.0 #

  • Initial release of lovoj_video_editor
  • Custom native video recording (CameraX / AVFoundation)
  • Multi-clip recording with countdown and auto-merge
  • Real-time filters (beauty, warm, cool, vintage, B&W, vivid, sepia)
  • Trim, speed control, text overlays
  • Background music, voice-over, audio mixing
  • Export with quality presets
2
likes
125
points
1.36k
downloads

Documentation

API reference

Publisher

unverified uploader

Weekly Downloads

Custom short video recording & editing SDK for Flutter — Camera2/MediaCodec (Android) + AVFoundation (iOS).

Repository (GitHub)
View/report issues

License

MIT (license)

Dependencies

flutter, http, http_parser

More

Packages that depend on lovoj_video_editor

Packages that implement lovoj_video_editor