Technical reference

How IPTV streaming actually works

Most IPTV guides tell you which buttons to press. This one explains what is happening underneath — the protocols, the playlist formats, the codecs, and the real reasons a picture stutters. Understanding the mechanism makes almost every problem diagnosable in a couple of minutes.

Start reading Browse the services

The chain, end to end

IPTV means television delivered over ordinary internet protocols instead of satellite, cable or terrestrial aerial. Nothing about the picture is different. What changes is the transport — and every part of that transport is a place where quality can be won or lost.

Step 1

Acquisition

A source feed arrives at the provider. It is already compressed, usually as MPEG-TS carrying H.264 or H.265 video.

Step 2

Transcoding

The feed is re-encoded into the bitrate ladder that will be offered — often several renditions of the same channel so weaker connections have somewhere to fall back to.

Step 3

Packaging

Video is cut into short segments and described by a manifest, or left as a continuous transport stream. This is the HLS versus MPEG-TS decision.

Step 4

Edge delivery

Segments are served from a machine geographically close to the viewer. Distance is latency, and latency is the single biggest cause of stalling.

Step 5

Authentication

The player presents credentials. The server checks the line is active, within its connection limit, and entitled to the requested channel.

Step 6

Playback

The player fills a buffer, decodes — ideally in hardware — and renders. A decoder without hardware support for the codec will struggle no matter how good the connection is.

Why this matters in practice. When something goes wrong, the fault is nearly always at one identifiable link in that chain. A channel that fails while every other channel works is a source problem. Every channel failing at once is authentication or routing. Everything fine until 8pm is congestion. The same picture stuttering only on one device is decoding.

Playlists, APIs and portals

Three delivery formats dominate, and knowing which one you are using explains most of what a player can and cannot do.

M3U and M3U8 playlists

An M3U playlist is a plain text file. Each channel is one #EXTINF line carrying metadata, followed by a URL. It is simple, universally supported, and completely static — the player receives the whole list at once and has no way to ask questions about it.

The practical consequence is size. A large playlist can run to hundreds of megabytes, which a phone will download slowly and a low-memory streaming stick may fail to parse at all. Attributes inside those lines do the organising work: group-title creates categories, tvg-logo supplies the channel icon, and tvg-id is the key that links the channel to its programme guide.

The Xtream Codes API

Xtream Codes replaces the flat file with a conversation. The player authenticates against player_api.php with a username and password, then requests only what it needs — categories first, channels within a category on demand, guide data separately. Nothing is downloaded until it is required.

That is why the same subscription feels dramatically faster in Xtream mode than in M3U mode on a modest device. It is also why Xtream supports features a playlist cannot express: series and film libraries with metadata, catch-up television, and an accurate account expiry the player can read and display.

MAG and stalker portals

MAG boxes use a portal model. The set-top box is identified by its MAC address rather than by a username, and the portal streams an interface to the box. The hardware stays deliberately simple because the intelligence sits on the server. This is why a MAG line is tied to one specific box: the MAC is the credential.

FormatHow it authenticatesBest suited toMain limitation
M3U / M3U8Credentials embedded in the URLAlmost any player, any platformWhole list loads at once; slow on large catalogues
Xtream CodesUsername and password against an APILarge catalogues, phones, sticks, smart TVsPlayer must actually support the API
MAG portalDevice MAC addressDedicated MAG and Formuler hardwareBound to one box; not portable

Codecs, bitrate and what resolution really costs

Resolution is the number everyone quotes, and on its own it says very little. A 4K stream starved of bitrate looks worse than a well-encoded 1080p one. What determines the picture is how many bits per second are available and how efficiently the codec spends them.

ResolutionH.264 (AVC)H.265 (HEVC)Notes
SD 576p1.5–2.5 Mbit/s0.8–1.5 Mbit/sComfortable on almost any connection
HD 720p3–5 Mbit/s2–3 Mbit/sA sensible fallback when Wi-Fi is weak
Full HD 1080p6–10 Mbit/s4–6 Mbit/sThe realistic everyday target
4K UHD30–45 Mbit/s15–25 Mbit/sNeeds hardware HEVC decoding to be watchable

H.265 reaches roughly the same quality as H.264 at about half the bitrate. The trade is processing cost: HEVC is far heavier to decode, so a device without dedicated hardware support will fall back to software decoding, and the result is dropped frames and a hot, throttling chip. Older streaming sticks are the usual casualties.

AV1 improves on HEVC again and is royalty-free, which is why it is spreading quickly in on-demand services. For live television it remains uncommon, because encoding it in real time is still expensive.

Where frame rate fits

Sport is the demanding case. Fast motion at 50 or 60 frames per second carries far more new information per second than a studio programme, so the encoder needs more bits to avoid smearing. A football match at 25fps on a low bitrate is where blocking artefacts appear first, and it is why a sports channel can look poor while a news channel on the same line looks perfect.

Why streams buffer — and how to tell which cause it is

