Skip to main content

provide a schema and API for sound and media files with a html5 player

Project description

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.

Encoding uses Celery_ as an asynchronous task queue manager, see below
for installation.

.. _Celery: http://www.celeryproject.org


Streaming
---------

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


Installation
------------

See Celery_ for a complete documentation. Here is a quick startup using
RabbitMQ_ as broker for Celery_:

.. code-block:: bash

apt-get install rabbitmq-server

RabbitMQ requires a minimal setup. For instance (all permissions for
user `user` on vhost `vhost`):

.. code-block:: bash

sudo rabbitmqctl add_user user password
sudo rabbitmqctl add_vhost vhost
sudo rabbitmqctl set_permissions -p vhost user '.*' '.*' '.*'

.. _RabbitMQ: https://www.rabbitmq.com/

Configuration
-------------

Create a `celeryconfig.py` file in the same directory as the
`all-in-one.conf` file (namely, the application home), with
following content::

BROKER_URL = 'amqp://user:password@localhost:5672/vhost'

See
http://docs.celeryproject.org/en/latest/userguide/application.html#configuration
for more configuration options.


Execution
---------

Use the command below to run the celery worker handler:

.. code-block:: bash

celery -A cubicweb_celery -i <instance_name> worker [ --beat ]

.. _Celery:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

cubicweb-mediaplayer-0.2.0.tar.gz (239.9 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page