This is an extension to the Kotti CMS that allows you to add audio and video to your Kotti site.
kotti_media
uses MediaElementJS for video and audio views and thus supports native HTML5 playback on all platforms that support this.
Each video can have multiple formats (MP4 (.h264 baseline profile), WebM, Ogg/Theora) to achieve this goal. For audio, supported formats include mp3 and wav.
For older Platforms MediaElementJS includes a Adobe Flash / MS Silverlight plugin fallback, so that every resource can be played on every platform if all supported formats are uploaded.
For Kotti >= 0.10 use the latest release of kotti_media
.
For Kotti < 0.10 use kotti_video
< 0.6.
For Kotti < 0.7 use kotti_video
< 0.2.
To activate the kotti_media
add-on in your Kotti site, you need to add an entry to the kotti.configurators
setting in your Paste Deploy config.
If you don't have a kotti.configurators
option, add one.
The line in your [app:main]
section could then look like this:
kotti.configurators = kotti_media.kotti_configure
With this, you'll be able to add video and audio items in your site. Video and Audio content types are containers, into which you add specific media file types.
In your settings file, set kotti_media.asset_overrides
to a list of asset specifications.
This allows you to set up a directory in your package that will mirror kotti_media’s own and that allows you to override kotti_media’s templates on a case by case basis.
You can also set kotti_media.use_fanstatic
to a false value (false
, 0
, no
, and so on) to disable the need()
call.
This is especially useful if your application is built with modern frontend development tools like Grunt, Gulp and Bower and you manage your Javascript dependencies with them.
This setting is not needed if you completely disable Fanstatic for your application.
A standard way to use kotti_media is to first create a Document in your content tree; this document will become the media section of your application. Then you can add childs to your media section by appending audio/video content to it.
kotti_media
comes with a handy media_folder_view that can be used to display your 'media section' Document (that is to display every media attached to it).
Registration is done like this:
from kotti.resources import Document
from kotti.util import _
def includeme(config):
Document.type_info.add_selectable_default_view("media_folder_view",
_("Media Folder"))
You will then be able to select that view for your media section Document in the user interface.
kotti_media
is considered alpha software, not yet suitable for use in production environments.
The current state of the project is in no way feature complete nor API stable.
If you really want to use it in your project(s), make sure to pin the exact version in your requirements.
Not doing so will likely break your project when future releases become available.
Contributions to kotti_media
are highly welcome.
Just clone its Github repository and submit your contributions as pull requests.
kotti_media
aims for complete test coverage.
Please make sure that you add tests for new features and that all tests pass before submitting pull requests.
Running the test suite is as easy as running py.test
from the source directory (you might need to run python setup.py dev
to have all the test requirements installed in your virtualenv).