Building a video editor and high performance rendering pipeline with Flutter
summary
A MacOS video editor called Cutscenes is built in Flutter and renders frames by replacing repaint-boundary PNG dumps with a custom embedder that overrides the present callback and feeds frames directly into ffmpeg embedded libraries. Rendering moves from CPU software to OpenGL with pixel buffer objects, offloads RGB→YUV conversion to a thread pool, and bundles both x86 and ARM ffmpeg builds. The pipeline achieves about a 16x speed up versus golden-test PNG export and produces real-time or near‑real‑time MP4 exports.
AI-written summary · about
chapters (13)
- 0:00Introduction and project overview
- 1:58How video works fundamentals
- 6:35Flutter as a UI framework
- 7:38Front end vs back end rendering
- 12:28Slow but simple video rendering
- 16:20Headless rendering with widget tests
- 19:12Custom Flutter embedders
- 24:08Using FFmpeg libraries directly
- 25:33GPU acceleration with OpenGL
- 27:19YUV color conversion challenges
- 29:51Mac OS specific optimizations
- 33:45ARM vs x86 compatibility
- 36:14Packaging and distribution
related talks
31mBuilding a rendering engine in Rust for Flutter
49mFirst Flutter, then Fly: Build Reactive & Performant Cross-Platform Apps
32mCode Meets Art: Flutter for Creative Coding
49mDemystifying performance tune up in Flutter and Dart
31mHow Flutter works under the hood
47mAnimations in Flutter
58mBuilding cross-platform mobile apps with Flutter.io
44mBuilding Pieces for Developers Our Journey with Flutter and Dart
