You load an 8K VR video onto your phone, drop it into a headset, and get a slideshow instead of a video. Or it plays, but a few minutes in the audio has run ahead of the picture. Or the file opens to a black screen and nothing happens at all.
These are usually blamed on the phone not being powerful enough. In practice there are three separate causes, and the fix depends entirely on which one you're hitting. This article covers how to tell them apart.
The jump from 4K to 8K is larger than the names suggest. Both dimensions double, so the pixel count is four times higher. A 7680×3840 frame holds roughly 29.5 million pixels, and at 60fps your phone has to decode and draw that sixty times a second.
VR video adds three complications on top of that.
A 360° video is painted onto the inside of a sphere, and you look at a slice of it from the centre. Even though maybe ten percent of the image is in view, the decoder is still processing the entire 8K frame. There is no way to skip the parts you aren't looking at.
The decoded frame becomes a GPU texture, and every device caps how large a texture can be. On most Android hardware that cap is 8192 pixels.
A 7680×3840 frame fits. An 8192×4096 frame sits exactly at the limit. On devices where the cap is 4096, 8K video cannot be displayed at all, regardless of what the decoder can handle.
Stereoscopic VR packs a left-eye and a right-eye image into a single frame — side by side (SBS) horizontally, or top and bottom (TB) vertically.
That means an 8K stereoscopic video is effectively 4K per eye. Turned around: if you want genuine 4K sharpness in each eye, the source file has to be 8K. This is the whole reason 8K matters for VR in the first place.
This is the decisive question. If your hardware decoder does not support 8K, no player will fix it. Not this one, not any other.
As a rough guide, 8K decoding is limited to reasonably recent phones with flagship-tier chipsets. Mid-range and older devices generally do not support it.
To check precisely, install a codec inspection app (searching the Play Store for "Codec Info" turns up several) and look at the video/hevc entry. If the maximum supported resolution reads 7680×4320 or higher, hardware 8K HEVC decoding is available.
Don't count on software decoding. When hardware support is missing, some players fall back to decoding on the CPU. For 8K that isn't realistic — you'll get a handful of frames per second and a phone hot enough to throttle itself.
This points at an unsupported format. Two causes are common.
The file is H.264 (AVC) at 8K. The H.264 standard technically covers 8K, but almost no phone ships a hardware decoder that supports it at that size. 8K video should be HEVC (H.265).
An unusual container or audio codec. MKV containers and DTS audio tracks are outside what Android's stock decoders handle, so playback can fail even when the video codec itself is fine. Remuxing to MP4 with AAC audio often resolves it.
If you hear audio but see nothing, the video codec is almost certainly the problem.
The decoding process is working, but the processing speed is unable to keep up. Here are three options and one workaround, listed in order of effectiveness.
1. Halve the frame rate. Dropping 60fps to 30fps roughly halves the decoding load while keeping full resolution. For 8K this is by far the most effective single change. Fast motion looks less fluid, but that beats a slideshow.
ffmpeg -i input.mp4 -r 30 -c:v libx265 -crf 22 -tag:v hvc1 -c:a copy output.mp4
2. Lower the bitrate. 8K files routinely exceed 100 Mbps, which taxes both storage throughput and the decoder. Bringing it down to 60–80 Mbps is often enough to stabilise playback.
3. Lower the resolution. A last resort. Going from 8K to 4K is guaranteed to help, but in a headset the loss of detail is obvious. Try the other two first.
4. Set the playback speed to 0.5x. This is a workaround. Although the playback speed is halved—making the viewing experience imperfect—it allows you to play 8K video files without any loss in quality, without having to perform the three steps mentioned above.
Everything lines up at the start, and several minutes later the sound is clearly ahead of the picture. This is common with VR video specifically, and it is a player-side problem.
Most players use the audio track as the master clock, because gaps in audio are immediately noticeable. When video decoding falls behind, only the video slips. Normally the player drops frames to catch up — but at 8K, even the dropping logic is expensive, so the gap accumulates instead of closing.
Re-encoding the file often doesn't help here. Changing players does, because the same file on the same phone can behave differently depending on how the decoder is configured.
Your player's format setting doesn't match the file. Use this as a guide:
| What you see | What to change |
|---|---|
| Two copies of the image, left and right | Select SBS (side-by-side) |
| Two copies of the image, top and bottom | Select TB (top-bottom) |
| Near objects appear far away | Eyes are swapped — switch SBS/TB, or check for a left-right swap setting |
| The edges of your view stretch strangely | 180° and 360° settings are reversed |
File names often encode the format. Tags like _180x180_3dh or _LR indicate side-by-side; 3dv or TB indicate top-bottom.
If you aren't sure what format your file is in the first place, SBS, TB, 180° or 360°? How to identify your VR video format walks through it step by step.
Re-encoding with ffmpeg works reliably, but 8K takes time — a ten-minute clip can occupy your machine for well over an hour on CPU.
Switching to GPU encoding cuts that dramatically. On a PC with an NVIDIA card:
ffmpeg -i input.mp4 -r 30 -c:v hevc_nvenc -b:v 70M -tag:v hvc1 -c:a copy output.mp4
Converting every time you want to watch something isn't practical either. Keep the converted file and play that one from then on, so the cost is paid once per video rather than once per viewing.
Of the problems above, stuttering and audio drift are the ones a player can actually do something about. OctaVR is an Android VR video player built around exactly that.
It configures the decoder so that high-bitrate 8K files initialise reliably and stay in sync from start to finish. And for the case where your phone can decode 8K but can't quite keep up, there's an on-device 60fps to 30fps conversion — the converted file is used automatically next time, so you don't need a PC in the loop.
180° and 360°, SBS and TB, flat 2D, adjustable field of view and IPD, plus hands-free menus you control by moving your head. Free to try.
One last time, because it's the thing people most often overlook: if your phone's hardware decoder doesn't support 8K, no player solves this. In that case your options are to downscale the files to 4K, or to use a device that supports it. Start by checking what your phone can actually decode — everything else follows from that.