Skip to main content

django-video-transcoding

Simple video transcoding application for Django Framework

build codecov Updates PyPI version Documentation Status

Installation

System requirements

In case of latest Ubuntu LTS (20.04):

  1. ffmpeg-4.x
$> sudo apt install ffmpeg
  1. mediainfo
$> sudo apt install mediainfo 
  1. 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)

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

django_video_transcoding-1.0.0.tar.gz (27.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

django_video_transcoding-1.0.0-py3-none-any.whl (37.6 kB view details)

Uploaded Python 3

File details

Details for the file django_video_transcoding-1.0.0.tar.gz.

File metadata

  • Download URL: django_video_transcoding-1.0.0.tar.gz
  • Upload date:
  • Size: 27.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.12.4

File hashes

Hashes for django_video_transcoding-1.0.0.tar.gz
Algorithm Hash digest
SHA256 3f5db2c88db4c423cf2600751dcaa432b4e81e0efeebb741e121d62d54a3ab05
MD5 5f717aac424c699fabc7c3927c002b40
BLAKE2b-256 5623b14b29227e76200c47ba30eec0f17ad6ce5ddb6d64202c47849aa88bde1d

See more details on using hashes here.

File details

Details for the file django_video_transcoding-1.0.0-py3-none-any.whl.

File metadata

File hashes

Hashes for django_video_transcoding-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 7954725e28bf2a600b48d8368987421e5a52a14257b36770cbfd654f1639dd21
MD5 cfc919d6ac61f37c4afce7ec19c8183f
BLAKE2b-256 76e20b9eb0e0ddbfb98cdfa2a18e7fc98fc8b3e396ed786814d75660d02ae570

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

1.0.0 This release

2 files

0.14.0

2 files

0.13.0

2 files

0.12.1

2 files

0.12.0

2 files

0.11.0

2 files

0.10.0

2 files

0.9.0

2 files

0.8.0

2 files

0.7.2

2 files

0.7.1

2 files

0.7.0

2 files

0.6.0

2 files

0.5.0

2 files

0.4.0

2 files

0.3.2

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.0

2 files

0.0.17

2 files

0.0.16

2 files

0.0.15

2 files

0.0.12

1 file

0.0.11

1 file

0.0.10

1 file

0.0.9

1 file

0.0.8

1 file

0.0.7

1 file

0.0.6

1 file

0.0.5

1 file

0.0.4

1 file

0.0.2

1 file

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page