This topic doesn’t seem to be covered too well and I think it deserves a little more attention. In our backend panel (Xtream Codes), we have 2 ways to package streams. URL’s slightly vary based on the option provided to customers.

Those 2 Options are: HLS and MPEGTS. By default, we offer MPEGTS to all customers, as it is universally compatible with all devices and software on the market. Xtream-Codes in itself recommends customers to use MPEGTS by default as the container is compatible with all devices.

What in the world is HLS or MPEGTS?

HLS (HTTP Live Streaming)

This format is ideal if you are looking for adaptive bit rate method. The source files for this format are packaged in an MPEG-2 Transport Stream, which is then broken up into a series of smaller chunks (.ts files) and referenced in a .M3U8 playlist file index.  Clients read the index file to request the chunks in the correct sequence.  Depending on the available bandwidth the client will choose a chunk from an appropriate bitrate allowing for seamless transitioning between bit-rates.

HLS was developed to provide an alternative to Flash video. Technically speaking, HLS uses h.264 video compression, AAC or MP3 for audio compression, and transmits streams using the MPEG-TS container format.

Video streaming via HLS works by chopping a MP4 video stream into short, ~10 second video chunks. Streams are described using M3U8 playlists that are created by the HTTP server. This playlist, also called a manifest file, indexes the video chunks. Learn more about how this works here.


MPEG transport stream (transport stream, MPEG-TS, MTS or TS) is a standard digital container format for transmission and storage of audio, video, and Program and System Information Protocol (PSIP) data.[3] It is used in broadcast systems such as DVB, ATSC and IPTV.

MPEG-TS is designed for live streaming of events over DVB, UDP multicast, but also over HTTP. It divides the stream in elementary streams, which are segmented in small chunks. System information is sent at regular intervals, so the receiver can start playing the stream any time.

Although MPEG-TS has been around the block for a long time, it is not as advanced as HLS. It does not offer Adaptive Bit Rate control. On the other hand it has excellent compatibility and literally every device on the market supports it.

What option am I given during signup?

By default, every signup email consists of MPEGTS URL. HLS is available to everyone though, all you have to do is switch your URL. See above for example

Will this solve all my buffering problems?

Maybe, maybe not. I think the results will vary for customers, but it is a worthwhile option to try. I have provided this information to customers randomly as and when they experienced buffering problems and so far the results have been 50-50. Some saw instant solution to buffering problems, while others experienced no change.

Your mileage may vary, but you should try it.

Remember: In the end these are containers only; HLS can help with some buffering issues, but a lot still depends on your network, ISP, Device, Epicstream Servers and source for the video.

How do I use HLS or MPEGTS?

The only difference is what the URL ends with – m3u8 or ts.

M3U8 = HLS


You can easily change the URL to switch between HLS or MPEGTS





I hope this helps clarify some confusion around why I have been asking some users to switch URL’s.