Я работаю над проектом, в котором в какой-то момент пользователь загружает видео, а в бэкэнде мне нужно создать миниатюру для этого видео. Я предпочел ffmpeg для этой цели, и система находится в среде django.
Это моя функция просмотра
def upload(request):
if request.method == 'POST':
form = DocumentForm(request.POST, request.FILES)
if form.is_valid():
newdoc = Document(docfile=request.FILES['docfile'])
filename = str(request.FILES['docfile'].name)
newdoc.save()
op = subprocess.call(['ffmpeg', '-i',"media/private/"+up, '-ss', '00:00:03.000', '-vframes', '1', 'abc.jpg']) // Generates thumbnail
newdoc.thumbnail = op
newdoc.save()
return HttpResponseRedirect(reverse('list'))
else:
form = DocumentForm()
Документ имеет поле миниатюр. Я знаю, что subprocess.call () возвращает код возврата, а не какой-либо объект, поэтому использование переменной op бесполезно. Так что мой запрос - как сохранить созданный эскиз в модели.