Casting IPTV to your TV with AirPlay or Chromecast

Guides · Published · 6 min read

A phone is a good place to browse a guide and choose a channel. A television is a better place to watch it. Casting joins the two: you pick on the phone and the picture appears on the big screen. It works well when it works and is baffling when it does not, mostly because AirPlay and Chromecast do different jobs under similar names. This guide explains both, what each requires, why a stream can refuse to cast, and how to troubleshoot.

Three different things people call casting

  1. AirPlay video. Your phone hands the television the address of the stream, and the television fetches and plays it itself. The phone becomes a remote and can be locked or put away.
  2. Chromecast. Your phone finds a Chromecast device or a television with Chromecast built in, and starts a session on it. How the video then reaches the television depends on the app: either the television fetches the stream by its address, or the phone relays the stream to it.
  3. Screen mirroring. The television shows a copy of exactly what is on the phone's screen. It works with almost anything but is the least elegant: the picture is letterboxed to the phone's shape, quality is lower, and the phone must stay awake and in use.

What AirPlay needs

  • An AirPlay-compatible receiver: an Apple TV, or one of the many recent smart televisions and speakers that support it.
  • The phone and the television on the same network.
  • A stream the television can play on its own, because the television does the fetching. Televisions are fussier than phones about formats, so a stream a phone plays happily may be one the television will not.

On an iPhone, the AirPlay button appears in the player and in Control Centre. When you choose a television there, apps that support AirPlay video send the stream across. If an app does not, Control Centre's Screen Mirroring still works as a fallback.

What Chromecast needs

  • A Chromecast device, or a television or box with Chromecast built in, such as many Android TV and Google TV products.
  • The phone and the television on the same Wi-Fi network. On iPhone, the app must also be allowed to talk to devices on your local network. iOS asks for "Local Network" permission the first time an app looks for them. If you said no, casting will find nothing until you allow it in Settings.
  • Support for casting inside the app. The app finds the device and starts a session.

Casting from an iPhone to a Chromecast does not need an Apple device on the television end. It is a good route for homes that use an Android television or a Google TV box.

Why some IPTV streams refuse to cast

IPTV streams are the awkward case because they come in whatever format the provider chose:

  • Format. Many IPTV channels are raw MPEG-TS streams. Phones and dedicated players cope; televisions often do not play a raw transport stream directly. HLS (the .m3u8 kind) is far more widely supported. Some providers serve an HLS version of each channel next to the raw one, and a player that knows this can swap to it for casting.
  • Codec. A stream can be in a perfectly valid container and still contain video or audio a television cannot decode. No app can see this in advance. The stream fails when it starts.
  • Provider rules. Some providers accept only specific apps, identified by a string sent with each request, or allow only one connection. A television that fetches the stream itself connects as a new device and may be refused, even though your phone is allowed.
  • Connection limits. A stream on the television plus a stream on the phone is two connections. If your plan allows one, the second one fails.
  • Network design. Guest networks, "AP isolation" settings and separate network segments stop the phone and television from seeing each other.
  • VPN. A VPN on the phone can hide the local network, so devices disappear.

When a stream fails to cast, a good app should say so and why, rather than failing silently. Treat a vague failure as information: try another channel to see if the problem is one stream or all of them.

Troubleshooting checklist

Work in order:

  1. Same network. Confirm the phone and the television are on the same Wi-Fi network and not on a guest or "IoT" network. Some routers have both a main and a guest network that cannot see each other.
  2. Local Network permission. On an iPhone, open Settings, find the app, and make sure Local Network is on. Without it, Chromecast discovery finds nothing.
  3. Turn off any VPN on the phone while you test.
  4. Restart. Restart the app, then the television or Chromecast, then the router.
  5. Wake the television. Some televisions need to be on, or in a mode that listens for casts, before they show up.
  6. Move closer, or wire the television. A stuttering cast often means a weak Wi-Fi link at the television end. Plug it into the router with a cable if you can. See How to stop IPTV buffering.
  7. Try the other route. If AirPlay refuses a channel, try Chromecast, or the reverse. If neither works, mirror the screen from Control Centre.
  8. Try another channel. This tells you whether the problem is the channel's format or the whole setup.
  9. Check your connection limit with the provider, and close the stream on other devices.
  10. Update. Update the app, the iPhone's system and the television's software.

If the television says it cannot play the stream, no setting on your side will change the stream's format. The remaining options are another casting route, or asking the provider whether a TV-compatible version exists.

Battery, locking and keeping the phone on

How long the phone must stay awake depends on the method:

  • AirPlay video: the phone is a remote and can lock.
  • Chromecast through a relay in the app: the phone is doing work, so it needs to stay on the network and, ideally, on charge for a long programme. Whether it can be locked depends on the app.
  • Screen mirroring: the phone must stay unlocked and on.

For a full match, plug the phone in.

Quality expectations

Casting does not improve a stream; it can only carry what the provider sends, at best. A stream at standard definition looks like standard definition on a large television. If the picture looks soft on a big screen, the provider's stream is the limit, not the casting method.

Where GridTV fits

GridTV has both buttons in the player. The AirPlay button hands a television the stream's address; for Xtream-style logins, it looks for the HLS version of a channel that most such providers also serve, because televisions play that where they will not play the raw stream. If a channel has no TV-compatible version, GridTV says so, and audio still goes to the AirPlay device.

For a Chromecast, GridTV makes the phone relay the stream: it sends the Chromecast a stream it can play, converting what the television cannot decode. That also means the provider sees one connection, and a provider rule about which app is allowed is respected. GridTV asks for Local Network access the first time you tap Cast, and uses it only to find Chromecast devices on your own Wi-Fi. If none are found, it says to check that the television is on, on the same Wi-Fi, and that GridTV has Local Network access.

Casting sends one channel at a time. GridTV supplies no channels, and whether a stream plays on a television is partly up to your provider.

Keep reading