Updated the media types documentation, added steps for audio

- Added chapter about media type negotiation.
- Added instructions on how to install dependencies for the audio media
  type.
- Moved part about how to enable media types in your config to a single
  place at the top of the document named "Enable Media Types".
- Renamed the "Enable Media Types" page to "Media Types".
This commit is contained in:
Joar Wandborg 2012-07-06 22:51:49 +02:00
parent 9c6f6b78f4
commit d34757dc83

View File

@ -14,16 +14,49 @@
.. _media-types-chapter:
====================
Enabling Media Types
Media Types
====================
In the future, there will be all sorts of media types you can enable,
but in the meanwhile there are two additional media type: video and
ascii art.
but in the meanwhile there are three additional media types: video, audio
and ascii art.
First, you should probably read ":doc:`configuration`" to make sure
you know how to modify the mediagoblin config file.
Enabling Media Types
====================
Media types are enabled in your mediagoblin configuration file, typically it is
created by copying ``mediagoblin.ini`` to ``mediagoblin_local.ini`` and then
applying your changes to ``mediagoblin_local.ini``. If you don't already have a
``mediagoblin_local.ini``, create one in the way described.
Most media types have additional dependencies that you will have to install.
You will find descriptions on how to satisfy the requirements of each media type
on this page.
To enable a media type, edit the ``media_types`` list in your
``mediagoblin_local.ini``. For example, if your system supported image and
video media types, then the list would look like this::
media_types = mediagoblin.media_types.image, mediagoblin.media_types.video
How does MediaGoblin decide which media type to use for a file?
===============================================================
MediaGoblin has two methods for finding the right media type for an uploaded
file. One is based on the file extension of the uploaded file; every media type
maintains a list of supported file extensions. The second is based on a sniffing
handler, where every media type may inspect the uploaded file and tell if it
will accept it.
The file-extension-based approach is used before the sniffing-based approach,
if the file-extension-based approach finds a match, the sniffing-based approach
will be skipped as it uses far more processing power.
Video
=====
@ -34,14 +67,6 @@ good/bad/ugly). On Debianoid systems::
sudo apt-get install python-gst0.10 gstreamer0.10-plugins-{base,bad,good,ugly} \
gstreamer0.10-ffmpeg
Next, modify (and possibly copy over from ``mediagoblin.ini``) your
``mediagoblin_local.ini``. In the ``[mediagoblin]`` section, add
``mediagoblin.media_types.video`` to the ``media_types`` list.
For example, if your system supported image and video media types, then
the list would look like this::
media_types = mediagoblin.media_types.image, mediagoblin.media_types.video
Now you should be able to submit videos, and mediagoblin should
transcode them.
@ -54,6 +79,32 @@ transcode them.
":doc:`production-deployments`" section of this manual.
Audio
=====
To enable audio, install the gstreamer and python-gstreamer bindings (as well
as whatever gstreamer plugins you want, good/bad/ugly), scipy and numpy are
also needed for the audio spectrograms.
To install these on Debianoid systems, run::
sudo apt-get install python-gst0.10 gstreamer0.10-plugins-{base,bad,good,ugly} \
gstreamer0.10-ffmpeg python-numpy python-scipy
The ``scikits.audiolab`` package you will install in the next step depends on the
``libsndfile1-dev`` package, so we should install it.
On Debianoid systems, run::
sudo apt-get install libsndfile1-dev
Then install ``scikits.audiolab`` for the spectrograms::
./bin/pip install scikits.audiolab
Add ``mediagoblin.media_types.audio`` to the ``media_types`` list in your
``mediagoblin_local.ini`` and restart MediaGoblin. You should now be able to
upload and listen to audio files!
Ascii art
=========