SRS流媒体服务器实现webrtcrtmp推拉流
要做⼀个在浏览器推摄像头流,在服务端拉流并在后台处理再展⽰给前端的实时服务。
选择了SRS流媒体服务器。
⼆、配置⽹络端⼝打开(默认开通可跳过)
因为我的服务器是受安全组控制的,想要正常运⾏webrtc和rtmp的功能,⼀些需要开通的端⼝:
UDP_8000
TCP_1985
TCP_1935
TCP_8080
4578446dc1358de5ca96016acb921b9.png
f0e483c64e888f286e1c12c352a8681.png
四、原因就是浏览器要求使⽤webrtc时需要https
在⽹上搜索说配置浏览器的启动参数,这种⽅法试了不⾏。
"C:\Program Files (x86)\Google\Chrome\" --ignore-certificate-errors --allow-running-insecure-content --unsafely-treat-insecure-origin-as-secure="{ip}:8080"
webrtc浏览器采取的⽅案是配置⼀台Nginx,申请个免费的HTTPS证书,并配置转发:
4.1 安装Nginx
yum install -y nginx
4.3配置Nginx
053521adb88ef461aab611c01140234.png
上图前⾯是证书的配置,后⾯是SRS的转发配置:
说明:
所有通过HTTPS 443端⼝访问的转发到本地(Nginx服务器)8080端⼝;
其中,带rtc的转发到本地(Nginx服务器)1985端⼝
原因是:打开推流界⾯->⽹络,js发送了⼀个请求到服务器1985端⼝
908256a9b9cfb7f63645cb0f66f5dff.png
五、推拉流
⽤SRS⽹页的默认地址就可以正常webrtc推流了,拉流也⼀样。
或者使⽤rtmp拉webrtc推上去的流,再或者rtmp推流,webrtc拉流也可。