To apply for this task please complete this mandatory coding challenge together with your application: T872
Applications without matching coding challenge completed will not be considered.
---
Frame server is an application which provides video data, like RAW, to video players or editors, which don't support this format. Additionaly it has to be ensured that memory usage is low enough and performance acceptable. Next step would be a mechanism to provide proxy of the clips for not high-end machines. The focus of this task is to implement OpenCine module, which re-uses OCcore lib to provide video data through FUSE (Filesystem in Userspace) as dummy AVI file.
**Goals:**
- Create a frame server module using libfuse and attach OCcore as data provider
- Extend OCcore for providing consequent frames, so the video is playable in a video player
- Add user interface to control frame server settings, like frames per second (FPS) or de-Bayering processor
- Add Dokany, to be able to run frame server on Windows and adjust CMake scripts accordingly, for consistent build process without user intervention, like on Linux
**Prerequisites:**
- **Windows**
-- VisualStudio 2015
-- Qt 5.7
-- CMake
-- Git
-- optionally: GUI client for Git (e.g. GitKraken or SourceTree)
-- VapourSynth
or
- **Linux** (e.g. LinuxMint 18.1)
-- Qt 5.7
-- QtCreator
-- CMake
-- OpenGL headers from freeglut3-dev package
-- Git
-- optionally: GUI client for Git (e.g. GitKraken)
-- VapourSynth
**Required programming skills:**
- C / C++ or similar language experience
- Basic understanding of image processing
**Difficulty level:** Medium
**Mentors:** Andrej, Supragya
**References:**
- https://en.wikipedia.org/wiki/Frameserver
**Links**
- Open Cine Overview: https://www.apertus.org/opencine
- Wiki: https://wiki.apertus.org/index.php/OpenCine
- FUSE: https://de.wikipedia.org/wiki/Filesystem_in_Userspace
- libfuse: https://github.com/libfuse/libfuse
- Dokany: https://github.com/dokan-dev/dokany
- Frame server prototype (FUSE / AVI): https://github.com/BAndiT1983/OC_FrameServer/tree/dev
To get in touch with any mentor check the [[ https://www.apertus.org/GSoC-2019-Mentor-Contact-List | Mentor Contact List]].