之前我們講過EasyDSS視頻智能直播點播平臺在演示模式下登錄5分鐘後強制跳轉登錄頁的實現過程,大家也可以去了解一下。EasyDSS視頻平臺界面可以播放ws-flv、flv、hls三種格式的視頻流。
由於ws-flv視頻流的播放是近期更新後新增的功能,因此在做EasyDSS視頻平臺演示模式登錄機制的時候,需要格外注意到ws-flv格式的兼容。如何在EasyDSS演示模式下播放ws_flv三分鐘之後跳轉到登錄頁面?我們本文和大家分享一下。
在調整之前,如果在EasyDSS內打開ws_flv播放頁面的話,會一直播放視頻,不會自動關閉,造成了很大的流量浪費。
因爲ws_flv是通過websocket進行通信連接的,WebSocket是一種在單個TCP連接上進行全雙工通信的協議,所以在三分鐘一到往websocket通道里面寫入一個前端可以識別的字段,之後前端獲得字段信息,進行跳轉到登錄頁面。
if dao.SYSConfig().Demo {
if demoTime.Before(time.Now()) {
log.Println("Demo mode timeout")
err = ws.WriteMessage(websocket.BinaryMessage, []byte("Unauthorized"))
if err != nil {
log.Println(err)
return
}
c.AbortWithStatusJSON(http.StatusGone, consts.MsgErrorUnauthorized)
return
}
}
在EasyDSS支持ws-flv之前,僅能播放http-flv格式視頻流,爲了更好的節省服務器資源和帶寬,並且能夠更實時地進行通訊,我們將WebSocket協議應用了起來,與HTTP不同的是,Websocket需要先創建連接,這就使得其成爲一種有狀態的協議,之後通信時可以省略部分狀態信息。
EasyDSS視頻平臺作爲支持RTMP協議的視頻流媒體轉碼分發服務,功能完備,如果大家想了解更多關於EasyDSS相關的內容,歡迎聯繫我們或者訪問TSINGSEE青犀視頻官方網站。