Self hosted vTuner internet radio service emulation
Go to file
milaq ef54ad932e do not redirect to listen_port
the initial request arrives at port 80 either way.

also, in case we are not listening on all interfaces and/or firewall rules are
in the way this leads to the receiver not querying an accessible url.
2018-07-23 14:34:21 +02:00
README.md initial commit 2018-07-23 14:25:01 +02:00
stations.yml.example initial commit 2018-07-23 14:25:01 +02:00
ycast.py do not redirect to listen_port 2018-07-23 14:34:21 +02:00

YCast

YCast is a self hosted replacement for the vTuner internet radio service which some Yamaha AVRs use.

It was developed for and tested with the RX-Vx73 series.

It should also work for the following Yamaha AVR models:

  • RX-Vx75
  • RX-Vx77
  • RX-Vx79
  • RX-Vx81

YCast is for you if:

  • You do not want to use a proprietary streaming service
  • You are sick of loading and/or downtimes of the vRadio server
  • You are unsure about the vTuner service's future

Dependencies:

Python version: 3

Python packages:

  • PyYAML

Usage

YCast really does not need much computing power nor bandwidth. It just serves the information to the AVR. The streaming itself gets handled by the AVR directly, i.e. you can run it on a low-spec RISC machine like a Raspberry Pi.

  • Create your initial stations.yml. The config follows a basic YAML structure (see below)

  • Create a manual entry in your DNS server (read 'Router' for most home users) for:

    radioyamaha.vtuner.com

    to point to the local machine running YCast.

  • Run ycast.py on the target machine.

Station configuration

Category one name:
  First awesome station name: first.awesome/station/URL
  Second awesome station name: second.awesome/station/URL

Category two name:
  Third awesome station name: third.awesome/station/URL
  Fourth awesome station name: fourth.awesome/station/URL

You can also have a look at stations.yml.example for how it can be set up.

Firewall rules

  • The server running YCast does not need internet access
  • The Yamaha AVR needs access to the internet (i.e. to the station URLs you defined)
  • The Yamaha AVR needs to reach port 80 of the machine running YCast

Web redirects

You can (and should) change the listen_port and listen_address variables in ycast.py if you are already running a HTTP server on the target machine and/or want to proxy or encase YCast access.

It is advised to use a proper webserver (e.g. Nginx) in front of YCast if you can. Then, you also don't need to run YCast as root and can proxy the requests to YCast running on a higher port (>1024) listening only on localhost.

You need to redirect the following URLs from your webserver to YCast (of course listening to requests to radioyamaha.vtuner.com):

  • /setupapp
  • /ycast

Caveats

YCast was a quick and dirty project to lay the foundation for having a self hosted vTuner emulation.

It is a barebone service at the moment. It provides your AVR with the basic info it needs to play internet radio stations. Maybe this will change in the future. But for now just station names and URLs. No web-based management interface, no coverart, no fancy stuff.