Results 1 to 10 of 10

Thread: Cupertino http streaming. Wrong seek on iOS

  1. #1
    Join Date
    Jan 2013
    Posts
    10

    Question Cupertino http streaming. Wrong seek on iOS

    Please help!

    Wowza 2.2.4 update 8 on EC2.
    My work isn't trivial. We have mp4 files and they were encoded with manual keyframe settings. For example, every 4-th frame is keyframe (ffmpeg g 4, keyint_min 4). This is need to seek on file with constant interval. This files are stored on Amazon s3.

    We have AIR application that play video. When we play video in Web version (via sanjose) - it works perfect and when we seek to place, video start play from seek point.
    But when we try it on iOs... The file duration isn't the same (when we use sanjose, we have something like 194.02355 but when we use cupertino, we have 194).
    The seek work, but we move not to seek position, we move to various keyframes near our place. We find this issue on wowza 2.2.4 and have updated it to 2.2.4(update 8). But nothing changed. We also try Wowza 3.5.2 on anther server and problem is still exist.

    We also changed cupertinoChunkDurationTarget from 1000 to 10000 (1500, 2000, 2500, 3000, 4000 ... 10000). With all values we can't move to place what we seek. We move on wrong place.
    We also have encoded files and made keyframes equal to chunk duration. In this case we also doesn't have right seek.
    What can you say and what we should do to correct this behaviour?

  2. #2
    Join Date
    Sep 2011
    Posts
    1,934

    Default

    Hi
    I the [Wowza-Install]/conf directory you should be able to see a file called Streams.xml.
    If you edit this file, do a search for "seekTarget" you will see a Property like this
    <Property>
    	<Name>seekTarget</Name>
    	<!-- valid values are: videoKeyFrame, audio, enhanced //DEFAULT = videoKeyFrame -->
    	<Value>videoKeyFrame</Value>
    </Property>
    Change <Value>videoKeyFrame</Value> to <Value>enhanced</Value>

    The Property will now look like this
    <Property>
    	<Name>seekTarget</Name>
    	<!-- valid values are: videoKeyFrame, audio, enhanced //DEFAULT = videoKeyFrame -->
    	<Value>enhanced</Value>
    </Property>
    This may adjust the seek to be more suitable for your needs.
    You will need to restart Wowza for this to take effect.

    Jason

  3. #3
    Join Date
    Sep 2011
    Posts
    1,934

    Default

    Hi
    My apologies I stand corrected, this only applies to Flash player seeking.

    The only thing I can think of would be to have more frames per second.
    If you currently have 8 fps and have a keyframe every 4th frame that's a keyframe every 0.5 seconds

    The iOS device will create a chunk on a keyframe which means you would be accurate within 0.5 seconds.
    This is assuming that the iOS device is not limited to seek within 1 second or something which it may well be I'm not sure.

    Jason

  4. #4
    Join Date
    Jan 2013
    Posts
    10

    Default

    We have 25 fps and every 4-th is keyframe, f.e.
    And with "enhanced" property nothing changes...

    When we seek on ios, we seek in position like 20.358 sec but move to 20.128 sec. Not in 20.358.
    Also frames are different on ios and web versions after we make many seek operation. Looks like Wowza delete some frames from video and start not from zero but from another frames...

    I really don't know why it's happens.

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

    Default

    I think iOS device seeks within the chunks. It might seek only to key frames, but I am not sure. There is not a way to improve this in Wowza.

    A key frame every 4 frames is unusual, not sure what that might have to do with it.

    Richard

  6. #6
    Join Date
    Jan 2013
    Posts
    10

    Default

    So... you say that accurate seek doesn't available on Wowza and we can't do nothing? Very bad...

    Another question for this theme: why file duration that we get from server isn't the same on web and iOS? Why?
    Thera are information from two files. First file has every 4th frame keyframe, the second has every 10th frame keyframe.

    What we get from Wowza:
    First file:
    IOS: duration: 195
    Web: duration: 195.243
    IOS:
    Want to move to: time: 72.5; frame: 435
    Actually move to: time: 69; frame: 414
    Web:
    Want to move to: time: 72.528; frame: 435
    Actually move to: time: 72.53; frame: 435

    Second file:
    IOS: duration: 974
    Web: duration: 972.779
    IOS:
    Want to move to: time: 338; frame: 845
    Actually move to: time: 336; frame: 840
    Web:
    Want to move to: 338.132; frame: 845
    Actually move to: time: 338.133; frame: 845

    Why this happens and what we can do with this issue?
    Last edited by V4siliy; 02-27-2013 at 12:40 AM. Reason: Add time and frame values

  7. #7
    Join Date
    Sep 2011
    Posts
    1,934

    Default

    Hi
    Can you confirm how you're able to seek to an exact point to within 0.23 seconds using the iOS device?
    This could of course be a limitation of the iOS device itself.

    Confirmation of how the seek takes place could confirm if this is indeed a Wowza issue or iOS limitation.

    Are the 2 files above encoded exactly the same?
    My first impression is that the 2 file examples above are not encoded the same due to the reading outputs from both Web and iOS.

    Jason

  8. #8
    Join Date
    Jan 2013
    Posts
    10

    Default

    It's the same files on iOs and Web version.
    In web version we use manifest.f4m, in iOS playlist.m3u8, of course.

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

    Default

    I don't think Wowza has much to do with iOS seek because the device is seeking within a chunk. If you seek before or after chunks in the device cache it will get new chunks that span that location, but then the device still seeks within those chunks.

    Richared

  10. #10
    Join Date
    Jan 2013
    Posts
    10

    Default

    Thanks for answer, Richard. I understand that i have not got accurate seek on iOS with Wowza.
    It's so sadly.
    Last edited by V4siliy; 02-27-2013 at 07:36 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
  •