目前web浏览器播放rtsp视频流,h5播放rtmp监控方案比较,代码测试

news2024/11/29 5:28:42

在web上实现播放rtsp/rtmp视频流,由于浏览器不 能自定义协议,不能直接播放,市面上充满各种方案,鱼龙混杂,主要方案有两种:

1,浏览器插件方案,vlc浏览器控件(已过期,只支持老版本),flash控件(已淘态),控件这种一般仅在pc上支持,其它移动平台一般用不了,应用上如要安装控件,客户端使用更理想,这种方案般不推荐。

2,中间服务器方案,为了解决Web端播放RTSP视频流的问题,我们可以采用一种中间服务器的方式。

a,使用RTSP转换为HTTP流:可以使用服务器端的转码工具将RTSP流转换为HTTP流,然后通过常规的HTML5视频播放器进行播放。这种方法需要在服务器上进行转码处理,可以使用FFmpeg等工具进行转换。

b,使用WebRTC技术:WebRTC是一种支持浏览器之间实时通信的开放标准,可以用于在Web上播放实时流媒体。通过使用WebRTC技术,可以将RTSP流转换为WebRTC流,然后在支持WebRTC的浏览器中进行播放。

c,使用流媒体服务器:搭建一个流媒体服务器,将RTSP流推送到服务器上,然后通过HTTP或其他协议在Web上进行播放。常见的流媒体服务器包括Nginx-rtmp、Wowza Streaming Engine等。

d,使用第三方云服务:一些云服务提供商提供了直接在Web上播放RTSP流的解决方案。用户可以将RTSP流上传到云端,然后通过云服务商提供的API或工具进行播放。

方案测试:经过多轮比较发现还是github方案ovsyunlive最为简洁,代码集成简单

下载运行ovsyunlive程序:http://m.ovmeet.com:7701/play/

代码集成:参考play/demo.html代码,网页嵌入ovplayer.min.js,指定ovsyunlive服务器地址,播放rtsp/rtmp流。

<script src="ovplayer.min.js" ></script>
<script>        
 this.ovplayer=null;
	window.onload  = function() {
             
            var port=":7701";
            if(window.location.protocol=='https:'){
                port=":7702";
            }
            //ovsyunlive运行的服务地址 
            var srvurl=window.location.hostname;
            this.ovplayer = new OvPlayer("video", window.location.protocol+"//"+srvurl+port);
			 //rtsp视频地址
			 ovplayer.connect("rtsp://196.21.92.82/axis-media/media.amp"); 
			 
	}
window.onbeforeunload = function() { this.ovplayer.disconnect() }
</script>

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2215904.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

远翔原厂芯片设计开发软件:降压恒流共阳极无频闪调光芯片FP7126/7127/7128,舞台灯磁吸轨道灯智能家居应用方案

FP7126 FP7127 FP7128是平均电流模式控制的 LED 驱动 IC&#xff0c;具有稳定输出恒流的能力&#xff0c;优秀的负载调整率与高精度的电流控制。不用额外增加外部补偿元件&#xff0c;简化 PCB 板设计。FP7126 FP7127 FP7128可接受 PWM 数位调光&#xff0c;建议调光频率 0.1kH…

事务使用方法

为什么需要事务&#xff1a; 示例&#xff1a; 银行转账问题 假定资金从账户A转到账户B&#xff0c;至少需要两步 账户A的资金减少 然后账户B的资金相应增加。 示例 假定张三的账户有1000元&#xff0c;李四账户有1元 UPDATE bank set moneymoney-500 WHERE name张三; UPDA…

以价换量,豆包血拼AI的商业考量

“ 借豆包AI推出智能耳机&#xff0c;字节跳动再战智能硬件&#xff0c;仍面临研发、营销成本高企和商业模式不明确的挑战&#xff0c;这一新尝试充满变数。 ” 转载&#xff1a; 科技新知 原创 作者丨颜瞾 编辑丨蕨影 没有哪个赛道&…

I\O进程线程(Day27)

一、学习内容 IO基础 概念 程序与外部设备进行交换的信息过程 分类 标准IO 封装好的相关库函数、有缓冲区、文件指针eg&#xff1a;fprintf、fscanf、fputc、fgetc、fputs、fgets、fopen、fclose... 操作流程 FILE *fp通过fopen打开文件 使用fprintf、fputc、fputs、fwrite把在…

【Linux】Linux进程概念

冯诺依曼体系结构 我们常见的计算机&#xff0c;如笔记本。我们不常见的计算机&#xff0c;如服务器&#xff0c;大部分都遵守冯诺依曼体系。 截至目前&#xff0c;我们所认识的计算机&#xff0c;都是有一个个的硬件组件组成&#xff0c; 输入单元&#xff1a;包括键盘 , 鼠…

选GB28181还是RTSP?

好多开发者&#xff0c;搞不清楚什么时候用GB28181&#xff0c;什么时候用RTSP&#xff0c;本文就二者使用场景和区别&#xff0c;做个大概的探讨&#xff1a; 定义与性质&#xff1a; GB28181&#xff1a;是中国国家标准&#xff0c;全称为《公共安全视频监控联网系统信息传输…

安科瑞诚邀您参加2024新加坡亚洲数据中心展

Exhibition Time: October 09-10, 2024 展览时间&#xff1a;2024年10月09日-10日 Exhibition Hall: Sands Expo & Convention Center 展览馆&#xff1a;Sands Expo & Convention Center Exhibition Number: BASEMENT2-L16 展览号&#xff1a;BASEMENT2-L16 Add…

