TSINGSEE青犀視頻如何輸出HLS視頻流?

衆所周知,TSINGSEE青犀視頻全線產品均能輸出多種視頻流,其中包括FLV、HLS。在今天的文章中,咱們將爲你們重點介紹:TSINGSEE青犀視頻平臺是如何輸出HLS協議視頻流。web

什麼是HLS協議?瀏覽器

HLS(HTTP Live Streaming)是蘋果公司的動態碼率自適應技術,主要用於PC和蘋果終端的音視頻服務,包括一個m3u(8)的索引文件,TS媒體分片文件和key加密串文件。服務器

經常使用的流媒體協議主要有HTTP漸進下載和基於RTSP/RTP的實時流媒體協議。目前比較方便又好用的是HTTP漸進下載,而蘋果公司的HTTP Live Streaming則是該方面的表明。微信

HLS的工做原理是把整個流分紅一個個基於HTTP的文件片斷來下載,當媒體流正在播放時,客戶端能夠選擇從許多不一樣的備用源中以不一樣的速率下載一樣的資源,容許流媒體會話適應不一樣的數據速率。網絡

在開始一個流媒體會話時,客戶端會下載一個包含元數據的extended M3U (m3u8) playlist文件,用於尋找可用的媒體流。編碼

HLS只請求基本的HTTP報文,與實時傳輸協議(RTP)不一樣,HLS能夠穿過任何容許HTTP數據經過的防火牆或者代理服務器。它也很容易使用內容分發網絡來傳輸媒體流。加密

簡而言之,HLS是新一代流媒體傳輸協議,其基本實現原理爲將一個大的媒體文件進行分片,將該分片文件資源路徑記錄於m3u8文件(即playlist)內,其中附帶一些額外描述(好比該資源的多帶寬信息等)用於提供給客戶端。客戶端依據該m3u8文件便可獲取對應的媒體資源,進行播放。spa

所以,當咱們的流媒體服務器視頻平臺獲取HLS流文件,主要就是對m3u8文件進行解析操做插件

那麼,下面就簡單介紹下m3u8文件。3d

M3U8文件是什麼?

m3u8文件實質是一個播放列表(playlist),有多是一個媒體播放列表(Media Playlist),或者是一個主列表(Master Playlist)。但不管是何種播放列表,其內部文字使用的都是utf-8編碼。

當m3u8文件做爲媒體播放列表(Media Playlist)時,其內部信息記錄的是一系列媒體片斷資源,順序播放該片斷資源,便可完整展現多媒體資源。

M3U8中包含基礎標籤:

EXTM3U:代表該文件是一個m3u8文件,每一個m3u8文件必須將該標籤放置在第一行。

EXT-X-VERSION:表示HLS的協議版本號,該標籤與流媒體的兼容性相關。該標籤爲全局做用域,使能整個m3u8文件;每一個m3u8文件內最多隻能出現一個該標籤訂義。若是m3u8文件不包含該標籤,則默認爲協議的第一個版本。

EXTINF:表示其後URL指定的媒體片斷時長(單位爲秒)。每一個URL媒體片斷以前必須指定該標籤,其值必須小於或等於EXT-X-TARGETDURATION指定的值。

簡單來講,m3u8是一個TS切片列表文件,它記錄視頻的每一個切片的時長與順序。舉個簡單的例子,m3u8至關於一本書的目錄,具體的ts文件相似書本每一章節具體的內容,播放器經過這個目錄來加載讀取每一個章節具體的內容展現播放。目錄上明確標識了該章節具體須要注意和設置的地方。

科普:TS,即Transport Stream(傳輸流),是高清攝像機拍攝下進行的封裝格式,全稱爲MPEG2-TS。MPEG2-TS格式的特色,就是要求從視頻流的任一片斷開始都是能夠獨立解碼的。

結語

TSINGSEE青犀視頻全線產品在播放HLS視頻流時,也是遵循以上操做。HLS的意義在於,當媒體流正在播放時,客戶端能夠根據當前網絡環境,方便地在不一樣的碼率流中作切換,以實現更好的觀影體驗。

值得一提的是,TSINGSEE青犀視頻全線產品除了支持HLS協議以外,還可支持RTSP、RTMP、FLV等多種格式的視頻流進行分發。

例如,TSINGSEE青犀視頻旗下國標視頻雲服務產品EasyGBS,就能夠將GB28181設備/平臺推送的PS流轉成ES流,並提供RTSP、RTMP、FLV、HLS多種格式進行分發,最終實現web瀏覽器、手機瀏覽器、微信、PC客戶端等各類終端無插件播放。

EasyGBS視頻播放界面實例圖

相關文章
相關標籤/搜索