docker部署SRS实时视频服务器,rtmp推流,用WebRTC播放

SRS是一个简单高效的实时视频服务器,支持RTMP/WebRTC/HLS/HTTP-FLV/SRT/GB28181

大家可以先去gitub上面看使用说明,地址是:v4_CN_Home · ossrs/srs Wiki · GitHub

然后我们通过docker去启动SRS,这些文档里面都有,就不用多说了,然后我们可以用rtmp推流

用WebRTC播放,首先要支持WebRTC我们需要修改配置docker.conf

 rtc {
        enabled     on;
        rtmp_to_rtc on;
        rtc_to_rtmp on;
        nack on;
        twcc on;
}

然后还需要修改

candidate $CANDIDATE

只要candidate配置不对,一定会出问题,没有其他可能,是一定会出问题。

其实,candidate就是服务器的候选地址,客户端可以连接的地址ip:port

然后有如下几种配置

  • 直接配置成固定的IP,比如:candidate 192.168.3.6;
  • 用命令ifconfig获取本机的内网IP,通过环境变量传递给SRS,比如:candidate $CANDIDATE;
  • 自动获取,先读取环境变量,然后获取本机网卡的IP,比如:candidate *;
  • 在url中通过?eip=x指定,比如:webrtc://192.168.3.6/live/livestream?eip=192.168.3.6

这些在官网文档里面都有,大家可以去看,我只是给大家画出关键几步

 这些都改完后,还有一个很重要的问题需要注意,切记切记,

来到docker-compose.yml文件 需要开放WebRTC8000的端口号,对外暴露的端口号千万不能改

一定也要对应8000,其余的rtmp的1935,http的1985,SRT的10080对外暴露的端口号怎么改都行,想映射多少都可以,我开始就是因为8000对外的端口改成了别的,就一直不能播放,现在配置文件改完,一切准备就绪,重新部署就好了,

 我们可以用OBS去推流,用你的部署的服务器的ip+rtmp对外映射端口开始推流,到SRS去播放

播放的时候是用你的服务器ip+http端口号1985的对外暴露端口播放,我的就是ip+8635,这样WebRTC就可以正常播放了。

学习记录。

猜你喜欢

转载自blog.csdn.net/m0_61367109/article/details/124959985