标准 WebRTC 接入过程会有各种限制:
它不支持直播中常用音频 AAC 编码和 44.1k 采样率。
其它不支持视频 B 帧、H265等编码特性,多 slice 编码在弱网下也会花屏。
WebRTC 建联过程耗时过长,会影响秒开体验。
如果用p2p的模式无法是实现多人直播业务,所以应当一路采集推送服务器,多路拉取,采集推送和拉取都使用webrtc协议。目前开源的主流webrtc媒体服务器如下:
Kurento(https://github.com/Kurento/kurento-media-server)licode(https://github.com/lynckia/licode)janus(https://github.com/meetecho/janus-gateway)
注意以上所说的采集端和拉区端都不能是在Chrome上开发,Chrome能承受的性能有限,多余十个人以上就会崩。
Stun/turn服务器可以采用coturn(https://github.com/coturn/coturn),服务器验证方式可以参考这里(https://webrtc.github.io/samples/src/content/peerconnection/trickle-ice/)。
在srs中有个配置文件是rtc2rtmp.conf,其中8000端口默认是udp端口。