Pages - Menu

2021年11月27日 星期六

[SRS]srs 影音串流 on GKE

前言

首先介紹一下srs,這個就是一個影音串流,
本來是乖乖再用EFK on GKE,然後說網路有問題,
就又被抓去協助了


正文

這次主要是協助除錯,
所以下面就直接列出碰到的問題點。
由於我沒玩過直撥,有些概念是後來才知道的。
也會順便列在下面。

  1. webrtc推流時,出現 getUserMedia error

需要到chrome上面修改設定。

ref.解決 ‘GETUSERMEDIA’ OF UNDEFINED 問題

  1. rtmp 推拉

走TCP的協定
使用rtmp播放的話,所有的連線都會在伺服器上面留一份。

  1. webrtc播放

需要到srs 4.0.14以後的版本
有TCP跟 UDP的協定,
伺服器只負責對 直撥者跟觀看者做驗證,
webrtc,是直撥者跟觀看者直接連線,也就是點對點的連接方式。

ref. 何謂WebRTC

  1. 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的博客-程序員秘密

  1. 其他參考文件

當然最好的方式,是把裡面的文件大約掃過一下。
但這資料有點多,我也只挑了幾個重點看。


好像忘了把yaml放上來,

那個改天應該又另一篇了,

要講到k8s的 statefulSet...

ref.

沒有留言:

張貼留言