Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Live Streaming - Best Practices and Troubleshooting

Live Streaming - Best Practices and Troubleshooting

It's not always sites with obvious performance problems that can benefit from Akamai. Scalemates.com is the world's largest scale-modeling website, and ever since its launch was a well-tuned website with solid performance scores. But its global user experience was less than ideal, challenged by a high amount of uncacheable, dynamic and long-tail content. In this session, you'll hear from Scalemates to learn how they first developed best practices for Luna monitoring to provide highly granular visibility into the impact of tuning efforts. You'll then see how they tuned effectively for performance, offload and operational efficiency in a DevOps model, addressing advanced approaches for offloading super-dynamic content (when is it better not to cache?), implementing more than 1 million responsive images of high quality, optimizing for third-party content, and tuning performance and flow end-to-end, from client to edge to origin. This will be a technical discussion sharing a number of best practices to help you reach performance goals and get the most out of your Akamai solution.

Akamai Developer

October 11, 2017
Tweet

More Decks by Akamai Developer

Other Decks in Technology

Transcript

  1. © AKAMAI - EDGE 2017 MSL 3.2 Best practices Stream

    Packaging - Keyframes / bitrate sync - Out of order timestamps - Audio and Video sequence headers at beginning of stream - Restart of long running encoders - (21 days) - HLS Spec (query string) HLS Ingest (HLS, HDS, DASH Ingest) - monotonically increasing segment numbers - Segment directory rollover every 2K - Unique Session ID for ts - URL formatting for m3u8 - Use relative path for playlists and fragment (not absolute)
  2. © AKAMAI - EDGE 2017 MSL 3.2 Best practices Stream

    Packaging - Keyframes / bitrate sync - Out of order timestamps - Audio and Video sequence headers at beginning of stream - Restart of long running encoders - (21 days) - HLS Spec (query string) HLS Ingest (HLS, HDS, DASH Ingest) - monotonically increasing segment numbers - Segment directory rollover every 2K - Unique Session ID for ts - URL formatting for m3u8 - Use relative path for playlists and fragment (not absolute)
  3. © AKAMAI - EDGE 2017 MSL 3.2 HLS Ingest Best

    practices Master Playlist http://akatec-i.akamaihd.net/streamid/hls/live/eventname/master.m3u8 Child Playlist http://akatec-i.akamaihd.net/streamid/hls/live/eventname/1000K/1000K.m3u8 http://akatec-i.akamaihd.net/streamid/hls/live/eventname/2000K/2000K.m3u8 http://akatec-i.akamaihd.net/streamid/hls/live/eventname/3000K/3000K.m3u8 http://akatec-i.akamaihd.net/streamid/hls/live/eventname/4000K/4000K.m3u8 TS segments: http://akatec-i.akamaihd.net/streamid/hls/live/eventname/sessionID/1000K/directory1/somename_1.ts http://akatec-i.akamaihd.net/streamid/hls/live/eventname/sessionID/2000K/directory1/somename_1.ts sessionID= encoder start time http://akatec-i.akamaihd.net/streamid/hls/live/eventname/sessionID/1000K/directory2/somename_1.ts http://akatec-i.akamaihd.net/streamid/hls/live/eventname/sessionID/2000K/directory2/somename_1.ts Directory rollover: 5.5 hours or 2000 segments
  4. © AKAMAI - EDGE 2017 AkaTec case lifecycle • Problem

    Definition • Identify Scope • Gather information • Analyze information • Eliminate possible cause(s) • Mitigate and Recommend
  5. © AKAMAI - EDGE 2017 MSL 3.2 self-service troubleshooting Stream

    Packaging - Issue is on all bitrates or few - Make use of the bitrate query string - Issue is on Primary or backup - Make use of the play-only query string - Traceroute from Encoder to EP - DEEM’s (what does it do and why does it help) - Stop primary/backup and restart after 2 mins - Playback from EntryPoint using LUNA(EP debug player) HLS Ingest - Curl or request to see if playlist is updated - Traceroutes from Encoder to Edge - Encoder retrying on a failure - Issue seen against one Edge or multiple -Both primary and backup impacted?
  6. © AKAMAI - EDGE 2017 MSL 4 best practices Publishing/Encoding

    - No directory rollover needed - Use qualified encoder (Header, segment numbering, retry logic, etc.) - Use Ingest Acceleration - Supports only Apple HLS as the ingesting format for a stream - Live Transcoding - Split configuration allows for multiple delivery configurations to access the same MSL ingest origin configuration.
  7. © AKAMAI - EDGE 2017 AkaTec case lifecycle • Problem

    Definition • Identify Scope • Gather information • Analyze information • Eliminate possible cause(s) • Mitigate and Recommend
  8. © AKAMAI - EDGE 2017 MSL4 troubleshooting Check publishing path

    • http://p-ep50002.i.akamaientrypoint.net/50002/test79 • http://b-ep50002.i.akamaientrypoint.net/50002-b/test79 Check Encoder and IAS server for any errors Delivery (AMD) • Ensure proper digital property and path are used • Playback Primary vs Backup stream