For most IPTV setups the safe answer is H.264 video with AAC audio, delivered as MPEG-TS (.ts) or HLS (.m3u8). Use H.265 (HEVC) when your device can decode it and you want a sharper picture at the same bandwidth. The rest of this guide explains what those names mean, why "m3u8" appears in so many places, and how to fix the usual playback problems.
Key Takeaways
- IPTV has three layers that people mix up: the playlist (M3U, M3U8, Xtream), the stream format (MPEG-TS or HLS) and the codecs (H.264, H.265 for video, AAC or AC-3 for audio).
- Stream format: MPEG-TS has lower latency, HLS adapts better to changing networks. If one stutters, try the other.
- Codec: H.264 plays almost everywhere. HEVC can need 25% to 50% less data at the same quality, but only helps if your device decodes it.
Quick pick
- Wired Android TV box or TV, live channels: try MPEG-TS first, switch to HLS if it stutters.
- Phone, tablet, weak Wi-Fi: try HLS (.m3u8) first.
- Video but no sound: the audio codec is the likely cause, not the video.
The three layers of an IPTV stream
When people ask for the "best IPTV format", they usually mean one of three different things. Separating them removes most of the confusion.
A channel can fail at any layer. The playlist may not load, the stream format may stutter on your network, or your device may lack the codec. Knowing which layer is at fault tells you what to change.
What is an M3U8 file?
M3U8 is a playlist file, not a video format. It is the same plain-text M3U playlist idea, saved as UTF-8 text. The difference between .m3u and .m3u8 is the character encoding: an M3U8 file must be UTF-8, according to Wikipedia's M3U article. In practice many systems use UTF-8 for both, so players read either one.
The confusing part is that the same extension has two jobs:
- A channel list: an
.m3uor.m3u8file that lists many channels, each with a name, a group and a stream address. This is what an IPTV provider gives you. - An HLS manifest: a
.m3u8file that describes one live stream split into small segments. HLS (HTTP Live Streaming) is defined in RFC 8216 and uses the same playlist syntax with extra tags that start with#EXT-X-.
So "an m3u8 stream" can mean either a list of channels or one HLS stream, depending on the context. For the difference between playlist types in a player, see our guide to the best IPTV players for Android.
Best stream format for IPTV: MPEG-TS or HLS?
Most Xtream Codes providers and many M3U playlists offer a channel as MPEG-TS, as HLS, or both. The two formats trade latency for adaptability:
| Property | MPEG-TS (.ts) | HLS (.m3u8) |
|---|---|---|
| Latency | Lower | Higher, because of segments |
| Delivery | Continuous stream | Short segments fetched over HTTP |
| Adapts to bandwidth changes | Less | More, through adaptive bitrate streaming |
| Device support | Wide in IPTV players | Native on Apple devices and many players |
| Typical use | Live TV on a TV box | Phones, tablets, changing networks |
The comparison above follows Castr's MPEG-TS vs HLS comparison. On the Android side, the Media3 ExoPlayer documentation lists MPEG-TS as a supported progressive container and as a segment format inside HLS, so Android players handle both.
Rule of thumb: try MPEG-TS first for live channels on a wired TV or box, and HLS first on a phone or on a weak connection. If a channel stutters or will not start in one format, switch to the other before changing anything else. Exact results depend on your provider's server, so test both on your own network. If buffering persists, see how to optimize IPTV streaming quality.
Which video codec is best for IPTV?
A codec compresses video so it fits through your connection. IPTV streams almost always use one of these:
| Codec | Best for | Android decoding support |
|---|---|---|
| H.264 (AVC) | The default for SD, HD and Full HD. Plays almost everywhere. | Android 3.0 and newer |
| H.265 (HEVC) | Full HD and 4K at lower bitrate | Android 5.0 and newer; on Android TV up to Main Profile Level 4.1 |
| MPEG-2 | Older codec from legacy digital TV and DVD. Rare in modern IPTV. | Varies by device |
| VP9 | Streams that come from YouTube-style sources | Android 4.4 and newer |
| AV1 | Newer, royalty-free, efficient; rare in live IPTV | Decoder from Android 10 |
The Android versions come from the Android supported media formats page. Support in practice also depends on the device's hardware decoder, and the Media3 documentation notes that codec support depends on the device.
HEVC vs H.264: is H.265 better for IPTV?
HEVC was standardized in 2013 and can reach roughly 25% to 50% better compression than H.264 at the same quality, per Wikipedia's HEVC article. In plain terms: the same picture needs less bandwidth, or the same bandwidth gives a cleaner picture. That matters most for 4K and for weak connections.
The catch is compatibility and licensing. HEVC is patent-encumbered and licensed through several pools, which slowed its adoption, and older boxes and budget devices may decode it badly or not at all. If an HEVC channel shows a black screen, green blocks or heavy stutter, ask whether your provider offers the same channel in H.264, or switch the stream format.
Is AV1 used in IPTV?
AV1 is a royalty-free codec that compresses better than H.264 and is designed to compete with HEVC. Decoder support on Android starts with Android 10, but hardware AV1 decoding is still less common than HEVC, so AV1 channels are rare in live IPTV. Treat AV1 as something to test on a recent device, not as a default.
Hardware vs software decoding
A device decodes video in one of two ways. Hardware decoding uses a dedicated chip, so it is fast and uses little CPU or battery. Software decoding runs on the CPU, which works for light streams but can overload a weak box with 1080p or 4K. The Media3 documentation notes that Android's default decoder selection can fall back to a software decoder when a stream exceeds what a hardware decoder supports, which is one reason a heavy HEVC channel can stutter on a budget device even though it "plays".
Practical consequence: a codec that your device decodes in hardware is smooth, and the same codec in software may not be. If a 4K or HEVC channel stutters while others play fine, the decoder, not your internet connection, is the likely bottleneck.
What does "raw" mean in IPTV?
Some providers label a stream "raw" when it is passed through without being re-encoded, so it keeps whatever codec the original broadcaster used. Labels differ between providers, so confirm the meaning with yours. A passed-through HEVC stream follows the same rules as any HEVC stream: it plays only if your device decodes it.
How much bandwidth does IPTV need?
The bitrate of a live stream depends on resolution, codec and provider, and you cannot read it from the file type alone. As a baseline, Netflix recommends a connection of 3 Mbps for HD (720p), 5 Mbps for Full HD (1080p) and 15 Mbps for Ultra HD (4K) for a single stream, according to the Netflix Help Center. Use these as a floor for one H.264 or HEVC stream, then add headroom for other devices on the same Wi-Fi.
HEVC and AV1 are designed to need less bandwidth at the same quality, which is why a 4K channel is more realistic over HEVC than over H.264 on a modest connection. If your connection is close to these numbers, a wired link and a higher buffer in your player help more than changing codecs.
Audio codecs: why there is video but no sound
Audio is the layer that fails most quietly. A device can decode the video perfectly and still play silence, because the audio codec in the stream is one it does not support.
- AAC: the standard for most IPTV streams and supported almost everywhere.
- MP3: universal and light, common for radio and basic streams.
- AC-3 (Dolby Digital), E-AC-3 and DTS: surround codecs used on many movie and sports channels. Support depends on the device's own decoders. The Media3 documentation lists them among formats that need an optional software extension, so a player without it relies on what the device provides.
If a channel has video but no sound, first look for another audio track or another version of the channel, then try the other stream format. Surround channels often ship stereo AAC alternatives.
Containers and file types you may meet
| Format | What it is | In IPTV |
|---|---|---|
| .ts (MPEG-TS) | Transport stream used in broadcast | Most common for live channels |
| .m3u8 (HLS) | Playlist of short media segments | Common for live and on-demand |
| .mp4 | General-purpose video container | Typical for movies and series (VOD) |
| .mkv | Flexible container, many tracks and subtitles | Seen in VOD libraries |
Live channels are almost always TS or HLS. MP4 and MKV appear mainly in video-on-demand libraries. Older containers such as AVI and MOV are rare in modern IPTV.
Do you need to install codecs?
No. On Android you do not install codec packs. The player uses the decoders built into your phone or TV, and a download that promises "free codecs for IPTV" is more likely to carry adware than help. If a stream will not play, change the stream format, try another channel version or update the device software, rather than installing a codec pack.
How to fix common format and codec problems
| Symptom | Likely cause | What to try |
|---|---|---|
| Video plays, no sound | Audio codec not supported (often AC-3 or DTS) | Another audio track or channel version, other stream format |
| Black screen or green blocks | HEVC the device cannot decode well | H.264 version of the channel, other stream format |
| Stutters every few seconds | Connection or provider server | Ethernet or 5 GHz Wi-Fi, HLS instead of TS, larger buffer |
| Will not start | Wrong or expired address, geo-block | Check the playlist link, try another channel, retry later |
| Channel list is empty | Playlist link expired or not a playlist | Re-add the playlist, check it opens in a browser |
How IPTV Player & Live TV handles formats
IPTV Player & Live TV reads M3U, M3U8, W3U, XSPF, JSON and Xtream Codes playlists. It plays HLS and MPEG-TS streams through Android's Media3 (ExoPlayer) player, so decoding uses your device's own decoders. It also has five buffering modes, from Low latency to Poor network, which you can change in the player when a stream stutters. The app does not have a program guide; for that, see what an EPG is and how it works. To set it up on a TV, follow our Android TV guide.
New to IPTV itself? Start with what IPTV is and how it works. When you are ready, install IPTV Player & Live TV from Google Play.
Frequently asked questions
What is the best stream format for IPTV?
There is no single best format. MPEG-TS has lower latency and suits live channels on a wired TV or box. HLS (.m3u8) adapts better to changing networks and suits phones and weak Wi-Fi. Try one, and switch if the channel stutters.
What is the best codec for IPTV?
H.264 is the safest choice because almost every device decodes it. H.265 (HEVC) saves bandwidth, roughly 25% to 50% at the same quality, but only if your device supports it well.
What does M3U8 mean?
M3U8 is an M3U playlist saved as UTF-8 text. It can be a list of channels, or an HLS manifest that describes one stream split into segments.
What is the difference between M3U and M3U8?
The difference is the text encoding: an M3U8 file must be UTF-8, while an M3U file may use another encoding. Most players read both, and many providers use the names interchangeably.
Is HEVC better than H.264 for IPTV?
HEVC compresses better, so it can give a sharper picture at the same bandwidth. H.264 is more compatible. If your device handles HEVC smoothly, use it for 4K and weak connections, otherwise stay with H.264.
Why do I have video but no sound on an IPTV channel?
The audio codec is probably not supported by your device, often AC-3, E-AC-3 or DTS. Try another audio track, another version of the channel or the other stream format.
Do I need to install codecs for IPTV on Android?
No. Android players use the decoders built into the device. Avoid downloads that promise free codec packs.
Sources
- Android Developers, "Supported formats" (Media3 ExoPlayer), retrieved 2026-10-11, https://developer.android.com/media/media3/exoplayer/supported-formats
- Android Developers, "Supported media formats," retrieved 2026-10-11, https://developer.android.com/media/platform/supported-formats
- Wikipedia, "M3U," retrieved 2026-10-11, https://en.wikipedia.org/wiki/M3U
- Wikipedia, "High Efficiency Video Coding," retrieved 2026-10-11, https://en.wikipedia.org/wiki/High_Efficiency_Video_Coding
- IETF, RFC 8216, "HTTP Live Streaming," https://datatracker.ietf.org/doc/html/rfc8216
- Netflix Help Center, "Internet connection speed recommendations," retrieved 2026-10-11, https://help.netflix.com/en/node/306
- Castr, "MPEG-TS vs HLS," retrieved 2026-10-11, https://castr.com/blog/mpeg-ts-vs-hls/
- The Level Up, IPTV Player & Live TV source code (Media3 ExoPlayer with HLS, supported playlist formats, buffering modes), release 3.04, October 2026