Видеофайл django не воспроизводится
Я пытаюсь создать приложение для потокового видео с помощью django.
class Video(models.Model):
author = models.ForeignKey(User, on_delete=models.CASCADE)
thumbnail = models.ImageField(upload_to='thumbnail', blank=True, null=True)
file = models.FileField(upload_to='video', validators=[FileExtensionValidator(allowed_extensions=['mov', 'MOV','avi','mp4', 'MP4','webm','mkv'])])
представление списка
{% for video in page_obj.object_list %}
<video width="400"
height="350"
controls
{% if video.thumbnail %}
poster="{{ video.thumbnail.url }}"
{% endif %}
>
<source src=
"{{ video.file.url }}"
type="video/mov">
</video>
{% endfor %}
В результате, когда я нажимаю на play, он застревает на миниатюре и на временной шкале не отображается никаких данных, видео не загружается.
Когда я перехожу по url видео, в консоли появляется ошибка и кнопка play перечеркнута, что я не могу нажать play.
Failed to load resource: Plug-in handled load
Интересно, почему это происходит, буду благодарен за помощь.
Кроме того, в html, атрибут type
в теге source
, есть ли способ получить определение мета-типа из FileField
? Например, если это mp4, я хочу получить video/mp4
в строке.
>>> from video.models import Video
>>> vs = Video.objects.all()
>>> v = vs[0]
>>> v.video
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'Video' object has no attribute 'video'
>>> v.file
<FieldFile: video/roc_i9zy5He.mov>
>>> v.file.url
'/media/video/roc_i9zy5He.mov'
>>> v.file.type
Traceback (most recent call last):
File "<console>", line 1, in <module>
AttributeError: 'FieldFile' object has no attribute 'type'
>>> type(v.file)
<class 'django.db.models.fields.files.FieldFile'>
>>> exit()