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. 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 frameserver (preferably based on FUSE based filesystem on linux) to be able to use OC decoding and color-grading to provide RAW frames to different applications. This would allow to provide data to applications which do not support RAW formats natively. 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.
**Excerpt from wikipedia:** A frameserver is a computer program that streams video to another program, called a frameclient, using a process known as frameserving. The video is sent directly to the frameclient, frame by frame. This way it is possible to use the output of a program (acting as the frameserver) to be used as the source by another program (acting as the frameclient) without having to create intermediate files. Without frameserving the output of a program would first need to be saved to a file which could then be opened by another program. This would however use unnecessary disk space, require more time and could result in quality loss due to compression.
-- VisualStudio 2015
-- Qt 5.7
-- optionally: GUI client for Git (e.g. GitKraken or SourceTree)
- **Linux** (e.g. LinuxMint 18.1)
-- Qt 5.7
-- OpenGL headers from freeglut3-dev package
-- optionally: GUI client for Git (e.g. GitKraken)
**Required programming skills:**
- C / C++ or similar language experience
- Basic understanding of image processing
**Difficulty level:** Medium
**Mentors:** Andrej, Supragya
- 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
- 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]].