Another Video Service for MRL


This is a project page to create and add another video service for MRL.  OpenCV can capture video and MRL can stream the captured video to a remote location, to be received and displayed by another MRL instance.  However, this is not the most optimized method of streaming.  Since OpenCV purpose is to process video, it expects frame by frame access.  These frames can be streamed over UDP to a display, however, they are full images compressed (jpg).  When streaming video its typically preferrable to use a compression algorithm which supports video keyframes. 

The purpose is to create a Service capable of being client & server video streamer.  There are other possiblities too with Skype public API and Google's Hangout API, but one of the objectives is not to be tied to another commercial industries framework or services.

References:

  • FFMPEG - the big kahuna in opensource video transcribing, streaming, converting, and all sorts of other goodies.  Library is in C and platform specific. Almost all complex open source video applications depend on FFMPEG
  • JMF - Suns "old" standard and limited implementation to handle media "Java Media Framework" - does not support MPEG4
  • FMJ - Freedom for Media in Java - uses FFMPEG to implement the JMF interface defined by Sun - They also support Theora project for opensource only video
  • Jffmpeg - Java wrapper & plugin for JMF implementation - with parts written in pure Java and other "parts" calling JNI to FFMPEG
  • Xuggle - a well organized, well documented GPL & LGPL Java wrapper and library project
  • SkypeKit - Skype's public API - recently has full Java support, closed source & $5.00 for sdk
  • Google Hangout API - really an inverse, in the sense that your app can be embedded in a hangout rather than the hangout embedded in your app.  Powerful way to do social communication, but not applicable for this service.  Has potential for site possibly.
  • Red5 - the most popular opensource live media streamer - uses FFMPEG (of course)