m3u8 和 ts


m3u8 和 ts

1. m3u8

Unicode版本的 m3u, 用 utf-8 編碼

m3u, m3u8, 都是 蘋果公司 使用的 Http Live Streaming(HLS) 協議格式的 基礎,

這種協議格式 可以在 iPhone 和 Macbook 等設備播放

m3u8 是 Http Live Streaming(HLS) 協議的部分內容, 而 HLS 是一個由 蘋果公司提出的 基於 Http 的 流媒體 網絡傳輸協議

HLS 的工作原理 是 把整個流 分成 一個個小的 基於 HTTP的文件來下載, 每次只下載一些,

當媒體流 正在播放時, 客戶端 可以選擇 從 許多不同的 備用源中 以不同的速率 下載同樣的資源, 允許 流媒體會話 適應不同的 數據速率

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

HLS, 只請求基本的 HTTP報文, 與實時傳輸協議(RTP) 不同, HLS 可以穿過 任何允許 HTTP數據通過的 防火牆 或者 代理服務器, 它也很容易使用內容分發網絡 CDN 來傳輸媒體流

m3u8文件 實質是 一個播放列表(playlist), 其可能是一個 媒體播放列表(Media Playlist), 或者是一個 主列表(Master Playlist),

但無論是 哪種播放列表, 其內部文字使用的都是 utf-8編碼

當 m3u8文件 作為 媒體播放列表(Media Playlist)時, 其內部信息記錄的 是一系列媒體片段資源, 順序播放該片段資源 即可完整展示 多媒體資源,

由此可見, 整個視頻的總時長 就是 各個 .ts切片資源的 時長之和

2. ts

ts, Transport Stream

3. 請求 m3u8播放列表的方法

1, 通過 m3u8的 url 進行請求, 則該文件必須以 .m3u8 或 .m3u 結尾

2, 通過 Http 進行請求, 則請求頭 Content-Type 必須設置為 "application/vnd.apple.mpegurl" 或者 "audio/mpegurl"

參考鏈接

https://blog.csdn.net/weixin_34247032/article/details/91368946


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM