检查运动 jpeg 流

问题描述 投票:0回答:1

有什么方法可以使用 JavaScript 或 jQuery 检查 Motion JPEG 流是否打开/工作/发送图像?

javascript jquery mjpeg
1个回答
0
投票

检查定期更改的图像字节校验和。当然,这不是最好的解决方案,但可能会有所帮助。

<img id="video" src="http://192.168.1.60:81/stream" />

<script type="text/javascript">
setInterval(checkStream, 1000);

function getImageData() {
    var c = document.createElement('canvas');
    var img = document.getElementById('video');
    c.width = img.width;
    c.height = img.height;
    var ctx = c.getContext('2d');
    ctx.drawImage(img, 0, 0);
    return ctx.getImageData(0, 0, c.width, c.height);
}

var checkSum = null;

function checkStream() {
    var data = getImageData();
    var newCheckSum = calcChecksum(data.data);
    if (checkSum == null) {
        checkSum = newCheckSum;
    } else {
        if (checkSum == newCheckSum) {
            alert('stall');
        } else {
            checkSum = newCheckSum;
        }
    }
}

function calcChecksum(bytes) {
    var sum = 0;
    for (var index = 0; index < bytes.length; index++) {
        sum ^= bytes[index];
    }
    return sum;
}
© www.soinside.com 2019 - 2024. All rights reserved.