【疑難解決】國標GB28181協議視頻平臺EasyGBS視頻流RTSP地址,在VLC無法播放如何處理?

在以前的博文中,我們爲大家介紹過TSINGSEE青犀視頻雲-邊-端產品的演示平臺(EasyGBS平臺如何開啓“演示”模式),在演示模式下,用戶可以隨意切換界面,但是不能做添加或刪除等設置操作。

微信截圖_20201020103703.png

在EasyGBS演示模式下出現一個問題,就是點擊播放,分發出的視頻流,除RTSP協議外的都能在vlc正常播放,單RTSP協議視頻流無法播放。

29.png

30.png

可以看到VLC播放器一直在報錯“您的輸入無法被打開”,我們通過拆分rtsp地址發現無法播放是因爲在播放地址後面添加了token參數,去除後才能夠正常播放。

31.png

我們檢查代碼發現分發的播放地址在演示模式下都是添加了token參數的:

func wrapURLWithLiveToken(rawURL string, c *gin.Context) (wrapURL string) {
	wrapURL = rawURL
	if rawURL == "" {
		return
	}
	demo := conf.GetIniConf().Demo
	if !demo {
		return
	}
	_url, err := url.Parse(rawURL)
	if err != nil {
		return
	}
	q := _url.Query()
	token := utils.MD5(sessions.Default(c).ID() + rawURL)
	q.Set("token", token)
	_url.RawQuery = q.Encode()
	wrapURL = _url.String()
	liveTokenCache.SetDefault(token, wrapURL)
	return
}

因此我們需要修改返回的播放地址,將裏面的token全部去除。

data["RTSP"] = global.ReplaceHostIP(rtspURL, strings.Split(c.Request.Host, ":")[0])

修改過後返回正常:

33.png

EasyGBS國標視頻平臺可以提供RTSP、RTMP、FLV、HLS四種格式的視頻流進行播放,實現web瀏覽器、手機瀏覽器、微信、PC客戶端等各種終端無插件直播,並且對外提供服務器獲取狀態、信息,控制 HTTP API接口,用戶可以根據自身項目需求自由進行二次開發。

GBS10.png

TSINGSEE青犀視頻雲邊端架構視頻平臺均提供試用版本,歡迎大家聯繫我們獲取測試賬號進行測試。

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