背景說明
由於互聯網的飛速發展,傳統安防攝像頭的視頻監控直播與互聯網直播相結合是大勢所趨。傳統安防的直播大多在一個局域網內,在播放的客戶端上也是有所限制,一般都需要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>