I currently have developed an Android based application that takes the device's camera frames and converts them to the VP8 format. When I save the VP8 image information, I am saving them in a special format so that the images can be more easily played back later within my program. At the start of the binary file (where the VP8 image is) I store the frame length, the frame type (key / delta), the frame timestamp and then the "raw" VP8 frame buffer. I put "raw" in quotes because I am getting the converted frames from WebRTC, and the library (as far as I can tell) does not put VP8 frames in any sort of file standard format.
So, now that I have the recording and playback working on Android devices, I need to extend that capability to WebRTC capable browsers. However, the VP8 frames will not always be streamed to them over a WebRTC connect. They also need to be downloaded and then played within the browser. From my understanding, there is no interface into any WebRTC enabled browser to have it render specific VP8 frames that are provided outside of a WebRTC connection. However, I was told by the other members of the project that we can achieve this non-p2p playback of VP8 frames if we packed the original VP8 frame to a WebM container before storing them.
I have spent the day looking around the documentation and code, and have had only a little success (the frame files are recognized as media / video files within Ubuntu). I am rather certain that they do not play because I haven't fully / correctly implemented the container wrapping.
So, I was wondering if anyone knew how I can take the "raw" VP8 buffers given to me by WebRTC and then wrap them in a WebM container?
Thanks in advance.