如何使用 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 中的设置。
您需要更改这些参数:
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>
我有到 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 中的设置。
您需要更改这些参数:
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>