【发布时间】:2019-10-18 12:09:33
【问题描述】:
软件信息:
* ubuntu 16.04
* Nginx 1.15.1
所以最近我正在阅读关于 nginx 上 HLS 流的低延迟并在这里找到了解决方案:Reduce HLS latency from +30 seconds
这会将延迟减少到约 7 秒,但我还想对流进行转码,而延迟并不重要(我想要的只是低延迟的源,但如果转码版本可以,那么它会是额外的)但是当我这样做时,源没有问题,但转码版本给出了问题,基本上浏览器脚本将尝试播放已被删除的片段的早期版本,因此会导致 404 错误。那么我该如何解决它,以便我可以实现大约 7 秒的源延迟并让转码版本同时工作?
我目前的配置:
FFMPEG 转码
-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:
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;
【问题讨论】:
标签: nginx http-live-streaming low-latency