モーション jpeg (mjpeg) ストリーム (ウェブカメラから) を html5 キャンバスにラップしようとしています。Safari と Chrome が mjpeg をネイティブにサポートしていることは知っているので、mjpeg を使用しimg
て動作させることができます。キャンバスでラップしたいのは、後処理をしたいからです。
私drawImage
は画像(および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>
ただし、mjpeg を画像として読み込むため、最初のフレームのみを表示します。ループに入れctx.drawImage(img, 0, 0)
てwhile (true)
も役に立ちません (驚くべきことではありません)。
それを機能させるにはいくつかのトリックが必要だと思いますが、まだグーグルで調べていますが、どちらの方向がより有望かはわかりません. ある程度最新のブラウザーでのみサポートされていても問題ありません。