lovoj_video_editor 0.11.38
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
setRectToRectmapping + 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
startCameraPreviewis not on the native side (avoidsMissingPluginExceptionuntil app is fully rebuilt / pub package updated)
0.11.32 #
- Android camera preview — use Flutter
Textureinstead ofPlatformView(fixes narrow strip / sideways preview on many devices) - Recording — preview surface shared between texture preview and MediaRecorder
0.11.31 #
- Fix Android build —
CameraManager.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
RecordingFinishResult—RecordingSession.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 build —
roundToIntimport inVideoProcessor.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/mp4content-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 nestedMaterialApp)- Android system back also exits SDK safely when embedded
0.11.2 #
- Upload fix — use Lovoj main-app route
/api/v1/SetupsforUser/universalImage-Picker(notuploadMediawhich returns Route not found) - Multipart field
adminFabricsImage+ parseImages[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 UI —
LovojShortsStudiobuilt 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 onstartRecordingonly
0.9.7 #
- Recording screen — mic toggle next to music: voice + music while filming; mixed on Done
- Recording —
RecordingConfig.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 preview —
getCurrentPositionMs,seekToMs,setEmbeddedVolumeon Android & iOS
0.9.5 #
-
Repo — iOS distribution guide (
docs/IOS_DISTRIBUTION.md), improvedbuild_ipa.shexport 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
VideoClipstoresarEffectmetadata 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
TextureViewhardware 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 (
Passthroughfallback); 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
- iOS —
CameraManagerrecording delegate error handling fix
0.8.0 #
- Studio UI, interactive text overlays, native preview audio sync improvements
0.7.8 #
- Professional text overlays —
VideoTextPanel+TextOverlayEditorbottom 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 panel —
VideoAudioPanelfor background music & sound effects - Mini timeline with track placement; per-track volume, loop (music), start time (SFX/voice)
- Solo preview + preview-on-video;
EditSession.updateAudioTrackfor live edits - Native export mixes volume, fade, loop via
AudioMixer
0.7.6 #
- Professional video speed —
VideoSpeedBarwith Slow-mo / Normal / Fast sections (0.25×–3×) - Export duration preview bar; live
EditSession.setClipSpeedon selection - Native preview playback rate (
setPlaybackSpeed) on Android MediaPlayer & iOS AVPlayer
0.7.5 #
- Professional video trim —
VideoTrimBarwith filmstrip thumbnails, in/out handles, drag-to-move selection - Live trim duration badge on editor preview; trim applied to
EditSessionin 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
ARFaceAnchorgeometry; 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) —
RealTimeEffectsBarwidget 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
FilterMatricesColorMatrix; iOS beauty uses blur overlay - Editor + video preview: filters apply live on playback (
FilterPreviewOverlay+FilterPreviewUtils)
0.6.0 #
- Native video preview —
NativeVideoPreview+MediaPlayer/AVPlayer(novideo_playerpackage) - Native audio preview —
startAudioPreview/pause/resume(noaudioplayerspackage) - Full-screen recording + editor preview fixes
0.5.1 #
- Recording music fix — rewritten
AudioDecoder(proper MediaCodec AAC/MP3 → PCM),mixRecordingAudioAPI with clip duration, music loops for full clip length - Music starts when recording starts (synced); mic + music mixed into single track on stop
- Android:
AudioAttributesfor playback during recording; iOS:playAndRecordaudio 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, iOSAVMutableAudioMix) - 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
startMsapplied when mixing tracks - Voice-over sync —
startVoiceOver(startMs:)places voice-over at the correct timeline position on export
0.4.2 #
- Text overlay preview — new
TimelinePreviewOverlaywidget 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.nativetocom.lovoj.videoeditor(nativeis a Java keyword and invalid in Android namespaces) - Fixed Kotlin compile issues: Camera2
CameraManagername 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
stopRecordingrace (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