Skip to main content
Version: 7.5.0

How can I distribute 4K content?

The ability to play 4k mostly depends on hardware. While the video player is responsible for passing on the data to the decoders, limitations to 4K playback often stem from the device, hardware, operating system or platform (e.g. Chrome, iOS app, Android TV app, ...). When either of these is unable to handle 4K content, you might be out of luck. It's important to ensure all of these boxes are checked.

Why? Streams above 1080p, like 4K (i.e. 2160p) and 8K, are usually packaged through codecs like HEVC (H.265), VP9 and AV1. Your device, hardware, operating system or platform might not be able to decode the selected codec. For example, Chrome lacks support for decoding HEVC. It's also possible that your platform doesn't support a specific codec profile or feature (e.g. HDR through Dolby Vision at 60fps) of a selected codec. While technically you can also do 4K streaming with AVC (H.264), it is often too inefficient from a bandwidth perspective. We will leave this out of scope for the remainder of the document.

Common issues when playing 4K content

Let's zoom in on our previous statement:

Limitations to playback of 4K often stem from the device, hardware, operating system or platform.

One of these individual components could be disrupting support for 4K streaming.

  • Device ─ Your device might not have the capabilities to render the codec which represents your stream, or you might be using a model which doesn't support the selected codec. For example, Chromecast devices from Generation 1, 2, 3 and 4 only support H.264 and VP8 up until 1080p, and don't offer any support for 4K. However, the Chromecast Ultra does offer 4K streaming through HEVC and VP9 including HDR at 60fps.
  • Hardware ─ You might be connecting a device to a monitor incapable of rendering 4K, or you might be using a cable which cannot transfer your stream at the required rate. The leveraged hardware will usually downscale your video or even provide no feed at all.
  • Operating System & Environment ─ Your operating system might not offer decoding support for a specific codec. For example, Apple didn't add support for 4K to iPhones until iOS 11 through HEVC. Chrome still doesn't support HEVC across any platform (except for on the iOS platform), and you have to use VP9 or AV1 to decode a 4K stream when using the browser.
  • Platform ─ Your platform might not offer decoding support for a specific codec. For example, Android offers decoding support for 4K through HEVC through Android applications, but not through Android browsers like Chrome.

4K supported platforms

It's tough to provide a global view on platforms which support 4K streaming. In theory, you would have to maintain an overview of all supported codecs (and codec profiles and features) per version per model per platform. You could then consult this overview to check if your selected codec (and profiles/features) are supported on your targeted platforms. This overview would be challenging to maintain, because updates to platforms change the support for certain codecs, and new models of a specific platform could offer different support for a specific codec. For example, while the Chromecast Generation 4 offers no support for 4K through HEVC, Chromecast Ultra does.

Please consider the table below as a generic snapshot in time. The platforms below can handle 4K streaming, but only if the appropriate codecs, platform versions and device (models) are used. It's perfectly possible that you're not able to get your 4K stream to run on one of the platforms listed below, for example because you're using an unsupported codec.

PlatformNotesTHEOplayer SDK
BrowserDepends on the device, browser and codecWeb SDK
iOSDepends on the device and codec, but could support:
HDR10, Dolby Vision, HEVC
iOS/tvOS SDK
iPadOSDepends on the device and codec, but could support:
HDR10, Dolby Vision, HEVC
iOS/tvOS SDK
Apple TVDepends on the device and codec, but could support:
HDR10, Dolby Vision, HEVC SDR with 60fps, HEVC
iOS/tvOS SDK
AndroidDepends on the device and codecAndroid/Fire TV SDK
Android TVDepends on the device and codecAndroid/Fire TV SDK
AirPlayDepends on the device and codecWeb SDK, iOS SDK
AirPlay 2Depends on the device and codecWeb SDK, iOS SDK
Chromecast ReceiverDepends on the device and codec, but could support:
HDR10, Dolby Vision, HEVC, VP9, 60fps
Web SDK, Chromecast SDK
Chromecast TVDepends on the device and codec.Web SDK, Chromecast SDK
Fire TVDepends on the device and codec, but could support:
HDR10, Dolby Vision, HEVC, VP9, AV1, 60fps
Android/Fire TV SDK
RokuDepends on the device and codec, but could support:
HDR10, Dolby Vision, HEVC, VP9, 60fps
Roku SDK
TizenDepends on the device and codec, but could support:
HEVC, VP9, AV1, 60fps, 8K
Web SDK
webOSDepends on the device and codec, but could support:
HEVC, AV1, 60fps, 8K
Web SDK
XboxDepends on the device and codecWeb SDK
PlayStationDepends on the device and codecWeb SDK

As this table is in flux, when you decide to implement 4K we encourage you to investigate if anything has changed for the platforms you are targeting (tip: searching for keywords like "Chromecast Media Capabilities 4K" often provides good results) or to reach out to the THEO support team with specific questions.

Video players and decoding

Video players usually don't do software decoding and instead rely on the native decoding capabilities offered by the selected platform through a native API as player-based decoding would be highly inefficient for power consumption and often requires a lot of computational performance. For example, on Desktop Chrome, video players leverage the Media Source Extensions API to decode the actual H.264 (or VP9 or AV1 or ...) codec representing your stream.

That being said, a video player might still be the one to blame when your viewers aren't seeing the beautiful 4K representation of your stream. Your video player should be able to correctly parse, extract and leverage the 4K stream from your HLS or MPEG-DASH manifest when your 4K representation can be applied. This functionality might not be implemented in your video player.

THEOplayer supports 4K streaming out of the box. For specific devices, specific configuration recommendations can apply in order to achieve 4K streaming efficiently.