FOSS FLASH VIDEO
FOSS Flash Video Server-Side Transcoding and Embedding
Research question: Survey the possiblities for open source flash server-side transcoding and embedding on the webpage.
This area is an adjunct to the FOSS codecs research project, as Flash is not a FOSS codec. But there is a growing amount of FOSS support for transcoding to .flv and displaying this video in the browser, and this is still one of the most user-friendly ways to play back video within the browser for Transmission network members and other projects.
It is hoped that when Ogg support is mature, this work may be superceded by server-side transcoding to Ogg Theora/Vorbis, and playback of these Ogg files in the browser. In the meantime transcoding and playing back Flash using open source tools is a viable option.
EngageMedia has done some work on Flash transcoding and playback for our project, but also as an example for other projects in the Transmission network. This work is also available as part of the Plumi package produced by EngageMedia, and for implementation to Plone sites via the ATVideo product.
Indytube Implementation - Plone and Plumi
EngageMedia extended Indytube, to integrate it into the Plumi Plone package. The Plumi package is a set of Plone products and customisations to enable others to install a Plone site and then install the Plumi package in order to run their own video-sharing communities.
Indytube is a python script for transcoding video files. It uses the mencoder and ffmpeg2theora transcoders and the Twisted framework for thread and network support. It polls a hierarchy of folders, looking for matching video files (based on file extensions) not already transcoded, into Flash video and Ogg/Theora, plus writing out a snippet of HTML code for inclusion in CMSs. This HTML snippet either includes a open source FLV player, or the Cortado java applet to play Theora video files.
Indytube has been implemented into the EngageMedia site. There is are examples of this working, such as this video on EngageMedia.org:
There is documentation on the Plumi site of the Indytube implementation here:
Extending Indytube with the open source FLV Streaming Server, Red5
We have added an sample web application to run inside the Red 5 open source Flash streaming server, as an integration between Indytube and Red5.
The parameters to Flowplayer, the FLV player, can use this streaming server, to obtain the FLV via RTMP (streaming protocol).
This reduces bandwidth and load on Apache (assumed to serving the transcoded files on behalf of the CMS being used), and is true streaming (eg you can seek to parts of the file not already downloaded).