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:
-------
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)
Close
Hashes for cubicweb-mediaplayer-0.2.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 0e704439aec6a237aa9e5fdc2a7bd11d6d1b862e0b8e2707ff29523ec3fe4a7f |
|
MD5 | a2ab8cf1a6d7f21000f5337ce9beaf57 |
|
BLAKE2b-256 | 8ca6cee6579597d1f31bb8806fed93ff6e272c8aae2de09beb9df9f2caf3433f |