Results 1 to 8 of 8

Thread: Relationships between cupertino segmenter parametres and latency.

  1. #1

    Default Relationships between cupertino segmenter parametres and latency.

    Hi,

    Please describe how segmentators parametres (http://www.wowza.com/forums/content....rameters-(iOS)) influence to latency from capture to playback.

    First, packets incoming like a continious stream to wowza server and segmente here into chunks based on time. Duration of each chunk is control by the cupertinoChunkDurationTarget setting (in millseconds). As the chunks are completed they are added to the available chunk list. The maximum number of chunks stored in the available chunk list is control by the cupertinoMaxChunkCount setting. When a stream is requested by an iOS device a playlist is returned that contains the [n] most recently added chunks. The number of items returned in the playlist [n] is control by the cupertinoPlaylistChunkCount setting.

    So as I understand here are 3 parametres which can increase or decrease latency: cupertinoChunkDurationTarget, cupertinoMaxChunkCount, cupertinoPlaylistChunkCount.

    From my experiments I can't understand how they really influencing to latency.
    My experiment: I use live Application setup. I set cupertinoChunkDurationTarget to constant value of 8 sec. (this is not matters because it's constant), and cupertinoMaxChunkCount cupertinoPlaylistChunkCount were parameters which I modified and than I follow to stream.
    And I can't find direct dependence between changing this parametres and latency.

    If I set big (300) value to cupertinoMaxChunkCount (so 300 chunks will be available in chunk list) and big value (100) to cupertinoPlaylistChunkCount so 100 chunks will returned in playlist. So 300 chunks * 8 sec (chunk duration) = 2400 sec buffer that wowza keep in memory. And 100 * 8 = 800 sec duration of playlist. I assume that wowza add as first chunk into playlist the first chunk from available in chunk list so I think that client device like iPad should playback video with latency 2400 sec from live stream. BUT IT'S NOT! I can't calculate really latency but it something like 30 sec. Why? What I misunderstood? Is it client logic or server logic that indicates the correct start time to client? I'm asking because if try to wget first chunk it seems that its really far from live.

    If I set small value to cupertinoMaxChunkCount (5) and cupertinoPlaylistChunkCount had value 3. And 5 * 8 = 40 sec will be latency and 3 * 8 = 24 sec duration of whole playlist. In such case I've get latency around 8-15 sec. This value is good but how it can be calculated?

    Please point me out how latency can be calculated and why this settings not work as I expect.
    Or describe more deeply of stream flow through wowza and maybe I answer to my questions by myself.

    Thank you!
    Last edited by xzerth; 06-13-2012 at 06:18 AM.

  2. #2

    Default

    Any?

  3. #3

    Default

    up

  4. #4
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    It is mostly a function of the stream's key frame frequency and cupertinoChunkDurationTarget. Chunks are broken on key frames. Try a key frame frequency of 2 seconds and chunkDurationTarget of 2000 milliseconds, leaving the other values at their default for the moment.

    Richard
    Last edited by rrlanham; 06-26-2012 at 07:50 AM.

  5. #5

    Default

    Richard,

    Can you explain for me how these values couple? Or point me to any documentation.

    Our key frame frequency is 1 sec and we can't modify it and chunkDurationTarget is 8000 ms.
    I can do what you suggest but I want to know how can I control it.

    Thank you.

  6. #6
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    If you can't change key frame frequency, you can try all the valid values for cupertinoChunkDurationTarget. 8000 is valid as it is a factor of 1000 milliseconds (your 1 second key frame freq). Try 2000, 3000, 4000.

    Richard

  7. #7

    Default

    Ok, Richard, what do you mean when you suggest to me trying different values of cupertinoChunkDurationTarget? I know that cupertinoChunkDurationTarget should be a multiple of keyframe frequency. Do you suggest to me make an series of experiments like I make before with this values and describe to you what I get?

    I've only asked about theory of all this values and describe what I get and that's strange and need to be explained:

    If I set big (300) value to cupertinoMaxChunkCount (so 300 chunks will be available in chunk list) and big value (100) to cupertinoPlaylistChunkCount so 100 chunks will returned in playlist. So 300 chunks * 8 sec (chunk duration) = 2400 sec buffer that wowza keep in memory. And 100 * 8 = 800 sec duration of playlist. I assume that wowza add as first chunk into playlist the first chunk from available in chunk list so I think that client device like iPad should playback video with latency 2400 sec from live stream. BUT IT'S NOT! I can't calculate really latency but it something like 30 sec. Why? What I misunderstood? Is it client logic or server logic that indicates the correct start time to client? I'm asking because if try to wget first chunk it seems that its really far from live.
    So I ask two questions:
    1) Which chunk wowza sends as first in playlist - that which arrived as first in wowza or as last? In my tests I get that nor first nor last but other chunk. Why? I'm asking because in this case I can't find out on what cupertinoPlaylistChunkCount and cupertinoMaxChunkCount influence?
    2) I'm playing directly first chunk that returned with playlist by mplayer, but if I try to play this playlist with iPad its plays something live position with aroud 30 sec latency. Why? Is it something like smart client? Why iPad knows which position live?

    Please answer for this questions because I can't understand logic.
    Thank you!

  8. #8
    Join Date
    Dec 2007
    Posts
    21,962

    Default

    As far as I know Wowza sends chunks sequentially starting with the most recent chunk produced for a live stream and the first one for a vod stream from a file.

    With a 1 second key frame frequency you can use cupertinoChunkDurationTarget 1000, 2000, 3000, etc, multiples of 1000. Those are your only choices if you have a 1 second key frame frequency and cannot change it. I was suggesting you try all of those and see what works best for you. From what I understand, a 2 second key frame frequency is ideal, better than 1 second.

    iOS devices and cupertino streaming is high latency, these are your settings for improving that.

    Richard

Similar Threads

  1. Cupertino / SanJose segmenter questions (behavior clarification for caching)
    By dptekco in forum Video On Demand Streaming Discussion
    Replies: 3
    Last Post: 03-29-2012, 06:03 AM

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •