首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >HLS延迟降低导致转码播放列表问题

HLS延迟降低导致转码播放列表问题
EN

Stack Overflow用户
提问于 2019-06-03 04:48:45
回答 1查看 107关注 0票数 0

软件信息:

代码语言:javascript
运行
复制
* ubuntu 16.04
* Nginx 1.15.1

所以最近我在nginx上研究了HLS stream的低延迟,在这里找到了一个解决方案:Reduce HLS latency from +30 seconds

这将减少延迟到~7秒,但然后我也想转码流和延迟,这并不是真的重要(我想要的是源是低延迟,但如果转码版本可以,那么它将是额外的),但当我这样做,源没有问题,但转码版本给出的问题,基本上浏览器脚本将尝试播放片段的早期版本,已经删除,所以它导致404错误。那么如何解决才能在源端达到~7秒的延迟,同时又能让转码版本正常工作呢?

我当前的配置:

FFMPEG转码

代码语言:javascript
运行
复制
-c:v copy -preset:v ultrafast -b:v 6000K -c:a copy -tune zerolatency -f flv rtmp://localhost/stream/$name_source
-c:v libx264 -preset ultrafast -s 852x480 -tune fastdecode -b:v 1000K -c:a copy -tune zerolatency -f flv rtmp://localhost/stream/$name_medium
-c:v libx264 -preset ultrafast -s 1280x720 -tune fastdecode -b:v 3500K -c:a copy -tune zerolatency -f flv rtmp://localhost/stream/$name_high
-c:v libx264 -preset ultrafast -s 426x240 -b:v 400K -c:a copy -tune fastdecode -tune zerolatency -f flv rtmp://localhost/stream/$name_low

HLS:

代码语言:javascript
运行
复制
hls_fragment 1s;
hls_playlist_length 4s;
hls_variant _source BANDWIDTH=600000;
hls_variant _high BANDWIDTH=350000;
hls_variant _medium BANDWIDTH=100000;
hls_variant _low BANDWIDTH=40000;
EN

回答 1

Stack Overflow用户

发布于 2019-06-03 10:04:57

当我将片段长度和播放列表长度设置为相同的时间时,我可以让它工作。

代码语言:javascript
运行
复制
hls_fragment 2s;
hls_playlist_length 2s;

以上是您在转码时所能达到的最低值,它大约是5-6秒的延迟,而转码大约是13秒。

仍然不建议这样做,因为它可能会导致一些问题

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56418856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档