{ "info": { "author": "Neon Jungle", "author_email": "developers@neonjungle.studio", "bugtrack_url": null, "classifiers": [ "Environment :: Web Environment", "Framework :: Django", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6" ], "description": "wagtailvideos\n=============\n\n.. image:: https://gitlab.com/neonjungle/wagtailvideos/badges/master/pipeline.svg\n :target: https://gitlab.com/neonjungle/wagtailvideos/pipelines?ref=master\n\n\nBased on wagtailimages. The aim was to have feature parity with images\nbut for html5 videos. Includes the ability to transcode videos to a\nhtml5 compliant codec using ffmpeg.\n\nRequirements\n------------\n\n- Wagtail >= 2.5\n- `ffmpeg `__\n\nInstalling\n----------\n\nInstall using pypi\n\n.. code:: bash\n\n pip install wagtailvideos\n\nAdd `wagtailvideos` to your installed apps.\n\n.. code:: python\n\n INSTALLED_APPS = [\n 'wagtailvideos',\n ]\n \nUsing\n-----\n\nOn a page model:\n~~~~~~~~~~~~~~~~\n\nImplement as a ``ForeignKey`` relation, same as wagtailimages.\n\n.. code:: python\n\n from django.db import models\n\n from wagtail.admin.edit_handlers import FieldPanel\n from wagtail.core.fields import RichTextField\n from wagtail.core.models import Page\n\n from wagtailvideos.edit_handlers import VideoChooserPanel\n\n\n class HomePage(Page):\n body = RichtextField()\n header_video = models.ForeignKey('wagtailvideos.Video',\n related_name='+',\n null=True,\n on_delete=models.SET_NULL)\n\n content_panels = Page.content_panels + [\n FieldPanel('body'),\n VideoChooserPanel('header_video'),\n ]\n\nIn a Streamfield:\n~~~~~~~~~~~~~~~~~\n\nA VideoChooserBlock is included\n\n.. code:: python\n\n from wagtail.admin.edit_handlers import StreamFieldPanel\n from wagtail.core.fields import StreamField\n from wagtail.core.models import Page\n\n from wagtailvideos.blocks import VideoChooserBlock\n\n\n class ContentPage(Page):\n body = StreamField([\n ('video', VideoChooserBlock()),\n ])\n\n content_panels = Page.content_panels + [\n StreamFieldPanel('body'),\n ]\n\nIn template:\n~~~~~~~~~~~~\n\nThe video template tag takes one required postitional argument, a video\nfield. All extra attributes are added to the surrounding ``