This Django application is designed for video encoding and streaming. It leverages the power of FFmpeg to generate HLS (HTTP Live Streaming) files, calculate video duration, and generate thumbnails. Additionally, it includes a background processing system using Celery to handle video encoding tasks efficiently.
- Video Encoding: Utilizes FFmpeg to encode videos into HLS format, making them compatible with a wide range of devices and browsers.
- Video Duration Calculation: Automatically calculates the duration of uploaded videos.
- Thumbnail Generation: Generates thumbnails for videos to provide a preview.
- Background Processing: Uses Django signals to trigger Celery tasks for seamless and efficient video processing in the background.
- Extensible: Easily extend the functionality to include more video-related features or customization.
-
Clone Project from github
-
Create virtualenv
$ virtualenv venv
-
Activate Virtualenv
$ source venv/Scripts/activate
-
Add project specific information in .env
-
Make migration
$ python manage.py makemigrations
-
Migrate
$ python manage.py migrate
-
Create Superuser
$ python manage.py createsuperuser
-
Start Server
$ python manage.py runserver
-
Install redis on the server and allow redis port
-
Run Celery for the background tasks
$ celery -A djtube worker -l info -P threads
Contributions to the Django Video Encoding and Streaming App are welcome! Feel free to open issues, submit pull requests, or provide feedback.