這段時間在研究webrtc,看了不少文章也算是能在局域網視頻,也加了些額外的基本功能,例如:靜音,揚聲器,切換攝像頭等等,可是在總感受在局域網內不(bu)太(neng)方(zhuang)便(bi),因此找朋友借了個阿里雲小水管,開始準備部署在雲服務器上。node
先放上局域網版1v1視頻:webrtcAndroidDemogit
谷歌有現成的免費的stun和turn服務器,可是本身要部署一套外網的比較麻煩,因此用的開源的coturn直接上手部署。 github
下載源碼web
git clone https://github.com/coturn/coturn.git
複製代碼
須要安裝openssl、event安全
yum install openssl openssl-devel libevent libevent-devel
複製代碼
安裝coturn服務器
cd coturn
./config
make
make install
複製代碼
使用which turnserver 有路徑則成功tcp
配置coturn文件測試
4.1 複製turnserver.confgoogle
cd /usr/local/etc
複製代碼
只有一個turnserver.conf.default一個文件,把這個咱們須要本身負責一份更名爲turnserver.conf (注意:必定要在這裏面加配置纔有效!!!) 使用命令:cp turnserver.conf.default turnserver.conf
阿里雲
4.2 添加用戶
使用命令:turnadmin -a –u 用戶名 -r shenzhen -p 密碼
4.3 生成openssl證書
openssl req -x509 -newkey rsa:2048 -keyout /etc/turn_server_pkey.pem -out /etc/turn_server_cert.pem -days 99999 –nodes
複製代碼
生成ssl cert和pkey記住這兩個生成的位置在/etc/下。
4.4 在turnserver.conf添加配置
listening-ip=#雲主機內網IP
listening-port=3478#默認3478
tls-listening-port=5349#默認5349
relay-ip=#雲主機內網ip
external-ip=#公網IP
lt-cred-mech
cert=/etc/turn_server_cert.pem #openssl證書路徑
pkey=/etc/turn_server_pkey.pem #openssl公鑰路徑
pidfile=」/var/run/turnserver.pid」
min-port=49152
max-port=65535
user=zjy:zjy123123 #帳號和密碼,也能夠是md5
複製代碼
4.5 最終一步(最坑一步)
若是是阿里雲的話須要去添加安全組,把3478端口的udp和tcp都要打開,不然無效!!!
上面所有配置完了,那麼恭喜你,能夠愉快的測試了,直接執行命令:turnserver -o -a -f
好了完事了,跑起來了。至於測試,打開google提供的trickle-ice,在裏面添加你的stun和turn地址,其實就是你公網ip+3478和5349兩個:
搞了好幾個小時才把這個部署完,其中大坑小坑一堆,最大的坑仍是這個端口沒開,這篇文章也算記錄下吧。