没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。除了 Firefox 浏览器可以直接播放 RTSP 流之外,几乎没有其他浏览器可以直接播放 RTSP 流。Electron 应用是基于 Chromium 内核的,因此也不能直接播放 RTSP 流。 在借助一定工具的情况下,可以实现在 Web 页面上播放 RTSP 流。本文介绍的方法可以应用于传统 Web 应用和 Electron 应用中,唯一的区别是将 Electron 应用的主进程当作传统 Web 应用的服务器。 目前已有 RTSP 播放方案的对比 既然是做直播,就需要延迟较低。当摄像头掉线
资源推荐
资源详情
资源评论



















HTML5 播放播放 RTSP 视频的实例代码视频的实例代码
目前大多数网络摄像头都是通过 RTSP 协议传输视频流的,但是 HTML 并不标准支持 RTSP 流。除了 Firefox 浏览器可以直
接播放 RTSP 流之外,几乎没有其他浏览器可以直接播放 RTSP 流。Electron 应用是基于 Chromium 内核的,因此也不能直
接播放 RTSP 流。
在借助一定工具的情况下,可以实现在 Web 页面上播放 RTSP 流。本文介绍的方法可以应用于传统 Web 应用和 Electron 应
用中,唯一的区别是将 Electron 应用的主进程当作传统 Web 应用的服务器。
目前已有目前已有 RTSP 播放方案的对比播放方案的对比
既然是做直播,就需要延迟较低。当摄像头掉线时,也应当有一定的事件提示。处于这两点,对目前已有的已经实现、无需购
买许可证的 RTSP 播放方案进行对比(处于原理阶段的暂时不分析)。
我对这四种方式都进行了实现,整体效果最好的还是第4种方案,占用端口少,延迟低,渲染速度快,而且离线事件易于处
理。
基于基于 flv.js 的的 RTSP 播放方案播放方案
flv.js 是 Bilibili 开源的一款 HTML5 浏览器。依赖于 Media Source Extension 进行视频播放,视频通过 HTTP-FLV 或
WebSocket-FLV 协议传输,视频格式需要为 FLV 格式。
服务器端(主进程)服务器端(主进程)
服务器端采用 express + express-ws 框架进行编写,当有 HTTP 请求发送到指定的地址时,启动 ffmpeg 串流程序,直接将
RTSP 流封装成 FLV 格式的视频流,推送到指定的 WebSocket 响应流中。
import * as express from "express";
import * as expressWebSocket from "express-ws";
import ffmpeg from "fluent-ffmpeg";
import webSocketStream from "websocket-stream/stream";
import WebSocket from "websocket-stream";
import * as http from "http";
function localServer() {
let app = express();
app.use(express.static(__dirname));
expressWebSocket(app, null, {
perMessageDeflate: true
});
app.ws("/rtsp/:id/", rtspRequestHandle)
app.listen(8888);
console.log("express listened")
}
function rtspRequestHandle(ws, req) {
console.log("rtsp request handle");
const stream = webSocketStream(ws, {
binary: true,
browserBufferTimeout: 1000000
}, {
browserBufferTimeout: 1000000
});
let url = req.query.url;
console.log("rtsp url:", url);
console.log("rtsp params:", req.params);
try {
ffmpeg(url)
.addInputOption("-rtsp_transport", "tcp", "-buffer_size", "102400") // 这里可以添加一些 RTSP 优化的参数
.on("start", function () {
console.log(url, "Stream started.");
})
.on("codecData", function () {
console.log(url, "Stream codecData.")
// 摄像机在线处理
})
.on("error", function (err) {
console.log(url, "An error occured: ", err.message);
})
资源评论

- Rainbow-Ever2023-10-14感谢大佬分享的资源给了我灵感,果断支持!感谢分享~
- 莫凡的博客2023-08-22资源很赞,希望多一些这类资源。
- jinghongguang2025-03-13资源很好用,有较大的参考价值,资源不错,支持一下。
- a808050642023-07-17资源不错,内容挺好的,有一定的使用价值,值得借鉴,感谢分享。
- 2301_766788832023-07-28这个资源值得下载,资源内容详细全面,与描述一致,受益匪浅。

weixin_38735790
- 粉丝: 5
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助


最新资源
- 国家开放大学电大《桥梁工程技术》《医学生物化学》网络课形考网考作业(合集)答案.docx
- 企业发展战略咨询项目管理诊断报告.pptx
- 2023年单片机硬件知识点汇总.doc
- 无线物联网门禁系统方案.docx
- 项目管理和质量控制之开发过程控制.doc
- 信息化工作管理标准.doc
- 基于PLC-的小型冷库自动控制系统的研究及应用.doc
- MATLAB实现LDPC编码的无线通信系统性能分析与硬件验证
- MATLAB-PCA人脸识别算法.pdf
- 项目管理选择题.docx
- (单片机)锅炉温度PID控制系统设计.doc
- 基于OpenCV与Python的二维码生成与识别:图像算法、GUI界面及其实现
- 远程网络学习方法吉林初中数学8班一期主编姜红梅市公开课获奖课件省名师优质课赛课一等奖课件.ppt
- 数据仓库及数据挖掘专业技术第五章关联规则.pdf
- 网络营销知识之网络营销促销分析.docx
- 富媒体网络广告平台iCast实施方案.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈



安全验证
文档复制为VIP权益,开通VIP直接复制
