Отправить строку base64 в проигрыватель html5 «медиа-ресурс не удалось декодировать»

#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 видео).