Я хотел бы перекодировать загруженные пользователем видео с помощью сельдерея. Я думаю, что сначала я должен загрузить видео и создать задачу сельдерея для перекодирования.
Может быть, что-то вроде этого в tasks.py:
subprocess.call('ffmpeg -i path/.../original path/.../output')
Только что завершили Первые шаги с сельдереем, так запутался, как это сделать в views.py
и tasks.py
. Также это хорошее решение? Я был бы очень признателен за вашу помощь и совет. Спасибо.
модели.ру:
class Video(models.Model):
user = models.ForeignKey(User)
title = models.CharField(max_length=100)
original = models.FileField(upload_to=get_upload_file_name)
mp4_480 = models.FileField(upload_to=get_upload_file_name, blank=True, null=True)
mp4_720 = models.FileField(upload_to=get_upload_file_name, blank=True, null=True)
privacy = models.CharField(max_length=1,choices=PRIVACY, default='F')
pub_date = models.DateTimeField(auto_now_add=True, auto_now=False)
мои неполные views.py:
@login_required
def upload_video(request):
if request.method == 'POST':
form = VideoForm(request.POST, request.FILES)
if form.is_valid():
if form.cleaned_data:
user = request.user
#
#
# No IDEA WHAT TO DO NEXT
#
#
return HttpResponseRedirect('/')
else:
form = VideoForm()
return render(request, 'upload_video.html', {
'form':form
})