A low-latency desktop streaming solution that streams your computer's display and audio to a Roku device using HLS (HTTP Live Streaming).
RoseCast consists of two components:
- Roku Channel - A BrightScript channel that plays the HLS stream on your Roku device
- FFmpeg Streamer - A Go application that captures your desktop video/audio and serves it as an HLS stream
- Low Latency Streaming - Optimized for 2-4 second delay
- High Quality - 1080p @ 30fps with H.264 video and AAC audio
- Simple Setup - Just build and run
- Auto Cleanup - Automatically manages HLS segments
The channel is already packaged and uploaded to your Roku device. Just launch "RoseCast" from your Roku home screen.
cd ffmpeg-streamer
go build -o rosecast-streamer
./rosecast-streamerThe stream will be available at: http://192.168.1.240:8080/stream.m3u8
Open the RoseCast channel on your Roku and it will automatically connect to the stream.
- Linux with X11 display server
- FFmpeg with x11grab and PulseAudio support
- Go 1.21 or later
- Roku device with developer mode enabled
- Computer IP: 192.168.1.240
- Roku IP: 192.168.1.131
- Stream Port: 8080
RoseCast/
├── roku-channel/ # Roku BrightScript channel
│ ├── source/ # Main entry point
│ ├── components/ # UI components and video player
│ ├── images/ # Channel icons and splash screens
│ └── manifest # Channel metadata
├── ffmpeg-streamer/ # Go streaming application
│ ├── main.go # Main streamer code
│ ├── go.mod # Go module definition
│ └── README.md # Streamer documentation
└── RoseCast.zip # Packaged Roku channel
This entire project was created by GitHub Copilot.
100% of the code, architecture, and implementation was generated by GitHub Copilot CLI in response to user prompts. This includes:
- The Roku BrightScript channel
- The Go FFmpeg streaming server
- HLS encoding configuration
- Network setup and deployment
- All documentation
Use freely for personal projects.