Skip to main content
Participant
May 26, 2014
Question

Possible to configure HLS segments with different URL than governing M3U8 playlist?

  • May 26, 2014
  • 0 replies
  • 435 views

Currently we have 4 AMS servers with VOD applications for RTMPe and HLSe. These are load balanced by round-robin DNS, such that any request to VOD content could hit one of 4 servers depending on the DNS record served (DNS TTL=5mins).

RTMPe works fine 100% of the time. We are having intermittent issues with HLSe and IOS devices in that randomly the stream will stop in our player (Brightcove based). Player logs seem to indicate requests to HLSe segments showing as not found/error when the content freeze occurs.

My initial guess is that requests to VOD content may come from one AMS server and contain segment URLS also based on the DNS round robin hostname, then potential mid-playlist the DNS updates and you request the next segments from another server, potentially causing issues(??).

e.g.

Playlist:

http://DNS-RR-HOSTNAME/mycontent.m3u8 - DNS resolves to AMS01, playlist served by AMS01

Segments:

http://DNS-RR-HOSTNAME/mycontent-seg01.ts - served by AMS01

http://DNS-RR-HOSTNAME/mycontent-seg02.ts - served by AMS01

http://DNS-RR-HOSTNAME/mycontent-seg03.ts - served by AMS01 (DNS flips to AMS02).

http://DNS-RR-HOSTNAME/mycontent-seg04.ts - served by AMS02

http://DNS-RR-HOSTNAME/mycontent-seg05.ts - served by AMS02

Could this situation potentially cause player to halt playout? Is it possible to configure AMS to serve the HLS segments using a different hostname, whilst still being able to serve the playlist from the DNS RR hostname. This way the playlist would return a list of segments direct from the server that served the initial playlist. e.g.

Playlist:

http://DNS-RR-HOSTNAME/mycontent.m3u8 - DNS resolves to AMS01, playlist served by AMS01

AMS01 serves segments with hostname of itself only:

Segments:

http://AMS01-DIRECT-HOSTNAME/mycontent-seg01.ts

http://AMS01-DIRECT-HOSTNAME/mycontent-seg02.ts

http://AMS01-DIRECT-HOSTNAME/mycontent-seg03.ts

http://AMS01-DIRECT-HOSTNAME/mycontent-seg04.ts

http://AMS01-DIRECT-HOSTNAME/mycontent-seg05.ts

Playlist:

http://DNS-RR-HOSTNAME/mycontent.m3u8 - DNS resolves to AMS02, playlist served by AMS02

AMS02 serves segments with hostname of itself only:

Segments:

http://AMS02-DIRECT-HOSTNAME/mycontent-seg01.ts

http://AMS02-DIRECT-HOSTNAME/mycontent-seg02.ts

http://AMS02-DIRECT-HOSTNAME/mycontent-seg03.ts

http://AMS02-DIRECT-HOSTNAME/mycontent-seg04.ts

http://AMS02-DIRECT-HOSTNAME/mycontent-seg05.ts

    This topic has been closed for replies.