在线不卡日本ⅴ一区v二区_精品一区二区中文字幕_天堂v在线视频_亚洲五月天婷婷中文网站

  • <menu id="lky3g"></menu>
  • <style id="lky3g"></style>
    <pre id="lky3g"><tt id="lky3g"></tt></pre>

    直播背后的原理是?初識視頻流協(xié)議 HLS 和 RTMP

    直播背后的原理是?初識視頻流協(xié)議 HLS 和 RTMP

    HTTP Live Streaming (HLS)

    HTTP Live Streaming 簡稱為 HLS, 是一個(gè)基于 HTTP 的視頻協(xié)議,由 APPLE 公司提出和實(shí)現(xiàn)。蘋果公司的很多產(chǎn)品都支持 HLS 協(xié)議,譬如 Mac OS 上的 QuickTime、Safari 以及 iOS 上的 Safari。蘋果 2009 年提出該協(xié)議,HLS 是 iOS 設(shè)備默認(rèn)要求的視頻流標(biāo)準(zhǔn)。安卓也支持HLS,見文章Guide to Mobile Video Streaming with HLS | Mux blog

    Since then, Android has added support, as have most other platforms.

    HLS 因?yàn)橐韵聨讉€(gè)原因比較受歡迎。

    • HLS 幾乎可隨處播放。 幾個(gè)大平臺 web、mobile、tv 基本都有免費(fèi)的HLS 播放器支持。
    • 蘋果 要求 HLS。 如果你想在 iOS 設(shè)備直播,逃不了的。
    • HLS 相對簡單。 它使用了普遍且已經(jīng)存儲的視頻格式(MP4 或 TS,伴隨著 H.264 和 AAC 等編解碼器), 另外附加了一個(gè)丑陋但人類可讀的文本格式(m3u8).
    • 它通過 HTTP 工作。 不需要跑特殊的服務(wù)(不像老舊校風(fēng)派的 RTMP 協(xié)議或者新潮的 WebRTC 協(xié)議). HLS 可以方便的透過防火墻或者代理服務(wù)器,而且可以很方便的利用 CDN 進(jìn)行分發(fā)加速,并且客戶端實(shí)現(xiàn)起來也很方便。

    原理

    HLS 協(xié)議基于 HTTP,而一個(gè)提供 HLS 的服務(wù)器需要做兩件事:

    • 編碼: 以 H.264 格式對圖像進(jìn)行編碼,以 MP3 或者 HE-AAC 對聲音進(jìn)行編碼,最終打包到 MPEG-2 TS(Transport Stream)容器之中;
    • 分割: 把編碼好的 TS 文件等長切分成后綴為 ts 的小文件,并生成一個(gè) .m3u8 的純文本索引文件

    HLS 把整個(gè)流分成一個(gè)個(gè)小的基于 HTTP 的文件來下載,每次只下載一些。HLS 協(xié)議由三部分組成:HTTP、M3U8、TS。這三部分中,HTTP 是傳輸協(xié)議,M3U8 是索引文件,TS 是音視頻的媒體信息。

    瀏覽器使用的是 m3u8 文件。在 HTML5 頁面上使用 HLS 非常簡單,直接

    或者

    HLS的index文件就是m3u8的文件,先下載一級index file(master_playlist.m3u8),它里面記錄了二級索引文件的地址(Alternate-A、Alternate-B、Alternate-C)的地址,然后客戶端再去下載二級索引文件,二級索引文件中又記錄了TS文件的下載地址,這樣客戶端就可以按順序下載TS視頻文件并連續(xù)播放。

    一個(gè)典型的一級索引 m3u8 文件格式如下:

    #EXTM3U#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=2000000,CODECS=”mp4a.40.2, avc1.4d401f”skiing-720p.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=375000,CODECS=”mp4a.40.2, avc1.4d4015″skiing-360p.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=750000,CODECS=”mp4a.40.2, avc1.4d401e”skiing-480p.m3u8#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=3500000,CODECS=”mp4a.40.2, avc1.4d401e”skiing-1080p.m3u8

    [免費(fèi)分享]007,資料包括《Andoird音視頻開發(fā)必備手冊+音視頻學(xué)習(xí)視頻+學(xué)習(xí)文檔資料包+大廠面試真題+2022最新學(xué)習(xí)路線圖》等,點(diǎn)擊下方鏈接加衛(wèi)星獲取

    FFmpegWebRTCRTMPRTSPHLSRTP播放器-音視頻流媒體高級開發(fā)

    詳細(xì)介紹如下:

    • bandwidth指定視頻流的比特率
    • PROGRAM-ID無用無需關(guān)注,
    • 每一個(gè)#EXT-X-STREAM-INF的下一行是二級index文件的路徑,可以用相對路徑也可以用絕對路徑。例子中用的是相對路徑。

    一級索引 m3u8 文件中記錄了不同比特率視頻流的二級index文件路徑,客戶端可以自己判斷自己的現(xiàn)行網(wǎng)絡(luò)帶寬,來決定播放哪一個(gè)視頻流。也可以在網(wǎng)絡(luò)帶寬變化的時(shí)候平滑切換到和帶寬匹配的視頻流。

    一個(gè)二級索引文件格式內(nèi)容如下 (skiing-480p.m3u8):

    #EXTM3U#EXT-X-TARGETDURATION:10#EXT-X-VERSION:3#EXT-X-MEDIA-SEQUENCE:0#EXT-X-PLAYLIST-TYPE:VOD#EXTINF:9.97667,file000.ts#EXTINF:9.97667,file001.ts#EXTINF:9.97667,file002.ts#EXTINF:9.97667,file003.ts#EXTINF:9.97667,file004.ts

    可以簡單的認(rèn)為二級 m3u8 就是包含多個(gè) ts 文件的播放列表。播放器按順序逐個(gè)播放,全部放完再請求一下 m3u8 文件,獲得包含最新 ts 文件的播放列表繼續(xù)播,周而復(fù)始。整個(gè)直播過程就是依靠一個(gè)不斷更新的 m3u8 和一堆小的 ts 文件組成,m3u8 必須動態(tài)更新,ts 可以走 CDN。

    整體架構(gòu)

    HLS的架構(gòu)分為三部分:Server,CDN,Client 。即服務(wù)器、分發(fā)組件和客戶端。架構(gòu)圖如下:

    HLS 缺點(diǎn)

    HLS 不是萬能的,它也有一個(gè)致命的弱點(diǎn):延遲現(xiàn)象非常明顯。如果每個(gè) ts 按照 5 秒來切分,一個(gè) m3u8 放 6 個(gè) ts 索引,那么至少就會帶來 30 秒的延遲。如果減少每個(gè) ts 的長度,減少 m3u8 中的索引數(shù),延時(shí)確實(shí)會減少,但會帶來更頻繁的緩沖,對服務(wù)端的請求壓力也會成倍增加。所以只能根據(jù)實(shí)際情況找到一個(gè)折中的點(diǎn)。

    另外一點(diǎn), HLS 基于短連接 HTTP,HTTP 是基于 TCP 的,這就意味著 HLS 需要不斷地與服務(wù)器建立連接,TCP 每次建立連接時(shí)的三次握手、慢啟動過程、斷開連接時(shí)的四次揮手都會產(chǎn)生消耗。

    Real Time Messaging Protocol (RTMP)

    Real Time Messaging Protocol(簡稱 RTMP)是 Macromedia 開發(fā)的一套視頻直播協(xié)議,現(xiàn)在屬于 Adobe。

    協(xié)議基于 TCP,是一個(gè)協(xié)議族,包括 RTMP 基本協(xié)議及 RTMPT/RTMPS/RTMPE 等多種變種。RTMP 是一種設(shè)計(jì)用來進(jìn)行實(shí)時(shí)數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用來在 Flash/AIR 平臺和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信。

    無法支持移動端 WEB 播放是它的硬傷。雖然無法在iOS的H5頁面播放,但是iOS原生應(yīng)用可以寫解碼去解析的。瀏覽器端,HTML5 video標(biāo)簽無法播放 RTMP 協(xié)議的視頻,可以通過 video.js 來實(shí)現(xiàn)。

    其主要優(yōu)點(diǎn):

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

    HLS 和 RTMP 對比

    整體直播方案

    如上所見,兩個(gè)協(xié)議各有所長,所以實(shí)際項(xiàng)目中需要自己抉擇到底采用哪種方案。直播整體架構(gòu)如下。

    【學(xué)習(xí)更多-進(jìn)入鏈接點(diǎn)擊免費(fèi)報(bào)名,即可開始學(xué)習(xí)~】

    【免費(fèi)】FFmpeg/WebRTC/RTMP/NDK/Android音視頻流媒體高級開發(fā)-學(xué)習(xí)視頻教程-騰訊課堂

    鄭重聲明:本文內(nèi)容及圖片均整理自互聯(lián)網(wǎng),不代表本站立場,版權(quán)歸原作者所有,如有侵權(quán)請聯(lián)系管理員(admin#wlmqw.com)刪除。
    用戶投稿
    上一篇 2022年6月25日 06:23
    下一篇 2022年6月25日 06:23

    相關(guān)推薦

    • 抖音只說了封禁沒說時(shí)長(抖音封禁一般多長時(shí)間)

      最近是不是發(fā)現(xiàn)抖音監(jiān)管和封號的力度大了很多,我常能看到,有同學(xué)吐槽,為什么又被封了,我也沒有違規(guī)呀??! 那么今天,我就列出4大容易被封的原因,幫你避開90%的坑。學(xué)會了就點(diǎn)贊吧。 …

      2022年11月27日
    • 短視頻策劃內(nèi)容的3個(gè)要點(diǎn)(短視頻策劃內(nèi)容怎么做)

      短視頻在制作時(shí),內(nèi)容框架非常重要。如果直奔主題,然后結(jié)束,聚卓告訴你,這樣的短視頻已經(jīng)過時(shí)了?,F(xiàn)在的短視頻需要框架的,但不是任何框架,它需要一種易于理解和消化的框架。而且,現(xiàn)在大多…

      2022年11月27日
    • 個(gè)人怎么做抖音帶貨(個(gè)人做抖音帶貨能賺錢嗎)

      抖音如今是大家很熟悉的短視頻平臺,不過現(xiàn)在的抖音卻不只是短視頻那么簡單,它的功能非常豐富,其中一個(gè)就是可以帶貨,相信很多小伙伴都有在抖音上買過東西,抖音如今的變現(xiàn)能力也是不容小覷的…

      2022年11月25日
    • 全民K歌升級新版本7.0之后,有哪些隱藏功能?

      作者:高百烈來源:知乎 這個(gè)功能,舊版并沒有,要升級到全新的全民K歌7.0版本才能發(fā)現(xiàn)。 作為朋友圈當(dāng)代K歌之王,我費(fèi)了不少功夫才搶到內(nèi)測版本。有一說一,全民K歌的路子真的很野,新…

      2022年11月25日
    • “濛翔”搭檔展現(xiàn)不一樣的世界杯 中國移動咪咕多檔綜藝上線

      2022國際足聯(lián)卡塔爾世界杯如火如荼進(jìn)行中,王濛、黃健翔冬奧之后再聚首,作為咪咕嘉賓天團(tuán)的成員,不僅陪伴觀眾直擊現(xiàn)場,暢聊世界杯賽場內(nèi)外趣事,更攜手于11月26日、11月30日在咪…

      2022年11月25日
    • 直播帶貨詳細(xì)腳本(直播文案策劃怎么寫)

      短視頻運(yùn)營策劃方案怎么寫?涉及哪幾個(gè)方面? 我在網(wǎng)上看到好多千篇一律的文章,關(guān)于【短視頻運(yùn)營策劃方案】這一塊,基本都是在講賬號的內(nèi)容本身。 你內(nèi)容做得再好,卻不掌握算法的規(guī)律,能有…

      2022年11月25日
    • 2022世界杯免費(fèi)直播平臺有哪些(2022世界杯免費(fèi)直播平臺)

      世界杯近期的人氣超級火爆的,大家雖然不能去現(xiàn)場觀看卡塔爾世界杯比賽,不過國內(nèi)的球迷也都第一時(shí)間通過世界杯了解賽事情況。2022世界杯免費(fèi)直播平臺有哪些?據(jù)悉本屆世界杯國內(nèi)的直播平臺…

      2022年11月24日
    • 咪咕世界杯怎么投屏到電視上(咪咕視頻世界杯會員是什么)

      最近關(guān)于2022年卡塔爾世界杯人氣超級火爆的,大家也都想要觀看世界杯的所有比賽直播,而咪咕視頻也可以觀看本屆世界杯。那么,咪咕世界杯怎么投屏到電視上?投屏到電視上門觀看世界杯體驗(yàn)感…

      2022年11月24日
    • 蘋果手機(jī)咪咕視頻世界杯怎么投屏觀看(咪咕視頻軟件)

      2022年卡塔爾世界杯比賽相信大家近期也都有在關(guān)注,而目前國內(nèi)可以觀看世界杯直播的平臺很多,咪咕視頻就是其中一個(gè)。那么,蘋果手機(jī)咪咕視頻世界杯怎么投屏觀看?有關(guān)蘋果手機(jī)咪咕視頻世界…

      2022年11月24日
    • 科比19歲女兒遭自稱與她生“科比式孩子”男子跟蹤騷擾

      極目新聞記者王亮亮黃佳琪 據(jù)??怂剐侣劸W(wǎng)報(bào)道,當(dāng)?shù)貢r(shí)間11月21日,已故籃球巨星科比·布萊恩特的長女娜塔莉亞·布萊恩特21日向法院提交臨時(shí)限制令,聲稱這位32歲的前科從十幾歲起就騷…

      2022年11月24日

    聯(lián)系我們

    聯(lián)系郵箱:admin#wlmqw.com
    工作時(shí)間:周一至周五,10:30-18:30,節(jié)假日休息