Better Open Video Editor
- Core: Performance-focused video editor timeline editing and rendering foundation system.
- Application: Multiple GUIs and binary-size-sensitive builds focused on different practical usages, with Best UI and UEX.
- Feature plugins: provide optional ready-to-use features provided by third-party open libs as many as possible.
# pull submodule code
git submodule init
git submodule update
- Although currently we focus on Windows 10 22h2+, we should not break the probability of cross-platform support. So if any feature uses windows api, please write a wrapper for that.
- Main Module shall be built with CMAKE, and targeting to MSVC 2019.
- GUI Module shall be built with QT. QMAKE usages is TBD.
- Scripts are recommended to be written in Python; Bash is OK; Powershell scripts must come with a translated copy in python or bash.
- For codes in this repo, use vulkan.
- For the compatibility with third party renderer, FluentCut shall include ANGLE(with Vulkan Backend) and swiftshader(with Vulkan backend)
- ffmpeg (msvc build, nvenc, nvdec, qsv, dxva, vaapi enabled)
- Use QT, but only LGPL part.
- TBD: GRPC? HTTP? Or custom one?
- How to share texture to external usage?
- use ASIO in side thread.
- Different APIs for import/export/timeline edit/render respectively.
- An easy script system based on quickJS.
- plugin support should be implemented both in quickJS and C++ dynamic lib.
Because of license and binary size issue, all modules shall be able to turn off when build.
- 2d render and lottie animation: skia
- Audio Effects: custom VST3 host
- tts: system default or third party.
- AI plugins:
- tts
- speech recognize
- human beautifier
- txt2img: stable diffusion web ui
- model, render and data sync between.
- HDR support.
- reader cache.
- performance monitor.
- API/CLI
- i18n support.
- License presenter.