How can i reduce latency in HLS streaming with Wow

2019-07-26 23:51发布

i have live stream Wirecast to Wowza. In Wowza transcoder i have only 360p and 720p streams. In my dedicated server i don't have GPU. 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. How can i do this on Wowza?

Here is my server features:

CPU: Intel® Xeon® E5-1650 v3 Hexa-Core Haswell incl. Hyper-Threading Technology RAM: 256 GB DDR4 ECC RAM Hard Drive: 2 x 480 GB SATA 6 Gb/sData Center Series SSD (Software-RAID 1) Connection: 1 Gbit/s-Port Guaranteed Bandwidth: 1 Gbit/s Backup Space: 100 GB Inclusive Traffic: 50 TB*

2条回答
不美不萌又怎样
2楼-- · 2019-07-27 00:10

You need change settings in Application.xml of your application.

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

You need change these parameters:

cupertinoChunkDurationTarget - Sets the duration of each chunk in milliseconds. If you're using Origin/Edge configuration this will need to be set on the Origin and Edges with matching values.

cupertinoMaxChunkCount - Sets the maximum number of chunks stored in the available chunk list.

cupertinoPlaylistChunkCount - Sets the number of items returned in the playlist.

My configuration get 8 - 10 seconds delay:

<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>
查看更多
疯言疯语
3楼-- · 2019-07-27 00:18

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.

It's not unusual. It's the nature of HLS. Any time you're using a segments, the whole segment needs to be buffered before it can be handled. You could reduce your segment size, reduce your codec's quality (using whatever fast low-latency setting your codec offers), but you're better off with 15-20 second delay in almost all circumstances. (Do those watching really know that they're looking 20 seconds into the past? Even DirecTV satellite service lags behind by that much.)

If latency really matters to you, you shouldn't use HLS, DASH, or any other segmented streaming mechanism.

查看更多
登录 后发表回答