Skip to content

TunnelRez

Your PC, on your TV.

TunnelRezStreamingAndroid TV, display 2Resolution3840 × 2160CodecHEVCShown on TV59.9 fpsCapture to screen36.3 ms100 Mb/s fixed, native NVENC7:30 PM11/4/2026

A real second monitor for Windows, streamed to an Android TV over your home network. 17.6 ms from your PC to the TV screen at 1080p60, and true 4K60 at 59.9 fps.

4K at 60 frames a second, on a real TV.

TunnelRez sends 3840 × 2160 HEVC at a fixed 100 Mb/s through native NVENC. The TV decodes it in hardware, straight onto its 4K video plane, and holds 59.9 fps for the whole run.

TunnelRezStreamingAndroid TV, display 2Resolution3840 × 2160CodecHEVCShown on TV59.9 fpsCapture to screen36.3 ms100 Mb/s fixed, native NVENC7:30 PM11/4/2026
Frames a second, shown on the TV
59.9fps
From capture on the PC to the TV screen
36.3ms
For the TV to decode one frame
10.9ms

What’s in 0.3.0.

Read the release notes

A real second monitor.

The TV shows up in Windows as an extended display, or a mirror, at 1080p60 or 4K60. Drag a window over and it is on the TV.

12Extend these displays

Native NVENC.

Straight from the SDK, at a fixed rate up to 150 Mb/s. The rate you set is the rate it sends.

HEVC

AV1

H.264

Live numbers.

fps, latency, decode time and Mb/s in the tray panel, every second. This was a 1080p60 HEVC run.

fps
59.9
ms to screen
17.6
ms decode
5.5
Mb/s
40

Auto that checks first.

It test-encodes on every encoder your PC has, reads the TV’s real decoder list, and greys out anything that can’t keep up.

  • Native NVENCIn use
  • FFmpeg NVENCFallback
  • Intel QSVFallback
  • AMD AMFFallback
  • Media FoundationFallback
  • CPUFallback

How a frame gets to the TV.

The frame is captured, converted and encoded on the GPU, sent over your network, and decoded by the TV’s own hardware. We wrote both ends in Rust, so every millisecond is ours to find.

How it works

Your PC

Captured in D3D11 from a virtual monitor. The frame stays on the GPU.

NVENC

Native NVENC at P1 ultra-low-latency and the fixed bitrate you set.

Wi-Fi

TCP for video, UDP for audio. Every frame carries its capture time.

TV decode

Hardware decode in a native Rust app, straight onto the video plane.

Sound that lands with the picture.

PC audio goes to the TV as raw 48 kHz PCM in 5 ms packets and plays on a clock locked to the frame the TV is showing. About 55 ms from capture to the TV speakers, by the TV’s own stats.

Coming soon

TunnelRez Remote.

Stream to a TV in another house through a relay you deploy in your own Cloudflare account. The relay only introduces the two ends. Picture and sound go device to device, or through TURN, encrypted end to end.

Your relayin your own Cloudflare accountPicture and sound, end to end encryptedYour PCA TV in another house

What you need.

Full requirements

Windows PC

  • Windows 11, 64-bit
  • NVIDIA RTX 20 series or newer, driver 610 or newer, for native NVENC
  • Intel, AMD and CPU encoders work through fallbacks, with limits

TV

  • Android TV, API 26 or newer
  • Hardware HEVC or AV1 decode
  • ADB on for the first install

Network

  • A cable, or a clean 5 or 6 GHz Wi-Fi link
  • 40 Mb/s at 1080p60, 100 Mb/s at 4K60
  • WMM Power Save off on the router

If your network is bad, this isn’t for you. No codec fixes a crowded channel or a router on default settings.

Get TunnelRez on GitHub.

TunnelRez 0.3.0 is out.