如何使用 Wowza 减少 HLS 流式传输的延迟

How can i reduce latency in HLS streaming with Wowza

我有到 Wowza 的直播 Wirecast。在 Wowza 转码器中,我只有 360p 和 720p 流。在我的专用服务器中,我没有 GPU。现在,当我使用 HLS 播放流媒体延迟平均 15-20 秒。我认为这很不寻常,我想将其减少到 5-10 秒。我如何在 Wowza 上执行此操作?

这是我的服务器功能:

CPU:英特尔® 至强® E5-1650 v3 六核 Haswell,包括。超线程技术 内存:256 GB DDR4 ECC 内存 硬盘:2 x 480 GB SATA 6 Gb/sData Center Series SSD(软件-RAID 1) 连接:1 Gbit/s-Port 保证带宽:1 Gbit/s 备份 Space:100 GB 包含流量:50 TB*

Now when i use HLS playback streaming latency average 15-20 seconds. I think this is unusual and i want to reduce this to 5-10 seconds.

这并不罕见。这是 HLS 的本质。任何时候你使用一个段,整个段都需要在它被处理之前被缓冲。您可以减小段大小,降低编解码器的质量(使用编解码器提供的任何快速低延迟设置),但在几乎所有情况下最好延迟 15-20 秒。 (那些观看的人真的知道他们正在看 20 秒过去吗?甚至 DirecTV 卫星服务也落后那么多。)

如果延迟对您来说真的很重要,您不应使用 HLS、DASH 或任何其他分段流媒体机制。

您需要更改应用程序 Application.xml 中的设置。

https://www.wowza.com/forums/content.php?88-How-to-configure-Apple-HLS-packetization-(cupertinostreaming)

您需要更改这些参数:

cupertinoChunkDurationTarget - 设置每个块的持续时间(以毫秒为单位)。如果您使用 Origin/Edge 配置,则需要在具有匹配值的原点和边缘上进行设置。

cupertinoMaxChunkCount - 设置存储在可用块列表中的最大块数。

cupertinoPlaylistChunkCount - 设置播放列表中返回的项目数。

我的配置延迟 8 - 10 秒:

<LiveStreamPacketizer>
            <!-- Properties defined here will override any properties defined in 
conf/LiveStreamPacketizers.xml for any LiveStreamPacketizers loaded by this applications -->
            <Properties>
                <Property>
                    <Name>cupertinoChunkDurationTarget</Name>
                    <Value>2000</Value>
                    <Type>Integer</Type>
                </Property>
                <Property>
                    <Name>cupertinoMaxChunkCount</Name>
                    <Value>2</Value>
                    <Type>Integer</Type>
                </Property>
                <Property>
                    <Name>cupertinoPlaylistChunkCount</Name>
                    <Value>2</Value>
                    <Type>Integer</Type>
                </Property>
                <Property>
                    <Name>cupertinoRepeaterChunkCount</Name>
                    <Value>2</Value>
                    <Type>Integer</Type>
                </Property>
            </Properties>
        </LiveStreamPacketizer>