zoukankan      html  css  js  c++  java
  • 高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器RTMP推流服务器EasyDSS报"no compatible source was found for this media"问题解决方案

    背景说明

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

    服务器报错无法播放问题

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

    分析问题

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

    解决问题

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

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

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

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

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

    参考代码:

    <!-- 实际上, 只要将提示信息外包一个链接到 http://www.adobe.com/go/getflashplayer 浏览器就会在地>址栏右侧提示开启Flash插件 
    
    <a href='http://www.adobe.com/go/getflashplayer' target='_blank'>    
    	你的浏览器没有安装或开启Flash   
    </a>   
    

  • 相关阅读:
    Codeforces 1368F
    Codeforces 1364C
    Hiho1422 Harmonic Matrix Counter (高斯消元)
    Codeforces 19D
    P3164 [CQOI2014]和谐矩阵(高斯消元 + bitset)
    P4254 [JSOI2008]Blue Mary开公司 (李超树)
    P4755 Beautiful Pair (分治 + 主席树)
    P4587 [FJOI2016]神秘数(主席树)
    分布式锁实现,与分布式定时任务
    redis应用场景,缓存的各种问题
  • 原文地址:https://www.cnblogs.com/easydss/p/11989309.html
Copyright © 2011-2022 走看看