隨着在線教學,遠程會議的增多,業務對視頻的留存和備份愈來愈重要,對於我的單向的直播,錄製問題不大,簡單並方便,但隨着互動視頻的增多,多方會議,視頻設備的接入,桌面共享存錄之類需求愈來愈多,把多種視頻混錄下來已是一個比直播錄製技術複雜N倍的技術問題,所以筆者針對多種錄製的技術架構和方案分析難易和偏重,和實現方案比較分享給讀者,讓你們有一個全面的瞭解用使用。html
錄製方案簡單分就是二種web
1,服務器錄製(服務端單錄或混錄)chrome
服務端混錄技術難度較高,錄製效果好,存錄簡單,旁路直播方便,通常是針對mcu這種架構,給技術難題,給客戶簡單,給用戶方便。api
2,客戶端錄製(客戶端混錄,客戶端桌面錄製)瀏覽器
相對技術難度稍低,相對又分出幾種錄製區分方案服務器
a,H5錄製,業務系統不用改造,如今的webrtc技術相對成熟,在桌面共享錄製,或頁標籤,桌面應用均可以,也能夠作web直播(這個要服務器配套),技術難點在於音頻混錄,目前webrtc單獨音頻採集是麥克風,播放的聲音採集是沒有接口的,將來是否是會有相似接口,要看webrtc的發展啦,目前有二種變現實現方案,1,安裝插件採錄喇叭混聲,2,安裝虛擬聲卡設備模擬麥給採錄聲音,這樣就實現傳統的混錄效果,目前咱們兩種方案都有實施,也都能實現邊錄邊直播,效果能夠接受,適合給老系統改造增錄製功能。架構
注意:如只是單錄課件,web視頻+桌面共享+直播不須要任何插件就能夠實現(由於不要混錄聲音),這個是H5比任何系統都還方便,瀏覽器也要注意,桌面共享的免插件的api是chrome7.2以上才支持。併發
b,客戶端錄製,這個可用最新的ffmpeg之類直接改寫一個錄屏軟件,也是能夠接受,麻煩就是安裝客戶端,和現有系統粘合度稍低,也就是說作客戶端仍是能搞定不少事就是不太方便用。測試
咱們知道傳統多方視頻互動,不外三種方案:spa
1、Mesh架構
即:每一個端都與其它端互連。 由於流不通過服務器,因此服務器是沒辦法錄製視頻,只能客戶端錄,
2、MCU (MultiPoint Control Unit)
有技術能務優先考慮mcu架構的錄播系統,這種不只給客戶簡潔易用,並且存錄方便,旁路直播也方便,最重要還省流量,我看過超過6方通話的sfu,200人看, 6路視頻在有的客戶端較卡,再加服務器流量200*6,想一想比較費流量的。。
3、SFU(Selective Forwarding Unit)
類Mesh的架構,如在服務端錄(只支持單錄,就是每一個通道單獨錄製),混錄要作mcu服務,客戶端錄參考上面的端錄方案說明
總結:
經過上面分析,對於視頻的混錄,教學混錄,教學互動直播,新建最合適的架構是mcu,這樣能夠全面解決混錄各類問題,方便用戶應用。但對於老系統改錄製,和平臺升級,在端錄上實施也是一種不錯方案。筆記在參於實施的項目中都有使用。上面是一個項目的架構,測試都還不錯,多方混錄, webrtc視頻多方互動低延0.5秒,旁路直播到各大平臺能夠上萬併發觀看延時在1-2秒。
演示測試:https://w.ovmeet.com:9301/login.html 其它架構也能夠找筆記交流