Web端與移動端接入螢石雲平臺的視頻數據

前言

因爲項目需要在Web和App上展示實時視頻流信息,所以之前做項目時嘗試了很多方法。有用vlc插件播放的(由於使用到了插件,所以安卓App、微信小程序都不能顯示視頻,最後也放棄了),也有使用海康威視Web開發包開發的。但是最簡單的是直接在Web端或App上接入螢石雲平臺的視頻流(不能看歷史數據,只能看實時的視頻,使用螢石雲平臺的雲存儲功能需要收費)。使用平臺提供的服務的前提是要購買螢石雲或者海康威視的設備。以下內容是我將螢石雲平臺官方文檔和自己實踐過程中遇到的問題的總結。官方文檔地址:https://open.ys7.com/doc/zh/book/index/live_proto.html

1. 直播接入指南
直播地址是螢石開放平臺爲用戶提供的最簡易視頻接入方式,不需要學習複雜的流媒體知識,不需要過硬的開發技術,只需要一個攝像頭,一個開發者賬號即可實現遠程觀看直播視頻。

1.1. 直播地址獲取
(1)註冊成爲開發者後登錄開放平臺官網(此賬號還可以登錄"螢石雲視頻"App),進入開發者服務-我的資源-我的設備中添加設備(需將設備連上網後進行添加),添加成功刷新頁面可以看到設備信息,如下圖:
 

 

2)可以下載一個"螢石雲視頻"App,註冊賬號後登錄就可以添加設備了,一般買到的螢石雲攝像頭底座都有一個二維碼,用App掃描添加就可以了。還有另一種方法是點擊上一個圖片中的"添加設備",填寫相應的數據。App添加更爲方便,而且在App上添加完設備後就可以直接查看到視頻流了。

 

 

(3)添加完設備後,平臺還不會提供服務,需要在"我的應用"中獲取測試AccessToken以及填寫相應信息後才能使用服務。

 

 

(4)完成上一步後,就可以在使用直播的服務了。App添加更爲方便,而且在App上添加完設備後就可以直接查看到視頻流了。此時要在App中將"視頻加密"關閉,不然視頻無法使用直播服務。設備添加完成後,可在"螢石雲視頻"App中進行設置。

 

(5)選擇一個設備點擊直播地址,進入直播地址設置頁面,不用擔心關閉加密會造成可能的危險,直播地址的安全可以設置有效期來控制,後面安全防盜方面會進行相應的介紹。關閉加密後就可以看到你的設備已經生成相應的直播地址了,如下圖:

(6)進入直播地址後可以獲取如下鏈接:

 

1.2. 簡單區分
HLS適用於移動端使用,可用微信直接打開,也可集成H5頁面嵌入到微信小程序或者微信公衆號中。

RTMP適用於PC網頁端使用,可用flash或者ckplayer等播放器嵌入網頁的方式播放,較HLS延遲小,更穩定。

注意:使用前先進行HLS播放測試,確認視頻可正常播放後再進行使用,無法播放的地址會展示錯誤提示,根據錯誤提示進行調整,若調整無法恢復可在工單系統中提問諮詢。

 

1.3. H5使用方法——HLS
螢石雲平臺提供了可直接使用的H5頁面,可快速生成設備HLS地址的H5直播頁面,啓用H5播放頁進行簡單配置即可使用,如下圖:

該H5頁面僅用於移動端展示,不能用於PC端網頁使用,但可以在PC網頁F12中看到源碼,有需要可以參考源碼實現自己的H5頁面。

注意:集成H5頁面的過程中請在真機(手機)上測試驗證,不支持模擬器調試。

 

1.4. Web使用方法——RTMP
Web頁面集成需要用戶先準備一個服務器,搭建網頁後將視頻按照下面介紹的方法接入即可播放。

下載UIKit JavaScript上傳服務器後解壓,然後進行如下頁面配置


簡單的視頻接入已經實現了,運行Web服務器即可體驗。完整示例可查看UIKit JavaScript。

播放器更多操作可以深入學習ckplayer配置(http://www.ckplayer.com/manualx/13.html)

若需要集成多個視頻創建多個播放器即可實現,但需要注意的是集成多個播放器需要注意單個播放器的長寬比例限制最小爲{width: 400px;height: 300px;}(chrome瀏覽器限制),小於這個大小時自動播放會失效。
 

1.5. 微信公衆號使用方法——HLS

在微信公衆號中嵌入H5頁面的方式來播放視頻,參考H5使用方法生成H5頁面後,拷貝地址到微信公衆號的跳轉頁面地址即可,具體操作如下:

 

 

可關注螢石開放平臺公衆號(微信號ez_open)進行體驗。

1.6. 微信小程序使用方法——HLS

小程序中的視頻只支持以小程序的原生組件接入,所以H5頁面的代碼並不適用於小程序,小程序只能使用video組件播放。

 

 

完整示例可見Video組件介紹(https://developers.weixin.qq.com/miniprogram/dev/component/video.html

注意:集成小程序的過程中請在真機(手機)上測試驗證,不支持模擬器調試。

 

1.7. 安全防盜
直播地址的特點是易於分享,但由於是標準協議,無法用於加密設備。所以螢石雲平臺提供了針對HLS直播地址的防盜方法(RTMP暫不支持)。這個方法需要用戶在服務器上生產帶有效期的直播地址,定時刷新供前端頁面使用。使用該接口可以讓用戶只獲取到指定5分鐘、10分鐘、1小時等有效的直播地址,過期後該地址將無法打開視頻,需要向商家獲取新的地址。接口調用邏輯:開通直播功能(新設備需開通直播)——獲取指定有效期的直播地址(https://open.ys7.com/doc/zh/book/index/address.html)

FAQ:
1. 直播地址是否可以進行錄像回放?

答:目前只能用於設備畫面的直播,回放技術正在預研中,敬請期待。

2. 播放測試報451不支持的碼流類型?

答:有如下兩種情況可能報該錯誤;1)部分海康攝像頭沒有子碼流,所以無法播放流暢的視頻,詳情可在海康官網查看指定型號的介紹。2)海康NVR的通道關聯失敗,無法通過NVR取到指定通道的視頻數據,一般爲IPC與NVR斷開連接導致。

3. 播放測試報452、454、501、503、544錯誤?

答:這類錯誤碼爲網絡錯誤,建議刷新重試,檢查設備與播放端網絡情況。

4. 直播報非H264編碼類型或有視頻但沒有聲音?

答:直播的視頻編碼類型僅支持H264,音頻編碼類型只支持AAC,可以修改設備配置來實現直播。編碼格式可以在螢石工作室-設備管理-局域網搜索到的設備-高級設置-圖像-視音頻編碼類型中修改-保存。注意:主碼流/子碼流/對應通道下的編碼類型都需要修改。
 

 

 

在項目中添加如下代碼代碼:

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章