Summary
-------

This cube provides basic media storage, transcoding and streaming features.

Storage
-------

This cube defines two ``SoundFile`` and ``VideoFile`` entity
types. Each entity uses a ``data`` attribute to store original raw
data and custom ``data_<fmt>`` (e.g. ``data_mp3``, ``data_ogv``
attributes) to store transcoded data.

BFSS is used to store data on the filesystem. The root directory
is specified by the ``media-dir`` configuration option.


Transcoding
-----------

Modification hooks are responsible for reenconding media files.
`ffmpeg <http://www.ffmpeg.org/>`_ is used to convert sound and video
files to streamable formats.

.. warning::

   Encoding is synchronous for now.

Streaming
---------

`jplayer <http://jplayer.org/>`_ is used to stream media content.
