17 lines
709 B
Python
17 lines
709 B
Python
from celery import shared_task
|
|
import os
|
|
from django.conf import settings
|
|
import ffmpeg_streaming
|
|
from ffmpeg_streaming import Formats, Bitrate, Representation, Size
|
|
from django.core.files.storage import default_storage
|
|
|
|
@shared_task()
|
|
def create_hls_tasks(filename):
|
|
end_location = str(settings.MEDIA_ROOT) + "/" + str(filename) +'.m3u8'
|
|
if not default_storage.exists(end_location):
|
|
media_location = str(settings.MEDIA_ROOT) + "/" + str(filename)
|
|
video = ffmpeg_streaming.input(media_location)
|
|
hls = video.hls(Formats.h264())
|
|
_720p = Representation(Size(1280, 720), Bitrate(2048 * 1024, 320 * 1024))
|
|
hls.representations(_720p)
|
|
hls.output(end_location) |