国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
直播協(xié)議的選擇:RTMP vs. HLS

前言

隨著直播業(yè)務(wù)的興起,越來(lái)越多的直播平臺(tái)開(kāi)始涌現(xiàn),這火熱的程度好像一個(gè)應(yīng)用不帶上直播業(yè)務(wù)出來(lái)都不好意思跟人打招呼。想要做一個(gè)直播業(yè)務(wù),主要包括三個(gè)部分:采集推流端、流媒體服務(wù)端、播放端。這里不多說(shuō),就主要結(jié)合 iOS 平臺(tái),從觀看端出發(fā),介紹一下對(duì)直播協(xié)議的選擇。

通常在 iOS 平臺(tái)做直播業(yè)務(wù),會(huì)有兩種協(xié)議可供選擇:HLS 和 RMTP。

  • HLS ,是蘋果公司實(shí)現(xiàn)的基于 HTTP 的流媒體傳輸協(xié)議,全稱 HTTP Live Streaming,可支持流媒體的直播和點(diǎn)播,主要應(yīng)用在 iOS 系統(tǒng),為 iOS 設(shè)備(如 iPhone、iPad)提供音視頻直播和點(diǎn)播方案。
  • RTMP ,實(shí)時(shí)消息傳輸協(xié)議,Real Time Messaging Protocol,是 Adobe Systems 公司為 Flash 播放器和服務(wù)器之間音頻、視頻和數(shù)據(jù)傳輸開(kāi)發(fā)的開(kāi)放協(xié)議。協(xié)議基于 TCP,是一個(gè)協(xié)議族,包括 RTMP 基本協(xié)議及 RTMPT/RTMPS/RTMPE 等多種變種。RTMP 是一種設(shè)計(jì)用來(lái)進(jìn)行實(shí)時(shí)數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用來(lái)在 Flash/AIR 平臺(tái)和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信。

上面是這兩種協(xié)議的簡(jiǎn)介,那它們?cè)趯?shí)際應(yīng)用中會(huì)有什么差異呢?

HLS

先說(shuō)說(shuō) HLS。HLS 的基本原理就是當(dāng)采集推流端將視頻流推送到流媒體服務(wù)器時(shí),服務(wù)器將收到的流信息每緩存一段時(shí)間就封包成一個(gè)新的 ts 文件,同時(shí)服務(wù)器會(huì)建立一個(gè) m3u8 的索引文件來(lái)維護(hù)最新幾個(gè) ts 片段的索引。當(dāng)播放端獲取直播時(shí),它是從 m3u8 索引文件獲取最新的 ts 視頻文件片段來(lái)播放,從而保證用戶在任何時(shí)候連接進(jìn)來(lái)時(shí)都會(huì)看到較新的內(nèi)容,實(shí)現(xiàn)近似直播的體驗(yàn)。相對(duì)于常見(jiàn)的流媒體直播協(xié)議,例如 RTMP 協(xié)議、RTSP 協(xié)議等,HLS 最大的不同在于直播客戶端獲取到的并不是一個(gè)完整的數(shù)據(jù)流,而是連續(xù)的、短時(shí)長(zhǎng)的媒體文件,客戶端不斷的下載并播放這些小文件。這種方式的理論最小延時(shí)為一個(gè) ts 文件的時(shí)長(zhǎng),一般情況為 2-3 個(gè) ts 文件的時(shí)長(zhǎng)。HLS 的分段策略,基本上推薦是 10 秒一個(gè)分片,這就看出了 HLS 的缺點(diǎn):

  • 通常 HLS 直播延時(shí)會(huì)達(dá)到 20-30s,而高延時(shí)對(duì)于需要實(shí)時(shí)互動(dòng)體驗(yàn)的直播來(lái)說(shuō)是不可接受的。
  • HLS 基于短連接 HTTP,HTTP 是基于 TCP 的,這就意味著 HLS 需要不斷地與服務(wù)器建立連接,TCP 每次建立連接時(shí)的三次握手、慢啟動(dòng)過(guò)程、斷開(kāi)連接時(shí)的四次揮手都會(huì)產(chǎn)生消耗。

不過(guò) HLS 也有它的優(yōu)點(diǎn):

  • 數(shù)據(jù)通過(guò) HTTP 協(xié)議傳輸,所以采用 HLS 時(shí)不用考慮防火墻或者代理的問(wèn)題。
  • 使用短時(shí)長(zhǎng)的分片文件來(lái)播放,客戶端可以平滑的切換碼率,以適應(yīng)不同帶寬條件下的播放。
  • HLS 是蘋果推出的流媒體協(xié)議,在 iOS 平臺(tái)上可以獲得天然的支持,采用系統(tǒng)提供的 AVPlayer 就能直接播放,不用自己開(kāi)發(fā)播放器。

RTMP

相對(duì)于 HLS 來(lái)說(shuō),采用 RTMP 協(xié)議時(shí),從采集推流端到流媒體服務(wù)器再到播放端是一條數(shù)據(jù)流,因此在服務(wù)器不會(huì)有落地文件。這樣 RTMP 相對(duì)來(lái)說(shuō)就有這些優(yōu)點(diǎn):

  • 延時(shí)較小,通常為 1-3s。
  • 基于 TCP 長(zhǎng)連接,不需要多次建連。

因此業(yè)界大部分直播業(yè)務(wù)都會(huì)選擇用 RTMP 作為流媒體協(xié)議。通常會(huì)將數(shù)據(jù)流封裝成 FLV 通過(guò) HTTP 提供出去。但是這樣也有一些問(wèn)題需要解決:

  • iOS 平臺(tái)沒(méi)有提供原生支持 RTMP 或 HTTP-FLV 的播放器,這就需要開(kāi)發(fā)支持相關(guān)協(xié)議的播放器。
本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
HLS 直播協(xié)議m3u8詳解
HTML5視頻直播及H5直播掃盲
H5直播起航
在流媒體系統(tǒng)中應(yīng)用的HLS協(xié)議
HTTP Live Streaming直播(iOS直播)技術(shù)分析與實(shí)現(xiàn)
HTML5 視頻直播(一)
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服