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