Próbuję zawinąć ruch strumienia jpeg (mjpeg) (z kamery internetowej) na płótno html5. Wiem, że Safari i Chrome mają natywne wsparcie dla mjpeg, więc mogę je umieścić w img
, aby działało. Powodem, dla którego chcę go zawinąć na płótnie, jest to, że chcę na nim trochę przetworzyć.Ruch jpeg w html5 canvas
Wiem, że można używać drawImage
aby załadować obraz (i MJPEG):
<html>
<body>
<canvas id='test_canvas' width='640px' height='480px' style='border:1px solid #d3d3d3'>
</canvas>
<script language="JavaScript">
var ctx = document.getElementById('test_canvas').getContext('2d');
var img = new Image();
img.onload = function() {
ctx.drawImage(img, 0, 0);
};
var theDate = new Date();
img.src = "http://some.video.stream.edu/axis-cgi/mjpg/video.cgi?";
</script>
</body>
</html>
jednak załadować MJPEG jako obraz tak tylko wyświetlić pierwszą klatkę. Wstawianie ctx.drawImage(img, 0, 0)
do pętli while (true)
również nie pomaga (co nie jest zaskakujące).
Myślę, że powinny istnieć pewne sztuczki, które sprawią, że zadziała, wciąż googlując, po prostu nie wiedząc, który kierunek jest bardziej obiecujący. Jest w porządku, aby być obsługiwanym tylko przez niektóre rozsądnie nowoczesne przeglądarki.
Co postu masz planował zrobić? – jazzytomato
Niektóre proste algorytmy widzenia, takie jak wykrywanie ruchu. – clwen