Page 1 of 2 12 LastLast
Results 1 to 10 of 15

Thread: Inconsistent iOS live stream

  1. #1

    Default Inconsistent iOS live stream

    Hello, we are trying to stream rtsp from our IP cameras through wowza and out to iOS.

    The wowza stream from our cameras works fine when we embed it in flash for PC...
    But for ios it starts and stops... freezes etc.
    No consistency to it.

    I am testing with one just one camera right now.

    Here are the ios settings I am using.

    <Property>
    <Name>cupertinoChunkDurationTarget</Name>
    <Value>4000</Value>
    <Type>Integer</Type>
    </Property>
    <Property>
    <Name>cupertinoMaxChunkCount</Name>
    <Value>4</Value>
    <Type>Integer</Type>
    </Property>
    <Property>
    <Name>cupertinoPlaylistChunkCount</Name>
    <Value>3</Value>
    <Type>Integer</Type>
    </Property>
    <Property>
    <Name>cupertinoRepeaterChunkCount</Name>
    <Value>3</Value>
    <Type>Integer</Type>
    </Property>


    In the camera the 'I Frame' interval is set to 5.
    (I believe the i frame setting is the same as keyframe but I am not sure)

    Any suggestions?

    Thanks

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

    Default

    Hi,
    A chunk for can only be created on a keyframe, it's recommended that you have a keyframe every 1 or 2 seconds.
    If the keyframe rate stays the same you will need to change the cupertinoChunkDurationTarget to "5000"
    <Property>
    <Name>cupertinoChunkDurationTarget</Name>
    <Value>5000</Value>
    <Type>Integer</Type>
    </Property>
    If the keyframe interval was 1 or 2 seconds it could stay at "4000" without issue.
    Generally the stream will have around 25 frames per second and needs to be H.264 video with mp3/AAC audio.

    What is the bitrate of the stream you're trying to play using the iOS device?

    Jason

  3. #3

    Default

    Hello, thanks for the reply.
    I changed the I-Frame Interval to 1.

    The video played for about 1 minute... then suddenly went to "cant load movie".

    Here is an image that shows the settings of the camera stream.
    http://www.videolinktech.com/camera-settings.jpg

    I left all the chunk count settings etc alone.

    Thanks again

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

    Default

    I think I Frame Interval in this setting is actually gop (group of pictures), which is how many P Frames intervene each I Frame. But to get Key Frame Frequency you also need FPS. The formula is: GOP / FPS = key frame frequency

    So if you set I Frame interval to 30 and the FPS is 30, then key frame frequency is 1 second (1000 milliseconds). FPS setting must be on another screen.

    Following this guide to cupertino packetizing, the key frame frequency should be a factor of cupertinoChunkDurationTarget

    Your setting of 1 for key frame interval means every frame will be an I Frame, which you don't want.

    Richard

  5. #5

    Default

    Hello, here is an image of the new camera settings.
    http://www.videolinktech.com/camera-settings.jpg

    I set the Iframe (GOP) to 5 and the FPS to 10

    So.... GOP / FPS = 2
    2 is a factor of my chunk duration target of 4.

    The iOS stream will only play for less than a minute then it goes to "cannot load movie".

    These settings are still the same as the above post.

    <Property>
    <Name>cupertinoChunkDurationTarget</Name>
    <Value>4000</Value>
    <Type>Integer</Type>
    </Property>
    <Property>
    <Name>cupertinoMaxChunkCount</Name>
    <Value>4</Value>
    <Type>Integer</Type>
    </Property>
    <Property>
    <Name>cupertinoPlaylistChunkCount</Name>
    <Value>3</Value>
    <Type>Integer</Type>
    </Property>
    <Property>
    <Name>cupertinoRepeaterChunkCount</Name>
    <Value>3</Value>
    <Type>Integer</Type>
    </Property>

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

    Default

    Hi,
    Looking at the image above, I can see the frames per second (FPS) is 5, this needs to be 25-30.
    The I frame interval then needs to be changed accordingly, so 50-60 depending on the above.

    I think VLC is a good tool for testing as VLC supports Apple HLS (convenient if you have VLC player but not necessary if you don't have it already).
    To test using VLC player, type the same HTTP URL as you would in the iOS device.

    Jason

  7. #7

    Default

    Thanks I will try that.

    We are trying to keep the size of each stream small... for bandwidth...
    That is why the frames are so low...

    We are going to have 10-15 people connected at any time...

    And 16 to 32 cameras doing rtsp all the time....

    Most cctv ip cameras like this have the frames set to about 5 or 10 to keep the size down...

  8. #8

    Default

    I changed the FPS to 30 and the I-Frame Interval to 60.

    The video still plays for a minute or less then goes to "cannot load movie".

  9. #9

    Default

    I tried 3 different brands of cameras including axis.
    I wanted to make sure it wasnt the camera its self.
    I get roughly the same result out of each...
    Usually starts playing fine... then stops after a minute or less and says cannot play/load movie...

    I even set the chunk duration target back to the recommended 10 (10000)
    That does not make any difference.

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

    Default

    Let's stick with Axis cam, run a test with clean logs and send us the result. First delete the current access log.

    Then add the cupertinoMaxChunkLogCount Property set to "0" in the Application.xml /LiveStreamPacketizer Properties container:

    <Property>
     <Name>cupertinoMaxChunkLogCount</Name>
     <Value>0</Value>
     <Type>Integer</Type>
    </Property>
    And set cupertinoChunkDurationTarget to "1000" (1 second)

    In the encoder, set i-frame to 30 and fps to 30 to get a 1 second key frame frequency to match the cupertinoChunkDurationTarget setting.

    Start Wowza, start the stream, then test playback. If you see the same problem. Playback a couple more times on the iOS device. And try the cupertino url in VLC as well, for a few minutes or until you see the same problem in VLC.

    Then zip up /conf folder and the current access log showing these tests. Please send the /conf files exactly was they were during this test, send the whole /conf folder.

    Include a link to this thread for reference

    Richard

Page 1 of 2 12 LastLast

Similar Threads

  1. live rtsp stream to iOS
    By nonlinearmind in forum Live Streaming and Encoder Discussion
    Replies: 5
    Last Post: 11-07-2012, 08:33 AM
  2. Live stream using flash on iOS & non iOS
    By sim_joshua01 in forum Live Streaming and Encoder Discussion
    Replies: 7
    Last Post: 08-06-2012, 07:09 PM
  3. Live stream on IOS 5
    By aigars in forum Live Streaming and Encoder Discussion
    Replies: 4
    Last Post: 11-28-2011, 06:03 PM

Posting Permissions

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