為什麼國內視頻網站多採用HTTP協議傳輸視頻,而國外多使用RTMP等專門的流媒體協議?
暫時能想到實現技術、網速、版權保護幾方面的因素。
- HTTP 傳視頻比 RTMP 實現起來簡單?
- 國內網速不夠好,RTMP 的優勢發揮不出來?
- RTMP 對版權的保護更好,國內不太需要?
以上僅是猜想,沒有證實過。
歡迎大家從技術、非技術的各種原因展開分析。
偽命題。 先問是不是,再問為什麼, youtube 不也是走 http 的么?
一般的點播和直播,http 已經足夠用了, http 伺服器軟體成熟,一般用免費開源軟體做,沒有adobe 軟體的許可費用。
而且走 http , 很容易使用第三方CDN. 支持rtmp CDN不是沒有,但是肯定比 http cdn 貴。rtmp從協議實現來講需要一定的客戶端上行流量,而http則小得多,因此在網路環境不佳的條件下其性能不如http;rtmp雖然有伺服器端開源實現,但是其性能和強度終究不如FMS,例如用於非關鍵幀seek的Enhanced Seeking和多碼流帶寬自適應特性等功能由伺服器端實現,其協議細節並未公開;
另外rtmp方案也無法覆蓋iOS設備。綜合部署成本,複雜度和普適性考慮,對於常規直播點播應用,HTTP方案優於RTMP方案。
最近正在研究視頻直播的解決方案。
然後看到nginx有一個輕量級的RTMP開源模塊: arut/nginx-rtmp-module · GitHub
使用起來非常方便,而且性能也還OK。支持HLS(Http Live Stream, 蘋果的那套)
有興趣的話可以玩玩嘍=,=
另外與之對應的, 已經配好了的docker 也有:Docker Hub
走的是http live streaming?http協議對於視頻點播,具體協議是什麼?
其實行業內目前是點播採用HTTP flv基本就可以搞定了,還可以加上一些私有的頭驗證等。
而直播的話,大部分還是採用RTMP或者私有協議,原因是延時會比較小,RTMP本身也是為了直播設計的。
這個比較好回答。為什麼呢?
第一:窮
第二:懶
第三:沒需求
RTMP 全稱即是 Real-Time Messaging Protocol。顧名思義就是用來作為實時通信的一種協議。該協議是 Adobe 搞出來的。主要是用來傳遞音視頻流的。它通過一種自定義的協議,來完成對指定直播流的播放和相關的操作。和現行的直播流相比,RTMP 主要的特點就是高效,這裡,我就不多費口舌了。
直播是 16 年搭著短視頻熱火起來的。它的業務場景有很多,有遊戲主播,才藝主播,網上教學,群體實驗(前段時間,有人直播讓觀眾來炒股)等等。不過,根據技術需求的劃分,還可以分為低延遲和高延遲的直播,這裡就主要是協議選擇的問題。
現在,常用的直播協議有很多種,比如 RTMP,HLS,HTTP-FLV。不過,最常用的還是 HLS 協議,因為支持度高,技術簡單,但是延遲非常嚴重。這對一些對實時性比較高的場景,比如運動賽事直播來說非常蛋疼。
有興趣,可以看看:
不再碎片化學習,快速掌握 H5 直播技術 | villianHR
RTMP H5 直播流技術解析 | villianHR
國內現在稍有規模的直播類APP都是用rtmp協議,原因無他,低延遲和高穩定性,非常適合直播類應用
同意@深藍加菲的說法,這是一個偽問題。國外很多主流的視頻網站用HTTP協議的很多,隨著流媒體協議/標準的出現,比如MPEG-DASH, HLS, SmoothStreaming,HTTP協議的優勢越發明顯,配置簡單,部署容易,不需要額外的伺服器資源,當然CA/DRM伺服器是需要的。看目前的趨勢,隨著網路帶寬越來越高,用HTTP協議作為流媒體傳輸只會越來越廣泛。而且作為一個視頻網站愛好者,很容易搭建一個自己的視頻網站。
「國外多使用RTMP等專門的流媒體協議」 從何而來的這句話????
國內rtmp使用也是很多的,秀場直播全部是用rtmp的,據不完全數據統計,國內rtmp直播量比http直播量大
1.直播受眾較多就只能用cdn,http在cdn中支持較好。
2.http對客戶端開發支持較好。
3.伺服器端成本低,http用nginx就行,省了wowza的許可錢。
4.主播直播用戶比較離散,定製功能較多,所以用http較少。
做直播快一年了,同意之前回答的CDN是正道~
推薦閱讀: