直播賣貨系統開發,解決HLS實現直播過程中的延遲問題

雲豹科技曉彤發表於2021-07-07

1. HLS的特性

HLS (HTTP Live Streaming) Apple 開發的流媒體標準,主要用於直播賣貨系統開發中音影片的編碼和傳輸,實現 PC 端和手機端的無外掛播放。包括一個 m3u(8) 的索引檔案, TS 媒體分片檔案和 key 加密串檔案。 HLS 最開始是蘋果公司為 ios 開發的流媒體傳輸協議,為了取代當時的 flash 而開發。因為 HLS 無需外掛,又是基於 HTTP 協議,對手機資源的消耗遠小於 flash ,進而得到了大力發展,最新的 H5 已經原生支援 HLS 了。但是 HLS 協議的小切片方式會生成大量的檔案, HLS 推薦的切片時長為 10s ,必須下載到 m3u(8) 和至少 3 ts 切片檔案時才會開始播放,這就導致了直播賣貨系統開發使用 hls 的延遲必然在 30s 以上。

2.  解決思路

想要解決直播賣貨系統開發中HLS 的延遲問題,得從 hls 的原理入手。 HLS 需要 3 ts 切片檔案才能播放的機制無法修改,但是可以從 ts 切片檔案的時長入手,透過在直播賣貨系統開發中修改 ts 切片檔案的時長,將之改為 1s 一個 ts 切片,相關配置檔案如下:

application hlsram {

            # enable live streaming

            live on;

            hls on;

                        hls_path /media/hlsram;

            hls_fragment 5s;

                        hls_cleanup on;

                        hls_nested on;

                        hls_playlist_length 25s;

        }

 

application out {

            # enable live streaming

            live on;

        }

    

application rec {

            # enable live streaming

            live on;

            hls on;

        hls_path /media/record;

        hls_fragment 30s;

        hls_continuous on;

        hls_nested on;

        hls_cleanup off;

        hls_fragment_naming system;

        hls_playlist_length 120s;

        }

 

3.  結論

透過實際測試,直播賣貨系統開發可以將HLS 延遲降低到 3-4s 左右,提升了 HLS 的直播體驗。
————————————————
宣告:本文由雲豹科技轉發自 sooth2008 部落格,如有侵權請聯絡作者刪除
原文連結:https://blog.csdn.net/sooth2008/article/details/108821416


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/70002045/viewspace-2780160/,如需轉載,請註明出處,否則將追究法律責任。

相關文章