硬件視頻會議和軟件視頻會議的優(yōu)缺點
視頻會議經過幾十年的發(fā)展,現(xiàn)在分成兩大類,一種是硬件視頻會議,一種軟件視頻會議,硬件視頻會議效果很好,成本也很高,軟件視頻會議彌補了這些問題,但是效果要稍差一些。軟件視頻會議才是比較大眾化的產品。
編碼環(huán)節(jié)
編碼是為了讓視頻變得更小,更有利于存儲和傳輸。
H.264/MPEG-4 AVC 是目前應用最為廣泛的視頻編碼標準,下一代的 H.265/HEVC 因為專利費高等問題,還未能普及;
VP8 是一種視頻編碼格式。Google 收購其研發(fā)公司后,將其以開放源代碼、無需授權費用的形式發(fā)布。VP8 的下一代是 VP9,是 H.265/HEVC 的競爭者;
網頁瀏覽器對這幾種編碼的支持程度為 H.264 > VP8 > VP9 > H.265;
從目前情況看,Google 主推 VP9,蘋果主推 H.265。
封裝
就是用一個容器把編碼器生成的多媒體內容(視頻、音頻、字幕、章節(jié)信息等)裝在一起。
常見的封裝格式包括:
MP4:ISO/IEC 制定的容器格式標準,支持多種方式編碼后的數(shù)據(jù),但最常見的是 H.264/H.265 編碼的視頻和 AAC 編碼的音頻;
WebM:Google 基于開源容器格式 Matroska(.mkv)開發(fā)的新型容器格式。目的是用來封裝 VP8/VP9 編碼的視頻和 Vorbis 編碼的音頻以供網絡媒體使用;
FLV:Adobe公司推出的流媒體格式,廣泛應用于視頻網站。
幾種常見推流協(xié)議剖析
RTMP
Adobe 公司為 Flash/AIR 與服務器之間傳輸音視頻數(shù)據(jù)而開發(fā)的私有協(xié)議,也是目前主流的推流協(xié)議。
優(yōu)點:基于 TCP,延時低,通常只有 1~3s ;技術成熟,配套完善。
缺點:在 PC 瀏覽器中只能通過 Flash 使用,且無法在移動瀏覽器使用。
Flash 即將和世界說再見,所以在網頁播放端基本不會以 RTMP 拉流。
HTTP-FLV
把音視頻數(shù)據(jù)封裝成 FLV,然后通過 HTTP 連接傳輸,與 RTMP 相比只是傳輸協(xié)議變了。對于網頁播放端,本來還是需要 Flash 才能播放,但「flv.js」的出現(xiàn)又彌補了這個缺陷。
優(yōu)點:低延時,與 RTMP 非常接近;相較于 RTMP 協(xié)議,能有效避免防火墻和代理的影響。
缺點:它的傳輸特性,會讓流媒體資源緩存在本地客戶端,在保密性方面不夠好;仍然不兼容 iOS 的瀏覽器。
HLS
蘋果公司提出的基于 HTTP 的流媒體網絡傳輸協(xié)議。它的工作原理是把整個流分成一個個小的 TS 片傳輸,每次只傳輸一部分。
優(yōu)點:基于 HTTP 協(xié)議,接入 CDN 較為容易,且自帶多碼率自適應。作為蘋果提出的協(xié)議,在 macOS/iOS 下有極大優(yōu)勢,Android 中也提供了對應的支持。
缺點:延時較大,通常不低于 10s 。大量 TS 片文件,會造成服務器存儲和請求的壓力。
WebRTC
在不同的上下文中有不同的含義,它可以表示:Google 開源的 WebRTC 項目;W3C 的 WebRTC 標準;瀏覽器中的 WebRTC 接口。
優(yōu)點:RTMP 和 HLS 都是掌握在大企業(yè)手中的協(xié)議,而 WebRTC 已被納入 W3C 標準。無需安裝插件,且支持的瀏覽器越來越多。
缺點:廠商對瀏覽器或系統(tǒng)的定制可能會導致可用性問題。缺乏服務器端設計、部署的方案。主要面向 Web 端,對原生開發(fā)支持不足。