html 播放mjpeg,在HTML5中渲染MJpeg流

本文介绍如何在网页中实现实时MJPEG流播放。针对原始JPEG图像流,需手动实现,而.MJPEG流则可通过浏览器直接处理。文章提供了一个使用jQuery的示例代码,通过不断更新图像的src属性来实现连续播放。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如果相机暴露原始JPEG图像(不是.MJPEG扩展名),您必须手动实现它(如果扩展名为.MJPEG,则浏览器将执行所有操作,只需输入正确的src)。如果你有.MJPEG并且想使用原始的.JPEG,请检查你的相机文件。大多数相机都公开.MJPEG和原始.JPEG流(仅在不同的URL上)。

不幸的是,你将无法轻松地通过Ajax获得的图像,但你可以定期改变图像的src。

您可以使用Date.getTime(),并把它添加到查询字符串强制浏览器重新加载图像,并且每次重复加载图像。

如果您使用jQuery的代码会是这个样子:

camera.html

ipCam

ipCam

user:%5Bemail%C2%A0protected%5D:8080

//Using jQuery for simplicity

$(document).ready(function() {

motionjpeg("#motionjpeg"); // Use the function on the image

});

motionjpeg.js

function motionjpeg(id) {

var image = $(id), src;

if (!image.length) return;

src = image.attr("src");

if (src.indexOf("?") < 0) {

image.attr("src", src + "?"); // must have querystring

}

image.on("load", function() {

// this cause the load event to be called "recursively"

this.src = this.src.replace(/\?[^\n]*$/, "?") +

(new Date()).getTime(); // 'this' refers to the image

});

}

注意我的例子将发挥MotionJPEG在页面加载时,但不会允许播放/暂停/停止功能

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值