前言
首先介紹一下srs,這個就是一個影音串流,
本來是乖乖再用EFK on GKE,然後說網路有問題,
就又被抓去協助了
正文
這次主要是協助除錯,
所以下面就直接列出碰到的問題點。
由於我沒玩過直撥,有些概念是後來才知道的。
也會順便列在下面。
- webrtc推流時,出現 getUserMedia error
需要到chrome上面修改設定。
ref.解決 ‘GETUSERMEDIA’ OF UNDEFINED 問題
- rtmp 推拉
走TCP的協定
使用rtmp播放的話,所有的連線都會在伺服器上面留一份。
- webrtc播放
需要到srs 4.0.14以後的版本
有TCP跟 UDP的協定,
伺服器只負責對 直撥者跟觀看者做驗證,
webrtc,是直撥者跟觀看者直接連線,也就是點對點的連接方式。
ref. 何謂WebRTC
- webrtc觀看方式
也是這一部分的網路架構,導致我不得不跳下去協助處理。
因為GKE的service 負載平衡目前還不支援混合的網路架構,
也就是TCP跟 UDP 混合使用。只能使用單一個協定。
所以沒辦法像傳統機器一樣,直接一個ip,同時開啟TCP跟UDP的網路協定。
所以會變成 TCP 一個IP,UDP又是一個IP(fig.1),
此時在SRS上面的 Candidate ,必須要設定 *
然後再推流的時候,推流網址要更改成
webrtc://35.2.3.1/live/ray123?eip=35.3.3.50
35.2.3.1 是 只開TCP的外網位置。
35.3.3.50 是 只開UDP的外網位置。
ref.
v4_CN_WebRTC
[SRS+docker]實現直播服務器 3 基於webRTC協議的srs低延遲直播研究_wltsysterm的博客-程序員秘密
- 其他參考文件
當然最好的方式,是把裡面的文件大約掃過一下。
但這資料有點多,我也只挑了幾個重點看。
好像忘了把yaml放上來,
那個改天應該又另一篇了,
要講到k8s的 statefulSet...
ref.
0 意見:
張貼留言