• Welcome to IPTV Community! You need login/register in-order to access forum without restriction.

Information related to MPEGTS/HLS


Contact for Reseller Panels
Premium Member
Jan 14, 2017
Reseller ID
Sharing some information here with the intention that it hopefully helps some people out or learn the way how it works:

Delivery of IPTV comes in 2 standards MPEGTS and HLS. In essence both function the same way (video is being split into small mpeg/ts chunks. While one chunk is being displayed, another one is being downloaded).
However... There is one big difference between the 2 standards.

MPEGTS is the older, widely supported format which is not aware of the network conditions.
That means it sends video chunks at a standard rate no matter the speed/condition of the internet.

HLS on the other hand is the newer standard, developed by Apple. Not yet 100% supported by all programs/devices. This standard is aware of the network speed/congestion. That means it can sense and switch the resolution of the video "on the fly", depending on the network conditions.

For IPTVstack, which uses the Xtream Codes API. The way to switch between the 2 standards is by changing the last part of the m3u link.
Pick MPEGTS with "output=ts", or pick HLS with "output=m3u8", or "output=hls". Those 2 last, both point to the same m3u list, composed of m3u8 links. This is so, because the standard of HLS uses a ".m3u8" list instead of a ".ts" list. This so far is the theory.

In case users having problems with the "output=ts".
As my client changed the link to "output=m3u8". His problem was solved directly. Channels started functioning perfectly. However if he would use the old MPEGTS standard. RapidIPTV would have difficult time to keep providing reliable stream for smooth FHD/720p@60fps. It will take up to several re-connections until it would be able to provide steady stream.


If people access RapidIPTV through the Xtream Codes API, they would only need credentials and the server and will get from the API all channels, picons and the EPG data. On the other hand, if people access RapidIPTV through a m3u list, than they need the corresponding EPG link. Getting EPG data from sources on the Internet does not work, because the XML m3u list has been created in such a way (country code at the end of name), which confuses any program trying to match EPG data to channel list. This is why your own EPG data is so important, since it is the only one to work perfectly with your channel list. Now... it is very easy to access that data and have the EPG link provided together with the m3u link to any customer.


Your m3u line: http://tv.xs4iptv.xdns.pro/get.php?username=abc&password=abc&type=m3u_plus&output=ts
Your EPG line: http://tv.xs4iptv.xdns.pro/xmltv.php?username=abc&password=abc

Your EPG line is the same as your m3u line, just delete the text after password and change " get.php? " in to " xmltv.php? "

CREDITS to my client @Sveto as he did the research and explained everything in details
Last edited:


Well-Known Member
Mar 25, 2017
Reseller ID
Could you explain further about the EPG. I did not understand how to implement it myself.
Here´s how to get full EPG .. Tutorial is for KODI but its the same for other apps using M3U :)

  • Like
Reactions: mixo


Jan 22, 2019
Here´s how to get full EPG .. Tutorial is for KODI but its the same for other apps using M3U :)

Worked like a charm. Many thanks
  • Like
Reactions: Sense