video/live smooth with rtmp/vlc but shake with HLS/QuickTime

Hi everyone,

I have a strange issue with Apple media players : my RTSP (h264/aac) stream is smooth with rtmp but the video shakes a lot if I watch it with safari player (http live streaming).

Same issue when I playback the recorded session, it’s smooth with VLC and shakes a lot with quicktime, any idea ?

My RTSP streaming comes from my iPhone (homemade gocoder app) and i’m using WMS 3.6.2.12 (but I have the same issue with 3.5…)

related video : https://www.dropbox.com/s/ca4rj9fn3u44gkp/shake-smooth.mp4

best regards

Hane

Hi,

Can you produce the encoding information/settings from encoder you’re using.

Please include the following:

Audio and video bitrate

Audio and video codec

Video profile and level

Frames per second and keyframe interval.

Streaming to HTTP clients such as Apple iOS devices requires chunking the stream and each chunk is created on a keyframe.

If the keyframe interval is too low the video will not be smooth.

In the Wowza access log you should be able to search for a/v/k which is the audio/video/keyframes for each chunk followed by the duration of the chunk.

please post the above part of the log in this thread.

Thanks

Jason

What is the homemade gocoder app?

I do see the shakiness in cupertino playback on iOS device (using IPhone 4s), but I don’t see it in cupertino playback on VLC.

The video is h.264 Main profile, Level 1.3. Try making it Baseline Profile, level 3 or lower.

When I run ffprobe on the file, it reports a 3rd track with unsupported codec. That might be a clue to the problem. VLC does not report a 3rd track

[mov,mp4,m4a,3gp,3g2,mj2 @ 00000000022bf400] multiple fourcc not supported
Input #0, mov,mp4,m4a,3gp,3g2,mj2, from 'c:\temp\shake-smooth.mp4':
  Metadata:
    major_brand     : f4v
    minor_version   : 0
    compatible_brands: isommp42m4v
    creation_time   : 2013-10-07 08:54:38
  Duration: 00:00:34.67, start: 0.000000, bitrate: 121 kb/s
    Stream #0:0(eng): Video: h264 (Main) (avc1 / 0x31637661), yuv420p, 320x180,
88 kb/s, 27.81 fps, 24 tbr, 90k tbn, 180k tbc
    Metadata:
      creation_time   : 2013-10-07 08:54:38
      handler_name    : WowzaMediaServerPro
    Stream #0:1(eng): Audio: aac (mp4a / 0x6134706D), 22050 Hz, mono, fltp, 29 k
b/s
    Metadata:
      creation_time   : 2013-10-07 08:54:38
      handler_name    : WowzaMediaServerPro
    Stream #0:2(eng): Data: none (amf0 / 0x30666D61), 0 kb/s
    Metadata:
      creation_time   : 2013-10-07 08:54:38
      handler_name    : WowzaMediaServerPro
Unsupported codec with id 0 for input stream 2

I’m not sure what “multiple fourcc not supported” indicates, but searching around it seems to have something to with concatenated jpeg, perhaps.

Another perhaps is the odd fractional FPS: 27.81.

Richard

Thanks for the update, Hane

Richard

Hi, thanks for your fast reply,

For audio codec infos :

INFO server comment - LiveStreamPacketizerCupertino.handlePacket[live/definst/24.sdp][mp4a.40.2]: AAC Audio info: {AACFrame: codec:AAC, channels:1, frequency:22050, samplesPerFrame:1024, objectType:LC}

The audio bitrate is 32kbps

Video part :

H.264 Video info: {H264CodecConfigInfo: codec:H264, profile:Main, level:1.3, frameSize:320x180, displaySize:320x180, crop: l:0 r:0 t:0 b:6}

I can adjust the video bitrate on the fly and I get the same results in the range of 96kbps to 700kbps

I set the frame per second to 30

Here is the wowza log for chunks info

INFO server comment - LiveStreamPacketizerCupertino.endChunkTS[live/definst/24.sdp]: Add chunk: id:1 mode:TS[H264,AAC] a/v/k:74/179/6 duration:10722

Hi,

I finally found the problem - as you said it was an issue with the encoder settings - and it was a broken frame rate functionality (Apple depreciation=break the function :rolleyes:) that came with iOS.7

What is the homemade gocoder app?

It’s an app I made by myself that is doing almost the same as Wowza’s GoCoder app with custom functionalities, but it’s not yet in the app store (soon I hope :o)

Thank you for your precious help,

Hane

little bump, the final solution (video was smoother but still have strange stutter) was indeed :

The video is h.264 Main profile, Level 1.3. Try making it Baseline Profile, level 3 or lower.

Baseline lvl3 was way smoother, but I got some spikes (due to lack of B-Frame ?)