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
http://localhost:8000/admin/ - Django admin (credentials are
admin:admin
)http://storage.localhost:8080/videos/ - WebDAV for sources & results
http://storage.localhost:8080/hls/ - 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:
rabbitmq
- celery task broker containeradmin
- django admin containercelery
- transcoder worker containerstorage
- multi-purposenginx
container:HTTP
server for sourcesWebDAV
write-enabled server for transcoded files (origin
role)VOD
server forHLS
streaming with caching (combinesorigin
andedge
roles)
SQLite
database file is used for simplicity, it is shared viadatabase
volume betweenadmin
andcelery
containersvideos
volume is used bystorage
container for sources, transcoding results and hls chunks cache