Как передавать потоки .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>