Out contribution to the Aller Hackathon 2019. A video filtering & post-processing for social networks. Think super-advanced Instagram filters but for video, or, the other way round, a super-retarded Adobe After Effects in browser/on mobile.
Since we're limited in many ways, from screen real estate to users' proficiency in video editing, the app must be as automatic as possible.
A typical usage scenario: a user uploads few videos they took with their camera, selects a preset
, makes minor adjustments, the app renders the resulting video and uploads it to a social network of choice.
- Eugene S. Merkoulov - transcoding & rendering engine;
- Maxim Sorokin - rendering engine & FX development;
- Natalia Kulychyk - user interface;
- Daniel Morozov - all around guy, from auth to back-end APIs to social media publishing to fron-end, the real MVP.
Lucky us, we have the exact number of people we need to parallelize the development.
This is where videos are uploaded and transcoded. It stores video files, it has ffmpeg
& OpenGL
installed, it has few API endpoints to upload videos, request frames from them for UI and request final rendering. See RenderServer for details.
The engine exists on both ends for obvious reasons, and requires some extra thought on design. See RenderingCore for details.
Nata you go! See UI for details.
When the FX framework is ready it's time to implement the actual effeects. See FX for details
run/app rt [PATH TO VIDEO FILE] [OPERATION] [OP ARGS]
OPERATIONS
- pixels - outputs raw RGB24 output from
ffmpeg
- frames - outputs JPG frames