Simple video transcoding application for Django framework
Project description
django-video-transcoding
Simple video transcoding application for Django Framework
Installation
System requirements
In case of latest Ubuntu LTS (20.04):
- ffmpeg-4.x
$> sudo apt install ffmpeg
- mediainfo
$> sudo apt install mediainfo
- RabbitMQ
$> sudo apt install rabbitmq-server
django-video-transcoding
pip install django-video-transcoding
Configure Django
Edit your project settings.py
INSTALLED_APPS.append('video_transcoding')
Env
Common env variables used in django web server and celery
DJANGO_SETTINGS_MODULE=YOUR_PROJECT.settings
VIDEO_TRANSCODING_CELERY_BROKER_URL=amqp://guest:guest@rabbitmq:15672/
Web-server-only env variables:
VIDEO_DOWNLOAD_SOURCE=0
VIDEO_EDGES='http://edge-1.localhost,http://edge-2.localhost'
Celery-only env variables:
VIDEO_TEMP_DIR=/tmp
VIDEO_TRANSCODING_CELERY_CONCURRENCY=2
VIDEO_ORIGINS='http://origin-1.localhost/video,http://origin-2.localhost/video'
Start celery worker
$> celery worker -A video_transcoding.celery
Develop
Development environment quickstart guide
Tests
src/manage.py test
Type checking
$> pip install mypy django-stubs
$> cd src && /data/dvt/virtualenv/bin/dmypy run -- \
--config-file ../mypy.ini -p video_transcoding
TBD:
- travis-ci
- sphinx docs - autodoc + manual
- coverage
- typing
- badges
- video hosting demo project with docker-compose, nginx and player demo
Production
Graceful shutdown
- if you are running transcoder in docker, make sure that celery master process has pid 1 (docker will send SIGTERM to it by default)
- when using separate celery app, send SIGUSR1 from master to workers to trigger
soft shutdown handling
(see
video_transcoding.celery.send_term_to_children
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Close
Hashes for django_video_transcoding-0.13.0.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | f395232b7f5fd7630d1462f7a6b42c67b3b2d350e291ff4e125ffe854bf80c04 |
|
MD5 | 35f294d52923dff4ca32539e6012b86c |
|
BLAKE2b-256 | 47fcbbcd28611989a648184d1cd4cc330f0a727aa2156d40a54e0b14ce8b3c90 |
Close
Hashes for django_video_transcoding-0.13.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21b599d7deb0e09622b5f3a24f138d0f5d6df17d7acdb23e053e13ab63d6a0df |
|
MD5 | ceede5e5c257358979a3096807892114 |
|
BLAKE2b-256 | a47525a3c7b99429854eb559e1b9c8b65203210664ea0acf4f9789790cfc751e |