#django #html #video-streaming #base64 #gridfs
#django #HTML #потоковое видео #base64 #gridfs
Вопрос:
У меня есть загруженное видео в виде строки base64, хранящейся в GridFS, и у меня есть представление django, которое может объединить все фрагменты.
def serveVideo(request, *args, **kwargs):
data = ''
m = Multimedia.objects.get(id = args[0])
chunks = client.db.fs.chunks.find({"files_id":ObjectId(m.media.grid_id)})
for chunk in chunks:
data = data chunk['data']
response = HttpResponse("data:video/webm;base64," data.split(",")[1], content_type='video/webm')
return response
Итак, на моей стороне клиента у меня есть это:
<video width="500" height="500" controls>
<source src="/videos/{{ post.video }}/" type="video/webm">
Your browser does not support the video tag.
</video>
Но, похоже, это не работает, я получаю сообщение об ошибке в веб-консоли «Медиа-ресурс не удалось декодировать».
Примечание: когда я напрямую передаю строку base64 в атрибут src, она работает нормально.(таким образом, нет проблем с данными base64 видео).