Hi,
Could you give me some more details about your setup? Is your Spinnaker publishing HLS packaged content directly to Akamai or are you using another streaming format (such as RTMP or HDS or Smooth) and that is being transmuxed into HLS packaged content?
HLS streams switch on segment boundaries. Each segment begins with some decoder configuration and if this is missing or comes in late, the decoder uses a configuration (resolution, frames per second, profile, level, etc...) for the previous streams bitrate.
If it's the former (your encoder packages), I would make sure your encoder is configured to use the same keyframe interval/GOP size settings across every bitrate rendition. Each segment needs to start with an IDR frame (keyframe). The segment sizes should also be the same. You're likely getting macroblocks here because of a misalignment of segments and the necessary (keyframe and configs) being present at the beginning of the segment.
Additionally, the same GOP size, you'll want to make sure the frames per second is consistent across all the renditions as well. It's not necessary the H.264 profile, level and stream dimensions are the same across bitrates.
If you're publishing in a different format and Akamai is packaging content into HLS for you, then you will need to speak to them and make sure they are forcing an IDR (keyframe) at the beginning of each segment. This is an option in their HLS packaging configs.
Cheers,
- brad