Analysis
Overview
To support video frame in Sophie2 we need this frame to be:
- rotatable
- support opacity
- be part of the scene implementation
So we need media framework that can extract an image from a video. On the other hand the video frame display the image. If the video frame is refreshed 24 times in a second we have a video playing ;). Currently the JMF media library is used for audio and video playback and for audio recording. JMF is outdated and doesn't support much of the new codecs that exist. Also it has mucher richer functionality that we need. As an alternative FFmpeg C library is supported on all platforms targeted by Sophie and is a live project. Also it supports many codecs and it is basicly the funcionality we need (a framework to extract frames from various video formats and codecs). It can encode/decode most of the existing formats/encodings with few exceptions. FFmpeg is a C library so we need to have a native wrapper for it.
Task requirements
- Write a C++ program that uses ffmpeg to render a frame from a video and send it back to Sophie2
- Compite this program on every platform Sophie2 support
- Write a simple demo that plays a video
Task result
Demo, usage wiki page for the C++ application.
Implementation idea
Use FFmpeg.
Extende JavaBridge and NativeBridge defined in GROUP_WRAPPERS_R0
Related
How to demo
- Start the demo
- Show the tutorial page
Design
Implementation
(Describe and link the implementation results here (from the wiki or the repository).)
Testing
(Place the testing results here.)
Comments
(Write comments for this or later revisions here.)