RTMP/RTSP流媒体服务器RTMP推流服务器EasyDSS报"no compatible source was found for this media"问题解决方案

背景说明

由于互联网的飞速发展,传统安防摄像头的视频监控直播与互联网直播相结合是大势所趋。传统安防的直播大多在一个局域网内,在播放的客户端上也是有所限制,一般都需要OCX Web插件进行直播。对于安防监控的视频直播需求,根据不同的业务需求,对视频直播需求也不尽相同。针对这样的行业大环境背景,我们推出了EasyNVR、EasyDSS等解决方案。

EasyDSS

服务器报错无法播放问题

在EasyDSS流媒体服务器的用户反馈中,我们时常会遇到同一个问题的反馈,即在chrome谷歌浏览器中经常会出现RTMP/HLS流无法播放的问题,如下图:

EasyDSS

分析问题

分析问题可知,因为chrome禁止了flash的加载,这也从另一个角度反应了H5势在必行,各家浏览器对flash的支持也越来越严苛了:

EasyDSS

解决问题

在这一问题的处理中我们只要在加载中将flash插件支持加上就可以了。

实际上,如今的各大视频网站基本上都采用自动检测的方法,前端都会自动加上flash检测的功能,如果flash没安装,就会跳转到flash下载的页面上,于是后续的EasyDSS前端也采用了这种方式,很好滴解决了“no compatible source was found for this media”问题的出现,很少再会出现此类报错。以企鹅直播为例,腾讯做到了专门对这种flash被异常禁用的情况的提示:

EasyDSS

从上面可以看到,优秀的前端做了几部分的工作:

  • 提示flash无法被启用;
  • 点击flash会提示插件弹出被禁止;

基于以上参考,我们在EasyDSS的videojs调用flash过程加了代码,当flash被禁用的时候,提示flash未安装或者被禁用:

EasyDSS

参考代码:

<!-- 实际上, 只要将提示信息外包一个链接到 http://www.adobe.com/go/getflashplayer 浏览器就会在地>址栏右侧提示开启Flash插件 

<a href='http://www.adobe.com/go/getflashplayer' target='_blank'>    
	你的浏览器没有安装或开启Flash   
</a>   

EasyDSS 

发布了69 篇原创文章 · 获赞 9 · 访问量 9433

猜你喜欢

转载自blog.csdn.net/EasyDSS/article/details/103405117