HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運營
CASE 服務(wù)案例
NEWS 熱點資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    hls網(wǎng)絡(luò)用語是什么意思(網(wǎng)絡(luò)語言hls什么意思)

    發(fā)布時間:2023-04-08 12:08:23     稿源: 創(chuàng)意嶺    閱讀: 107        

    大家好!今天讓小編來大家介紹下關(guān)于hls網(wǎng)絡(luò)用語是什么意思的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,相關(guān)業(yè)務(wù)請撥打電話:175-8598-2043,或添加微信:1454722008

    文章目錄列表:

    hls網(wǎng)絡(luò)用語是什么意思(網(wǎng)絡(luò)語言hls什么意思)

    一、現(xiàn)在網(wǎng)上的視頻很多都是m3u8格式的,它們用這種格式有什么好處?

    「m3u」和「m3u8」文件都是蘋果公司使用的 HTTP Live Streaming(HLS) 協(xié)議格式的基礎(chǔ)。M3U它是一種播放多媒體列表的文件格式,而m3u8 是 Unicode 版本的 M3U,使用 UTF-8 編碼。

    m3u8格式特點是帶有一個目錄信息或文件。m3u8說白了只是一個播放列表,里面存的是一堆視頻片段的 URL。

    m3u8如何播放?

    現(xiàn)在很多的媒體播放器都支持m3u8播放,而不局限于蘋果設(shè)備。以potplayer來說,右鍵打開-打開文件-打開鏈接,將m3u8鏈接粘貼進(jìn)去播放即可。當(dāng)然,前提你要保證此鏈接的可用性。

    m3u8如何下載?

    m3u8 本身是一個文本文件,里面存的是一堆視頻片段的 URL,一個個下載下來再合并就行。不過這也是一個繁瑣而麻煩的工作。當(dāng)然你可以考慮批量下載工具,再后期合并。利用python實現(xiàn)的也不少,畢竟一體化下載和合并的工具有時候并非很適用,不如代碼根據(jù)實際需求修改。

    m3u8用途?

    m3u8 文件其實是 HTTP Live Streaming(縮寫為 HLS) 協(xié)議的部分內(nèi)容,而 HLS 是一個由蘋果公司提出的基于 HTTP 的流媒體網(wǎng)絡(luò)傳輸協(xié)議。

    而HLS實際上是一種防盜鏈技術(shù)手段。給 m3u8 和 ts 文件的url動態(tài)生成一個 token,url是隨著很多參數(shù)動態(tài)變化的,比如時間,用戶id、ip地址,內(nèi)容id ,導(dǎo)致你無法使用這個固定的url盜鏈,這種方式可以防止其他網(wǎng)站直接使用你的url來觀看或者一般用戶的下載。

    下面我們一起談?wù)刴3u8是指什么,有什么好處。

    M3U8視頻格式也是一種M3U,是某些移動設(shè)備例如安卓,蘋果手機瀏覽器緩存視頻的“專用視頻格式”。只是它的編碼格式是UTF-8格式。M3U用Latin-1字符集編碼。M3U8格式特點是帶有一個目錄信息或文件,而許多安卓手機或者iPhone手機瀏覽器緩存的電影格式都為M3U8,需要進(jìn)行轉(zhuǎn)碼才可以播放。

    M3U8文件是指UTF-8編碼格式的M3U文件。M3U文件是記錄了一個索引純文本文件,打開它時播放軟件并不是播放它,而是根據(jù)它的索引找到對應(yīng)的音視頻文件的網(wǎng)絡(luò)地址進(jìn)行在線播放。而M3U8有啥好處呢?主要是可以做多碼率的適配,根據(jù)網(wǎng)絡(luò)帶寬,客戶端會自動選擇一個適合自己碼率的文件進(jìn)行播放,保證視頻流的流暢。

    m3u8 文件其實是 HTTP Live Streaming(縮寫為 HLS) 協(xié)議的部分內(nèi)容,而 HLS 是一個由蘋果公司提出的基于 HTTP 的流媒體網(wǎng)絡(luò)傳輸協(xié)議。

    HLS 的工作原理是把整個流分成一個個小的基于 HTTP 的文件來下載,每次只下載一些。當(dāng)媒體流正在播放時,客戶端可以選擇從許多不同的備用源中以不同的速率下載同樣的資源,允許流媒體會話適應(yīng)不同的數(shù)據(jù)速率。在開始一個流媒體會話時,客戶端會下載一個包含元數(shù)據(jù)的 extended M3U (m3u8) playlist文件,用于尋找可用的媒體流。HLS 只請求基本的 HTTP 報文,與實時傳輸協(xié)議(RTP)不同,HLS 可以穿過任何允許 HTTP 數(shù)據(jù)通過的防火墻或者代理服務(wù)器。它也很容易使用內(nèi)容分發(fā)網(wǎng)絡(luò)來傳輸媒體流。

    二、LL-HLS 簡介

    LL-HLS 即:Low-Latency HLS。相比較于HLS,延遲更低,官方說明,最低延遲在3s左右。

    延遲是指某一特定視頻幀被設(shè)備(攝像機、播放機、編碼器等)捕獲的時間與該幀在終端用戶顯示器上播放的時間之間的時間差

    1.各個環(huán)節(jié)的緩存區(qū)

    2.服務(wù)端的GOP緩存

    3.帶寬和傳輸距離

    4.網(wǎng)絡(luò)抖動和擁塞控制

    HLS的一個分片大概5-10s,一般加載3個分片播放。所以延遲大概15-30s.

    使用EXT-X-PART標(biāo)簽來表示更小的分片,一個分片的最小持續(xù)時間為200毫秒。

    下面HLS文件中可以看到第271分片被分割成11部分,每部分333ms。

    通過HTTP/2推送模式節(jié)省兩次RTT:

    不發(fā)送完整的播放列表,而是發(fā)送播放列表的增量(默認(rèn)的播放列表被保存,然后只在出現(xiàn)時發(fā)送增量,而不是發(fā)送完整的播放列表);

    服務(wù)器的責(zé)任是保留請求(阻塞),直到包含新片段的播放列表版本可用。阻斷播放列表的重新加載消除了輪詢;

    通過在客戶端請求中,增加參數(shù)來表明需要哪個位置的數(shù)據(jù):

    _HLS_msn=<M> : 序列號

    _HLS_part=<N>: part號

    _HLS_skip=YES|v2 可以跳過

    例如:

    對請求: https://example.com/2M/waitForMSN.php?_HLS_msn=273&_HLS_part=3 &_HLS_skip=YES 的響應(yīng)如下:

    通過EXT-X-PRELOAD-HINT標(biāo)簽,來聲明即將產(chǎn)生的片段。

    客戶端可以提前發(fā)起請求,當(dāng)該片段生成時立即回復(fù)給客戶端。

    LL-HLS圍繞影響延時的幾個因素,進(jìn)行優(yōu)化。

    更小的分片劃分,相當(dāng)于減少的服務(wù)端的緩存, PRELOAD標(biāo)簽減少網(wǎng)絡(luò)建聯(lián)耗時的影響,服務(wù)器阻塞,減少建聯(lián)耗時和輪詢消耗。

    參考地址:

    https://developer.apple.com/documentation/http_live_streaming/enabling_low-latency_http_live_streaming_hls

    https://zhuanlan.zhihu.com/p/358492414

    三、HLS視頻加密及本地播放

    將視頻從MP4文件切片成多個ts文件,并使用AES-128對每一片視頻進(jìn)行加密,最后生成m3u8文件

    視頻加密參考: https://www.cnblogs.com/codeAB/p/9184266.html

    舉個例子

    對于Android手機是不能直接播放的,必須要搭建服務(wù)器,使用Ubuntu搭建服務(wù)器請參考 網(wǎng)絡(luò)直播/點播服務(wù)器搭建

    這里主要講解如何在Android手機上搭建m3u8視頻服務(wù)器, NanoHTTPD 可以輕松搭建WebServer。

    本地播放參考 https://gitee.com/2021/LPlayer

    開啟服務(wù)

    關(guān)閉服務(wù)

    服務(wù)器請求鏈接說明

    最后提供一個 單java文件的NanoHTTPD ,簡單,高效,贊一個

    四、在網(wǎng)絡(luò)直播中什么叫推流?

    推流,指的是把采集階段封包好的內(nèi)容傳輸?shù)椒?wù)器的過程。其實就是將現(xiàn)場的視頻信號傳到網(wǎng)絡(luò)的過程。“推流”對網(wǎng)絡(luò)要求比較高,如果網(wǎng)絡(luò)不穩(wěn)定,直播效果就會很差,觀眾觀看直播時就會發(fā)生卡頓等現(xiàn)象,觀看體驗很是糟糕。

    要想用于推流還必須把音視頻數(shù)據(jù)使用傳輸協(xié)議進(jìn)行封裝,變成流數(shù)據(jù)。常用的流傳輸協(xié)議有RTSP、RTMP、HLS等,使用RTMP傳輸?shù)难訒r通常在1_3秒,對于手機直播這種實時性要求非常高的場景,RTMP也成為手機直播中最常用的流傳輸協(xié)議。最后通過一定的Qos算法將音視頻流數(shù)據(jù)推送到網(wǎng)絡(luò)斷,通過CDN進(jìn)行分發(fā)。

    擴展資料:

    直播中使用廣泛的“推流協(xié)議”一般是RTMP(RealTimeMessagingProtocol——實時消息傳輸協(xié)議)。該協(xié)議是一個基于TCP的協(xié)議族,是一種設(shè)計用來進(jìn)行實時數(shù)據(jù)通信的網(wǎng)絡(luò)協(xié)議,主要用來在Flash/AIR平臺和支持RTMP協(xié)議的流媒體/交互服務(wù)器之間進(jìn)行音視頻和數(shù)據(jù)通信。支持該協(xié)議的軟件包括AdobeMediaServer/UltrantMediaServer/red5等。

    在高精尖沙龍直播中,最初使用傳統(tǒng)設(shè)備進(jìn)行“推流”。

    具體過程就是:通過網(wǎng)線將EFP系統(tǒng)中的切換臺、網(wǎng)絡(luò)編碼器、筆記本按順序連接,連接完成后確保筆記本電腦的IP地址和網(wǎng)絡(luò)編碼器的地址在同一網(wǎng)段,然后在電腦頁面上對編碼器的各種“推流參數(shù)”進(jìn)行調(diào)整,為保證正?!巴屏鳌?,還需設(shè)置網(wǎng)絡(luò)推流地址,輸入推流地址、直播地址、視頻模式、分辨率、碼率、播放域名、播放地址等內(nèi)容。設(shè)置完畢后確認(rèn)IP地址,再進(jìn)行網(wǎng)絡(luò)測速,并確保網(wǎng)絡(luò)與網(wǎng)絡(luò)編碼器連接正常。此種“推流”所需設(shè)備過多,出現(xiàn)問題后十分麻煩,需要對設(shè)備進(jìn)行逐一排查,極耗費時間。

    后來,將直播系統(tǒng)改為Livestudio系統(tǒng),“推流”內(nèi)置在Livestudio的軟件之中,整個“推流”過程不再需要額外的網(wǎng)絡(luò)編碼器和筆記本等設(shè)備,也無需再設(shè)置IP,只要網(wǎng)絡(luò)正常,聯(lián)網(wǎng)即可完成操作,還可根據(jù)網(wǎng)絡(luò)的實際情況設(shè)置“推流”的質(zhì)量以滿足要求。此種操作十分便捷,有效避免了上述問題的出現(xiàn)。

    參考資料:百度百科:網(wǎng)絡(luò)直播

    以上就是小編對于hls網(wǎng)絡(luò)用語是什么意思問題和相關(guān)問題的解答了,如有疑問,可撥打網(wǎng)站上的電話,或添加微信。


    推薦閱讀:

    chatGpT概念股美國(chl美股)

    flashlight歌詞(flashlight歌詞英文)

    chatGPT數(shù)據(jù)哪里來的(chatchlog)

    藝術(shù)研究期刊(藝術(shù)研究期刊是scd嗎)

    營銷戰(zhàn)略和營銷策略