随着在线教学,远程会议的增多,业务对视频的留存和备份越来越重要,对于个人单向的直播,录制问题不大,简单并方便,但随着互动视频的增多,多方会议,视频设备的接入,桌面共享存录之类需求越来越多,把多种视频混录下来已经是一个比直播录制技术复杂N倍的技术问题,因此笔者针对多种录制的技术架构和方案分析难易和偏重,和实现方案比较分享给读者,让大家有一个全面的了解用使用。
录制方案简单分就是二种
1,服务器录制(服务端单录或混录)
服务端混录技术难度较高,录制效果好,存录简单,旁路直播方便,一般是针对mcu这种架构,给技术难题,给客户简单,给用户方便。
2,客户端录制(客户端混录,客户端桌面录制)
相对技术难度稍低,相对又分出几种录制区分方案
a,H5录制,业务系统不用改造,现在的webrtc技术相对成熟,在桌面共享录制,或页标签,桌面应用都可以,也可以做web直播(这个要服务器配套),技术难点在于音频混录,目前webrtc单独音频采集是麦克风,播放的声音采集是没有接口的,未来是不是会有类似接口,要看webrtc的发展啦,目前有二种变现实现方案,1,安装插件采录喇叭混声,2,安装虚拟声卡设备模拟麦给采录声音,这样就实现传统的混录效果,目前我们两种方案都有实施,也都能实现边录边直播,效果可以接受,适合给老系统改造增录制功能。
注意:如只是单录课件,web视频+桌面共享+直播不需要任何插件就可以实现(因为不要混录声音),这个是H5比任何系统都还方便,浏览器也要注意,桌面共享的免插件的api是chrome7.2以上才支持。
b,客户端录制,这个可用最新的ffmpeg之类直接改写一个录屏软件,也是可以接受,麻烦就是安装客户端,和现有系统粘合度稍低,也就是说做客户端还是能搞定很多事就是不太方便用。
我们知道传统多方视频互动,不外三种方案:
一、Mesh架构
即:每个端都与其它端互连。 因为流不经过服务器,所以服务器是没办法录制视频,只能客户端录,
二、MCU (MultiPoint Control Unit)
有技术能务优先考虑mcu架构的录播系统,这种不仅给客户简洁易用,而且存录方便,旁路直播也方便,最重要还省流量,我看过超过6方通话的sfu,200人看, 6路视频在有的客户端较卡,再加服务器流量200*6,想想比较费流量的。。
三、SFU(Selective Forwarding Unit)
类Mesh的架构,如在服务端录(只支持单录,就是每个通道单独录制),混录要做mcu服务,客户端录参考上面的端录方案说明
总结:
通过上面分析,对于视频的混录,教学混录,教学互动直播,新建最合适的架构是mcu,这样可以全面解决混录各种问题,方便用户应用。但对于老系统改录制,和平台升级,在端录上实施也是一种不错方案。笔记在参于实施的项目中都有使用。上面是一个项目的架构,测试都还不错,多方混录, webrtc视频多方互动低延0.5秒,旁路直播到各大平台可以上万并发观看延时在1-2秒。
演示测试:https://w.ovmeet.com:9301/login.html 其它架构也可以找笔记交流