上图是最后一个RTC的典型场景:多人通话,或者多人会议。多个客户端通过SRS交流,我们体验了下延迟很低,效果很好,国内网络很好。
如果没看过之前的文章,一定要看下,这样才不会懵逼。多人通话涉及的内容很多,前面的文章是基础:
- 直播和RTC的互相转换《劳动节之一:SRS中RTC基于流的场景应用,RTC和RTMP流互相转换》
- 常用的一对一通话《劳动节之二:如何用SRS搭建一对一通话,直播和RTC一体化的SFU来了》
- 如何做连麦《劳动节之三:用SRS FFmpeg/OBS做直播连麦》
如何搭建环境,操作步骤,可以点文章末尾的阅读原文。
多人通话
先看疗效:
上图是赵委员和敏总,没有开美颜怕大家不高兴,所以就打码了。在线的DEMO可以访问官网( https://ossrs.net ),多个人在浏览器打开链接就可以入会了,如下图所示:
多人通话和一对一通话,对于SRS来说,本质上没有区别,只是流会更多,每个流SRS都会转成RTMP流,可以单独录制和直播,也可以合流后直播。
视频号直播
上一篇文章《劳动节之三:用SRS FFmpeg/OBS做直播连麦》只介绍了可以将会议转直播,其实只要有了RTMP流就可以推给视频号做直播了,但是为了某些朋友,所以还是补充下最后一步,先看疗效吧:
这是一对一通话,使用FFmpeg推流到视频号。首先,要在视频号小助手开启直播,获取推流地址和密钥,如下图所示:
然后将推流地址和密钥,写到一对一通话的DEMO中,就可以生成FFmpeg合流和推流的命令了:
拷贝并执行FFmpeg命令,就可以看到视频号有流了。
其他
多人会议也可以用FFmpeg命令合流,由于流比较多,布局很难计算,就没有在Demo中给出命令了。如果要操作比较简单,可以用OBS直接抓窗口;如果觉得DEMO的默认画面不合意,可以自己改下DEMO,把窗口叠加下,或者变成一大三小的演讲者模式。
关于会议和连麦的录制,转成RTMP后就可以录制了,和直播录制一样,就不单独演示了。
我还特别想做一个演示,就是摄像头入会,即监控摄像头通过GB28181推流到SRS,然后转成RTMP和RTC。由于目前GB是直接转RTMP了,没有走DEMO的信令,还需要做一些修改,如果有这种场景可以评论区留言。
未来,还会有更多的场景化的DEMO出来,比如响总一直在提的Insertable Stream,Headless Chrome,WebTransport等等,如果感兴趣可以评论区留言。