Quick Start

This document describes how to start transcoding for development purposes.

Demo project

Code checkout

git clone git@github.com:just-work/django-video-transcoding.git
cd django-video-transcoding

Run admin, storage and celery worker

docker-compose up

Transcode something

  • curl -T cat.mp4 http://storage.localhost:8080/videos/sources/cat.mp4

  • Create new video with link above

  • Wait till video will change status to DONE.

  • On video change form admin page there is a sample video player.

Development environment

Development environment is deployed with docker-compose. It contains several containers:

  1. rabbitmq - celery task broker container

  2. admin - django admin container

  3. celery - transcoder worker container

  4. storage - multi-purpose nginx container:

    • HTTP server for sources

    • WebDAV write-enabled server for transcoded files (origin role)

    • VOD server for HLS streaming with caching (combines origin and edge roles)

  • SQLite database file is used for simplicity, it is shared via database volume between admin and celery containers

  • videos volume is used by storage container for sources, transcoding results and hls chunks cache