ITPub博客

首页 > 应用开发 > IT综合 > 直播卖货系统开发,解决HLS实现直播过程中的延迟问题

直播卖货系统开发,解决HLS实现直播过程中的延迟问题

IT综合 作者:云豹科技晓彤 时间:2021-07-07 16:40:04 0 删除 编辑

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博客 ” ,链接:https://blog.itpub.net/70002045/viewspace-2780160/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论
音视频软件开发相关知识科普账号

注册时间:2021-06-11

  • 博文量
    163
  • 访问量
    60338