Results 1 to 8 of 8

Thread: Problem with vod file playback after ios 6.1

  1. #1

    Default Problem with vod file playback after ios 6.1

    Hello,

    We have a camera that uploads avi files to our wowza servers on motion detection. We then run ffmpeg to convert the file to mp4 and we use libx264 for encoding.

    Then, we use the standard wowza vod application to stream this video to ios devices.

    The video plays just fine on devices with ios 6 or lower but it freezes on the first frame for ios 6.1 and ios 7. The file plays fine on all ios versions (including 6.1 and 7) if we transfer the file to the device and play it locally.
    However when we stream it from wowza vod app. it does not play on ios 6.1 and up as stated previously.

    We have tried fully decoding the video to yuv format and re-encoding it with ffmpeg but still the video hangs on the first frame on ios 6.1+

    Anybody have any idea, what could be wrong with the file? Any pointers for debugging greatly appreciated.

    Best,
    Ozgur

  2. #2

    Default

    Can you tell us the encode settings:
    Bitrate
    Frame size
    keyframe interval(GOP length)
    frames per second
    Audio codec
    sample rate

    Also, are you testing playback over WiFi, 3G or 4G?
    Do you see any evidence to this issue in the logs?

    Salvadore

  3. #3

    Default

    Hello,

    I am testing on the local WIFI. And in our setup the wowza sample mp4 file plays without any problems. So this is not a network issue.

    Bitrate 118kbps
    Frame size - 320x240
    keyframe interval(GOP length) - tried with both 90 and 250
    key frame interval minimum - 25
    frames per second - 15
    Audio codec - NO AUDIO video stream only
    sample rate - NO AUDIO video stream only

    Best,
    Özgür

  4. #4

    Default

    It may help to use a GOP length of 2 seconds, that is, a key frame every 30 frames if you are using 15 fps.

    Can you test playback of the stream and post the output from the console? Start Wowza in stand alone (/bin/startup.bat) mode and start the stream. What do you see?

    Salvadore

  5. #5

    Default

    Hi Salvadore,

    This is very strange but whether the video plays properly on ios 6.1 + seems to depend on the video duration.

    I have tried with the sample.mp4 file that comes with wowza server and the result is the same.

    For example if i use the following ffmpeg command to extract 11 seconds of video from the video

    ffmpeg -i sample.mp4 -ss 3 -t 11 -profile:v baseline -level:v 13 -an sample11SecBaselineLevel13NOAUDIO.mp4

    the video plays fine on all ios versions. However if I use the exact same command only changing the duration to 10 seconds

    ffmpeg -i sample.mp4 -ss 3 -t 10 -profile:v baseline -level:v 13 -an sample10SecBaselineLevel13NOAUDIOv2.mp4

    The video does not play on ios 6.1+.

    I have tried with videos with durations ranging from 5 seconds to a few minutes. Anything above 11 seconds plays fine, anything with 10 secs or less does not play.

    This is what i see on the console when i try to play the 10 seconds video

    INFO server comment - Wowza Media Server is started!
    INFO application app-start _definst_ vod/_definst_
    INFO cupertino connect 1071084177 -
    INFO stream create sample10SecBaselineLevel13NOAUDIO.mp4 -
    INFO server comment - VMS_CLIENT_LISTENER onHTTPStreamerSessionCreate 25000
    INFO server comment - MediaReaderH264Cupertino.indexFile[vod/_definst_/sample10SecBaselineLevel13NOAUDIO.mp4][avc1.66.13]: H.264 Video info: {MediaCodecInfoVideo: codec:H264, profile:Baseline, level:1.3, frameSize:424x240, displaySize:424x240, frameRate:24.000000}
    INFO stream play sample10SecBaselineLevel13NOAUDIO.mp4 -
    INFO stream stop sample10SecBaselineLevel13NOAUDIO.mp4 -
    INFO stream destroy sample10SecBaselineLevel13NOAUDIO.mp4 -
    INFO cupertino disconnect 1071084177 -
    INFO server comment - VMS_CLIENT_LISTENER onHTTPStreamerSessionDestroy false
    INFO cupertino connect 1071084177 -
    INFO stream create sample10SecBaselineLevel13NOAUDIO.mp4 -
    INFO server comment - VMS_CLIENT_LISTENER onHTTPStreamerSessionCreate 25000
    INFO server comment - MediaReaderH264Cupertino.indexFile[vod/_definst_/sample10SecBaselineLevel13NOAUDIO.mp4][avc1.66.13]: H.264 Video info: {MediaCodecInfoVideo: codec:H264, profile:Baseline, level:1.3, frameSize:424x240, displaySize:424x240, frameRate:24.000000}
    INFO stream destroy sample10SecBaselineLevel13NOAUDIO.mp4 -
    INFO cupertino disconnect 1071084177 -
    INFO server comment - VMS_CLIENT_LISTENER onHTTPStreamerSessionDestroy false

    Please help, I need to be able play videos shorter than 10 secs.

    Best Regards,
    Özgür Deniz Önür

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

    Default

    Özgür,

    It is probably because iOS wants 3 chunks, and with default settings in Wowza and 10 second video you may only get one chunk.

    Richard

  7. #7

    Default

    Hi Richard,

    Unfortunately it is not because of number of chunks.

    Per your suggestion, I increased the number of chunks:

    I set the cupertinoChunkDurationTarget property to 1 sec both in LiveStreamPacketizer properties and HTTPStreamer (for VOD) propertiers
    I also set the key frame interval to be 15 frames during encoding process.

    Using this video I looked at the chunklist and saw that the video had about 15 chunks with the new configuration. But is still does not play on ios 6.1+.

    One interesting observation is that if the audio stream is not removed, the video plays successfully. That is if I run the exact same ffmpeg command without the "-an"
    option the video plays without problems. However I have to get rid of the audio so i have to use the -an option.

    Any ideas?

    Best,
    Özgür

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

    Default

    Özgür,

    I do think this is a player limitation, we have seen this before. HLS (cupertino) streaming does not handle short clips well.

    With this command, copied from your post above, I get one chunk in the chunklist:
    ffmpeg -i sample.mp4 -ss 3 -t 10 -profile:v baseline -level:v 13 -an sample10SecBaselineLevel13NOAUDIOv2.mp4
    If I set the Application.xml /HTTPStreamer /cupertinoChunkDurationTarget to "1000" I get 2 chunks, but they are awkward because Wowza will only break on key frames. That setting is a "target".

    #EXTM3U
    #EXT-X-VERSION:3
    #EXT-X-TARGETDURATION:9
    #EXT-X-MEDIA-SEQUENCE:0
    #EXTINF:8.875,
    media_w937359789_0.ts
    #EXTINF:1.125,
    media_w937359789_1.ts
    #EXT-X-ENDLIST


    What is the most recent encoding? And what cupertinoChunkDurationTarget ?

    In any case, I think this is a player limitation. I don't have an iOS 5 device handy to test, but if it was different in iOS 5 I don't think it is because of Wowza

    Richard

Similar Threads

  1. How to playback vod when file is in sub-directory?
    By SFGMedia in forum General Forum
    Replies: 1
    Last Post: 01-18-2014, 10:32 AM
  2. VOD iOS playback freezes on first frame
    By Daniel6 in forum Video On Demand Streaming Discussion
    Replies: 6
    Last Post: 09-19-2013, 03:40 AM
  3. having problem in vod file
    By sktniran in forum General Forum
    Replies: 2
    Last Post: 06-03-2013, 05:52 AM
  4. VOD stream validation problem for iOS devices
    By jimmyz80 in forum Media Players and Devices Discussion
    Replies: 3
    Last Post: 02-06-2012, 10:38 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
  •