Buffering is almost never a bandwidth problem. A 1080p stream needs under 10 Mbit/s, and most connections comfortably exceed that. The disruptive factors are latency, jitter and packet loss.

Distance and routing

Every segment is a request and a response. If the round trip to the server takes 200 milliseconds, the player spends a meaningful fraction of every second waiting rather than downloading. A speed test to a nearby city can report a superb figure while the route to the actual streaming server is congested — that is why speed tests so often fail to explain the problem.

Wi-Fi, which is usually the culprit

The 2.4 GHz band is shared with microwaves, Bluetooth devices, baby monitors and every neighbouring network. Interference shows up as retransmissions, which the player experiences as jitter. Moving to 5 GHz, or better still plugging in an Ethernet cable, resolves a large share of complaints on its own.

The player's buffer

A small buffer starts playback quickly but has no slack when the network hiccups. A larger buffer takes a moment longer to begin and then rides straight over the same interruption. If channels start fast and stall repeatedly, increasing the buffer in the player's settings is usually the fix.

Connection limits

A subscription permits a fixed number of simultaneous streams. Exceeding it does not always produce a clear error — sometimes it simply refuses to start, or drops an existing stream. A device left running in another room counts. So does a player that did not shut down cleanly and still holds its slot.

A diagnostic order that works. Test the same login on a phone using mobile data, with Wi-Fi switched off. If it is flawless there, the problem is your local network, not the service. If it stutters there too, try a different channel — one bad channel is a source issue, all channels is the line or the route.

The programme guide, and why it goes missing

The EPG is not part of the video. It is a separate XMLTV file — an XML document listing programmes, start times and descriptions — that the player fetches and matches against the channel list.

The join is made on tvg-id. Each channel in the playlist declares an id; each programme in the guide declares the channel it belongs to. When those two strings match, the guide appears. When they do not, you get a perfect picture and an empty guide, which is the single most common EPG complaint and has nothing to do with the stream itself.

Time zones are the second cause. XMLTV timestamps carry an offset, and a player set to the wrong region will show every programme shifted by a consistent number of hours. If the guide is right but uniformly wrong by three hours, the fix is in the player's timezone setting, not the guide.

Players and devices

A subscription is credentials; the player is the software that uses them. Any player that speaks Xtream Codes, M3U or a MAG portal will work, which covers the overwhelming majority of streaming hardware.

Strong 8K

Android TV, Fire TV, phones and tablets

The Strong 8K app installs on Fire TV Stick, Android TV boxes, phones and tablets using Downloader code 5322729. A Windows build is available for Windows 10 and 11.

Trex IPTV

Trex Player

Trex IPTV for Android TV uses Downloader code 3926837; the mobile, tablet and stick build uses 2270632. A Windows version is also published.

Generic

Third-party players

Xtream-compatible players are widely available for Android, iOS, Windows, macOS and most smart TV platforms. Enter the server URL, username and password and the catalogue loads.

Set-top

MAG and Formuler

Dedicated boxes authenticate by MAC address against a portal. Setup is a matter of entering the portal URL — the box handles the rest.

Choosing between Wi-Fi and Ethernet

If the device can take a cable, use one. Ethernet removes interference, retransmission and channel congestion in a single step, and it is consistently the highest-value change anyone can make to streaming reliability. Where a cable is impossible, 5 GHz Wi-Fi within line of sight of the router is the next best option.

Common questions

What is the difference between an M3U playlist and Xtream Codes?

An M3U playlist is a flat text file listing every channel and its stream URL. Xtream Codes is an API: the player asks a server for the channel list, so categories, the programme guide and catch-up arrive as structured data rather than one long file. On a large catalogue the difference in loading speed is dramatic.

Why does a stream buffer even on fast internet?

Raw download speed is rarely the limit. Buffering usually comes from latency and packet loss on the route to the edge server, Wi-Fi congestion on the 2.4 GHz band, an underpowered decoder in the device, or a player cache set too small for the bitrate being delivered.

What bitrate does a 4K stream need?

A 4K stream in H.265 typically runs between 15 and 25 Mbit/s. The same picture in H.264 needs roughly double, because H.265 reaches comparable quality at about half the bitrate — at the cost of much heavier decoding.

What is an EPG and where does it come from?

The EPG is the programme guide, delivered as XMLTV — a separate XML file mapped to channels by a tvg-id attribute. If the ids in the playlist do not match the ids in the guide, the channel shows no programme information even though the stream plays perfectly.

Does a VPN help or hurt?

Both, depending on the cause. A VPN adds a hop, which adds latency and usually reduces throughput. But when your ISP is routing badly to the streaming server, a VPN can accidentally provide a better path. It is worth testing for an evening; it is not a default recommendation.

Why does one channel fail while everything else works?

Because that channel's source is down or being re-encoded. Nothing about your connection, device or subscription is involved. If every channel fails at once, that is authentication, routing or a connection limit — a different problem entirely.

Chat with usUsually replies in minutes