Quick Start =========== This document describes how to start transcoding for development purposes. ## Demo project ### Code checkout ```sh git clone git@github.com:just-work/django-video-transcoding.git cd django-video-transcoding ``` ### Run admin, storage and celery worker ```sh docker-compose up ``` * - Django admin (credentials are `admin:admin`) * - WebDAV for sources & results * - HLS stream endpoint ### 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