文献阅读(222) VVQ协议死锁

题目&#xff1a;VVQ: Virtualizing Virtual Channel for Cost-Efficient Protocol Deadlock Avoidance时间&#xff1a;2023会议&#xff1a;HPCA研究机构&#xff1a;KAIST request-reply协议死锁如下图所示&#xff0c;每个node收到request之后发送reply&#xff0c;但是想…

2020-11-06《04丨人工智能时代,新的职业机会在哪里?》

《香帅中国财富报告25讲》 04丨人工智能时代&#xff0c;新的职业机会在哪里&#xff1f; 1、新机会的三个诞生方向 前两讲我们都在说&#xff0c;人工智能的出现会极大地冲击现有的职业&#xff0c;从2020年开始&#xff0c;未来一二十年&#xff0c;可能有一半以上的职业都会…

人工智能与生活:探索科技未来的无限可能性

随着科技的不断进步&#xff0c;人工智能已经成为了我们日常生活中不可或缺的一部分。从智能手机到智能家居&#xff0c;从自动驾驶汽车到医疗诊断&#xff0c;人工智能已经渗透到了我们的方方面面。在这篇文章中&#xff0c;我们将从不同的角度探讨人工智能与生活的联系&#…

A股异动与IP数据地址关联分析

最近A股经历了一些显著的移动。在2024年10月9号&#xff0c;A股三大指数大幅下跌&#xff0c;沪指、深成指、和创业板指分别下跌6.62%、8.15%和10.59%。市场的复杂性和不确定性明显&#xff0c;也由此给我们提供了从IP数据地址角度进行分析的机会。 从市场的基本面来看&#xf…

windows10系统-设置账户密码有效期

操作系统: windows10 .a.打开windows10用户管理界面 windows R -> 输入 gpedit.msc ->确定 如下图所示; .b.点击Windows设置->安全设置->账户策略->密码策略 .c.选中密码最长有效期限&#xff0c;修改即可。 修改后示例如下 关于第一条&#xff1a;密码必须符…

Jmeter脚本录制、Badboy脚本录制

目录 Jmeter脚本录制 Badboy脚本录制 Jmeter脚本录制 1、首先添加一个http测试脚本记录器 2、选择目标控制器&#xff0c;把录制的内容放到的地方 3、分组&#xff0c;就是在录制的时候&#xff0c;每一步操作之间间隔方式&#xff0c;根据自己需要进行选择 4、开启浏览…

网站服务器监控:Lighttpd指标解读

监控易是一款功能强大的IT监控软件&#xff0c;它提供了全面的应用和业务监控解决方案&#xff0c;帮助用户实时监控各类IT资源和应用的状态&#xff0c;确保业务的连续性和稳定性。在网站服务器监控方面&#xff0c;监控易特别针对Lighttpd服务器进行了深入的监测&#xff0c;…

专利开放许可与知识产权保护的关系是什么?

专利开放许可在一定程度上是对知识产权保护制度的补充和拓展。知识产权保护的核心目标是鼓励创新&#xff0c;通过赋予专利所有者一定期限内的独占权&#xff0c;使其能够从创新成果中获得经济回报&#xff0c;从而激励更多的创新投入。 专利开放许可则为专利的应用和传播提供了…

C++17中的常用文件操作std::filesystem::directory_iterator【注意事项】

目录 疑问 代码 结果 疑问 怎么用呢&#xff1f;constauto& entry : std::filesystem::directory_iterator(mainFolderPath)中&#xff0c;entry 表示的是什么呢&#xff1f;是mainFolderPath里的文件夹名字吗&#xff1f;还是路径呢&#xff1f;【答案是路径】。我们打…

12 项 ECMAScript 提案的最新进展!

大家好&#xff0c;我是 ConardLi。 近日&#xff0c;ECMA 国际技术委员会 39&#xff08;TC39&#xff09;在东京召开了第 104 次大会&#xff0c;讨论了多项 ECMAScript&#xff08;JavaScript&#xff09;提案的进展情况&#xff0c;批准了其中多项提案进入下一个阶段。 「…

优选算法第一讲:双指针模块

优选算法第一讲&#xff1a;双指针模块 1.移动零2.复写零3.快乐数4.盛最多水的容器5.有效三角形的个数6.查找总价格为目标值的两个商品7.三数之和8.四数之和 1.移动零 链接: 移动零 下面是一个画图&#xff0c;其中&#xff0c;绿色部分标出的是重点&#xff1a; 代码实现&am…

技术速递|VS Code Java 9月更新 - 大量 Spring 更新!Gradle 功能优化

作者&#xff1a;Nick Zhu 排版&#xff1a;Alan Wang 大家好&#xff0c;欢迎来到 Visual Studio Code for Java 的九月更新&#xff01;在本篇博客中&#xff0c;我们将介绍一些重要的 Spring 功能更新和 Gradle 增强功能&#xff0c;让我们开始吧&#xff01; Spring 更新 …

深入理解Java并发读写锁——ReentrantReadWriteLock

ReentrantReadWriteLock使用场景 ReentrantReadWriteLock 是 Java 的一种读写锁&#xff0c;它允许多个读线程同时访问&#xff0c;但只允许一个写线程访问&#xff08;会阻塞所有的读写线程&#xff09;。这种锁的设计可以提高性能&#xff0c;特别是在读操作的数量远远超过写…