Name is required.
Email address is required.
Invalid email address
Answer is required.
Exceeding max length of 5KB

Stuttering playback using HLS, CloudFront and Zencoder.


I'm using JWPlayer to play a HLS stream that is adaptive, and when the client goes from one HLS segment to another (not switching bitrates) playback stutters. The version of JWPlayer I'm using is 6.8.4616.

You can see our example here:

To illustrate the problem more clearly I've switched to 5 seconds segments rather than the traditional 10.

I've checked the .ts files for starting with a keyframe with ffprobe and they all start with a proper keyframe.

For example here is are some .ts file that is produced as part of our 4564k stream:

All of the .ts files are consistent in size, around 3megs each. They are hosted on Amazon CloudFront.

For the benefit of other users here are the Zencoder settings I"m using to produce one of these adaptive streams:

"width" : 1920,
"live_stream" : "true",
"segment_seconds": 5,
"forced_keyframe_rate": "0.2",
"decoder_buffer_size" : 20538,
"video_bitrate" : 4500,
"decoder_bitrate_cap" : 6846,
"audio_bitrate" : 64,
"max_hls_protocol_version" : 4,
"audio_sample_rate" : 44100,
"h264_profile" : "main",
"tuning" : "film",
"format" : "ts",
"type" : "segmented"

Do you have any different suggested Zencoder settings to use to prevent stuttering playback of HLS on flash based clients?

It also seems on some older hardware that Flash is falling back to software based H.264 decoding, is there a way to force hardware decoding so that functionality and performance is in parity with RTMP?


3 Community Answers


JW Player Support Agent  
0 rated :

For best results, we highly suggest the use of 10 second segments with HLS. This goes along with Apple’s recommendations.


0 rated :


Please re-read the message, the same problem is exhibited at 10 second segments. 5 seconds shows the problem even more.



JW Player Support Agent  
0 rated :

Is this stream not running currently? I’m seeing a few 404 errors for all stream assets.

This question has received the maximum number of answers.