TV Receiver is a casting receiver for Android TV that discovers itself on the LAN, receives a video URL from a phone and plays it, with remote-control support and a remote control API.
- v1.1.1
- Published at
- Mar 6, 2026
- 2
- Stars
- 39
- Download
- Synced at
- 1d ago
The author no longer ships through GitHub Releases, but the repository is still active (last push 19d ago). Get the latest version from:
Latest release
v1.1.1Mar 6, 2026, 12:40 PMREADME
Project Overview
TV Receiver is a casting receiver that runs on Android TV or Android televisions, publishing a discoverable service (NSD/mDNS) on the LAN, receiving a video URL pushed from a phone, and playing it directly. Playback can be controlled with the remote (pause, resume, seek, and speed menu), and it supports full-screen playback and remote control from the phone. It also exposes HTTP endpoints so other programs can query status or issue playback commands.
Turn the TV into a receiver for phone videos and control it with the remote.
Key Features
- Service discovery: publishes an NSD/mDNS service on the LAN so phones can find the TV automatically
- Receive and play: receives a video URL from the phone and plays it
- Remote control: pause, resume, seek forward/backward, and a speed menu
- Full screen: supports full-screen playback and exits it with the back key
- Remote commands: play, pause, and stop remotely via the /control endpoint
- Playback status: /status returns the current state, and /cast accepts an optional MIME type, title, and headers
- Startup resilience: if service initialization fails, you can still open the main page to inspect status
Target Audience
- Users who want to cast phone videos to a TV
- Users of Android TV or Android TV boxes
- Developers who need to control TV playback remotely
Quick Start
- Build and install the APK with Android Studio, running ./gradlew assembleDebug
- Open TV Receiver on the TV and keep it on the same LAN as the phone
- Use the companion sender on the phone to discover the TV and push a video URL
- Control playback with the remote, or call the /cast and /control endpoints
- Request /status when you need to check state
Core Advantages
- Simple discovery: automatic LAN discovery with no manual address entry
- Complete control: both the remote and the remote API can control playback
- Clear API: /cast, /control, and /status have clear semantics and are easy to integrate
System Requirements
| Item | Requirement |
|---|---|
| OS | Android TV or Android television |
| Build environment | Android Studio, JDK 17, Android SDK 34 |
| Network | Same LAN as the phone |
Notes
- The TV and phone must be on the same LAN to be discovered
- The remote API is exposed on the LAN; do not use it on untrusted networks
- Requires the companion phone sender