Как передавать потоки .webm или .mjpeg с сервера Python Django?

У меня есть поток .webm из стороннего источника камеры. Я хотел бы распространить его среди своих веб-клиентов. Я могу открыть поток в OpenCV, а затем перераспределить изображения .jpg, что отлично работает с тегами img. Однако я хотел бы преобразовать его в поток .webm или .mjpeg для использования с video.js или другим видеотегом. У меня нет достаточного опыта работы с протоколом HTTP или форматированием видео, и все мои исследования показывают только этот метод потоковой передачи .jpg.

models.py

views.py

stream/{uuid:camID}

@handleAPIAuth
def getStream(request, camID):
    cameras = getAllCameras(request)
    cameras = cameras.filter(cam_id=camID)
    if len(cameras) != 1:
        return HttpResponseForbidden()
    camera = cameras[0]

    return camera.getStream()

template.html

тег видео

                      <video
                        id="cam-stream"
                        class="video-js"
                        controls
                        preload="auto"
                        width="640"
                        height="264"
                        data-setup="{}"
                      >
                        <source id="stream-source" src="stream/49289ede-a66e-c436-839c-6141fd7f8f87" type="application/x-mpegURL" />

                        <p class="vjs-no-js">
                          To view this video please enable JavaScript, and consider upgrading to a
                          web browser that
                          <a href="https://videojs.com/html5-video-support/" target="_blank">supports HTML5 video</a>
                        </p>
                      </video>

При нажатии на миниатюру:

<script type="text/javascript">
    function changeImage(img){
      document.getElementById("stream-source").src = "stream/"+img.getAttribute("camID");
    }
</script>
Вернуться на верх