網路直播一般採用哪些技術,用戶數量到達上萬後一般採用什麼技術減少帶寬?
網路直播
題主的這個問題主要是涉及到對視頻的編碼,把碼率搞下來,傳輸的數據量就小了。舉個例子,一個1080P的7s視頻體積高達817MB,用10Mbps帶寬傳輸需要11分鐘,這無疑不可能用於直播業務。因此,視頻編碼壓縮。經過H.264編碼壓縮之後,817M大小的原始視頻只有708k,10Mbps帶寬傳輸僅需500ms,經過編碼壓縮後的視頻文件,更適合直播的需要。
編碼的壓縮方式
體積巨大的原始視頻經過編碼,形成體積很小、便於傳播的視頻,這個編碼過程其實是在去除原始視頻文件的冗餘信息。
- 空間冗餘:圖像相鄰像素之間有較強的相關性
- 時間冗餘:視頻序列的相鄰圖像之間內容相似
- 編碼冗餘:不同像素值出現的概率不同
- 視覺冗餘:人的視覺系統對某些細節不敏感
- 知識冗餘:規律性的結構可由先驗知識和背景知識得到
幀內編碼是比較傳統的編碼方式,將每一幀都當做一張圖片,然後對圖片里的信息進行壓縮,即壓縮了「空間冗餘」。
如今,比較高級的編碼方式是幀間編碼,通過演算法選定了幀上的某些區域,計算當前幀和前後參考幀的差別進行編碼。這種壓縮方式能夠去除視頻中的「時間冗餘」。
除了壓縮空間冗餘、時間冗餘,如今還有還有編碼壓縮、視覺壓縮等方式。
常見的編碼器
編碼器經歷了數十年的發展,出現了支持多種編碼方式的H.265和VP9等新一代編碼器,這裡介紹幾種常見的編碼器。
- H.264
H.264/AVC具備高數據壓縮比率、低碼率(Low Bit Rate)、高質量圖像、容錯能力強、網路適應性強等特點。
H.264最大的優勢是高數據壓縮比率,在同等圖像質量的條件下,與原始視頻相比,H.264的壓縮比達到驚人的102∶1。比如原始文件大小如果為88GB,採用H.264壓縮標準壓縮後變為879MB。相同的視頻文件,H.264佔用較小的網路帶寬和存儲空間。
H.264有兩個可供選擇的開源項目:Openh264和x264。Openh264是思科開源的H.264 編碼,對CPU的佔用較低,但只支持Baseline Profile;而x264支持更多的Profile
- HEVC/H.265
HEVC(High Efficiency Video Coding)在提升視頻質量方面效果顯著,最高支持4K解析度甚至8K解析度;穩定性上佳,十分適合移動網路環境下使用。
HEVC Advance向蘋果、YouTube、Netflix等流媒體服務商,和電視機、藍光播放器、遊戲機等硬體廠商收取專利費,且價格不菲,比如流媒體服務商需要繳納0.5%的專利費。
不過,我們可以在非GPL協議下使用由MulticoreWare開發、開源的x265調用HEVC解碼器。
- VP9
Google主導的VP9的目標是在同畫質下比VP8編碼減少50%的文件大小,同時意圖在編碼效率上超越 HEVC。VP9是一個開放格式,通過Google開發維護的ibvpx實現了開源。
VP9、H.264、HEVC三者的比較
· HEVC(H.265)在碼率節省上有較大的優勢,在相同PSNR下,分別比VP9、H.264節省48.3%和75.8%。
· H.264在編碼時間上有巨大優勢,對比VP9和HEVC(H.265),HEVC是VP9的6倍,VP9是H.264的將近40倍。
FFmpeg
FFmpeg是一款超級強大、很受歡迎的開源多媒體編解碼框架,提供了錄製、轉換以及流化音視頻的完整解決方案,包含了libavcodec、libavformat等多個多媒體庫。
FFmpeg基於Linux平台開發的,可以運行於Android、iOS、Windows、Mac等平台,是開發直播播放器的最佳選擇之一。
FFmpeg項目一般由以下幾部分組成:
- FFmpeg視頻文件轉換命令行工具,也支持經過實時電視卡抓取和編碼成視頻文件;
- ffserver基於HTTP、RTSP用於實時廣播的多媒體伺服器,也支持時間平移;
- ffplay用 SDL和FFmpeg庫開發的一個簡單的媒體播放器;
- libavcodec:一個包含了所有FFmpeg音視頻編解碼器的庫,為了保證最優性能和高可復用性,大多數編解碼器從頭開發的;
- libavforma:一個包含了所有的普通音視格式的解析器和產生器的庫。
又拍直播雲在編碼這塊做的相當不錯,具體了解:https://www.upyun.com/live.html
具體是哪種直播?鬥魚那樣的直播網站還是在線教育的直播授課?
1.直播網站貌似用的web p2p技術減少流量,但是缺陷很大,鬥魚貌似已經放棄這種方式了,戰旗卻貌似還在用(不確定,不負責任) ,這類網站用的都是H.265,理論上最高支持4K視頻,對帶寬要求降低,但理論上計算量比H.264提高了4倍,所以對電腦設備要求高。
過萬方都是用的cdn,例如戰旗鬥魚的備用線路其實就是網宿等公司的cdn線路。2.在線教育類網站的技術都還是使用的H.264,解析度低,但是穩定性強,對帶寬要求也不高,對電腦性能也基本沒啥要求,經濟實惠吧,用的基本都是gensee等幾家老公司的技術。如果同時在線過萬方,那就完全看使用的這家公司的技術實力和產品穩定性如何了,大部分公司幾千方就崩了吧,或者一些公司還是視頻會議那套架構,一兩百方就崩了。另外我覺得這些行業把H264使用至今,最大的原因是,這類技術多是12年之前就研發完畢推向市場的,那個時候還沒H.265和4K概念,所以。。。
推薦閱讀:
※有行內人士知道Miss簽約虎牙直播的簽約費嗎?
※戰旗tv500w年薪簽約草莓屬實嗎?
※戰旗是不是快倒閉了?
※都說網路直播行業的主播工資有泡沫,那一個網路主播的合理年薪該是多少?應該對標什麼「傳統職業」?
※如何看待吐槽大會第六期邀請MC天佑作為吐槽嘉賓?