Tauon icon indicating copy to clipboard operation
Tauon copied to clipboard

[Feature Request] DLNA or Chromecast streaming of current queue

Open hynet-mel opened this issue 3 years ago • 5 comments

This might be a big one but I like the idea of being able to press a button, choosing an UPnP/DLNA or Chromecast (toggle being available for those who don't want it to have it disabled) as renderer instead of the local machine.

It's something I miss a little when using it with some friends last weekend, seems like a Nice-to-have generally. Am not sure how well I might be able to play around with this in a PR but I might poke around if I find a pocket of time.

hynet-mel avatar Jan 20 '22 16:01 hynet-mel

Now that I think of it, it plays well with the theme of wanting to offer Spotify-like experience. The ability to stream music files.

hynet-mel avatar Jan 20 '22 16:01 hynet-mel

I'm thinking maybe it would be easy to leverage the existing "Radio Broadcast" feature, which already re-encodes and provides an HTTP server for streaming. Maybe this could work if the Chromecast can just be pointed to that local network address. In fact this could be tested entirely within an external script.

The radio broadcast feature plays a playlist in the background, but that's not too functionally from using the queue.

Not sure about UPnP or how that works.


Edit: Giving Chromecast a try. Got a proof of concept working. Going to investigate further on this...

Taiko2k avatar Jan 21 '22 00:01 Taiko2k

Okay there are three feature levels I can think of implementing Chromecast support:

  1. Just a basic stream using the existing radio feature (Boring blank screen on TV, moderate audio latency)
  2. Serve single files while managing the chromecast (Allows for metadata and album art on TV, lower latency)
  3. Register an official app (Looks pretty on TV with Tauon branding)

I've now committed feature level 1. You can try it out on master now. You'll need to install the python library pychromecast to try this out.

How it works: Edit: Moved to wiki

Thats if it works. I haven't done extensive testing.

Taiko2k avatar Jan 21 '22 07:01 Taiko2k

It's a bit old now, but in case it can provide any useful code / inspiration https://github.com/masmu/pulseaudio-dlna is a great project that creates a pulseaudio output device and anything you play to that gets streamed over DLNA to whatever device you want (there are no advanced controls to chose the target device, if I recall correctly, however).

Not sure about UPnP or how that works.

DLNA is really what you want, it's a standardised version of UPnP for media streaming. It has a bunch of FOSS implementations like Jellyfin, Gerbera (/Mediatomb) or ReadyMedia (/miniDLNA).

axelsimon avatar Jan 27 '22 09:01 axelsimon

Reads about DLNA,,, Doesn't support OGG :vomiting_face:

Jesting aside, its probably not something I'm super interested doing right now. But it seems plausible to do.

It would be interesting to know how many users would use this.

Taiko2k avatar Jan 27 '22 10:01 Taiko2k

Chromecast support is being greatly improved by Taiko2k, see here #793

nicolnt avatar Aug 15 '22 12:08 nicolnt