Open pataquets opened 2 years ago
Chromecast support is something that I would really welcome in this project.
Before we dig deeper into it however, I'd like to give you some info on what protocols there are out there and the current state of device video streaming.
Currently go2tv is based on the DLNA/uPnP specification which is something that all smart TVs and some Audio speakers support. Chromecast is based on a completely different protocol called "castv2". Implementing this from scratch is a beast project on its own. There are some projects out there like the https://github.com/vishen/go-chromecast/ which currently only support a small number of actions.
According to this project's documentation:
Can load a local media file or a file hosted on the internet on your chromecast with the following format:
Supported Media formats:
- MP3
- AVI
- MKV
- MP4
- WebM
- FLAC
- WAV
If an unknown video file is found, it will use ffmpeg to transcode it to MP4 and stream it to the chromecast.
So in terms of functionality, this project is limited to playing video files from local storage or the internet like go2tv also does (through DLNA/UPNP).
Chromecast devices initially used a different protocol called DIAL (Discovery and Launch) protocol which all smart TVs (and Roku) also support it. This protocol is the one responsible for triggering the applications like youtube, netflix, spotify etc to launch and control them. Chromecast devices still partially support it, but they migrated most of their SDK to the new protocol (castv2).
One nice DIAL project that I recently saw is https://github.com/MarcoLucidi01/ytcast which is just for youtube casting.
When people talk about chromecast support, usually they mean the ability to cast youtube, netflix or spotify content which effectively is the DIAL protocol.
Any thoughts on the above? Is this also your understanding?
Thanks for the detailed answer. What I was thinking about is more of a generic media URL from anywhere on the net just being pushed to the Chromecast to play. No specific YT, Netflix or other functionality. I'm aware that it is a different beast and I guess it might even require some transcoding. Also, I didn't know about ytcast. I'll take a look.
I ordered a chromecast. I should (very slowly since I have other priorities) start working on this one.
Another simple library https://github.com/stampzilla/gocast
thank you @johnd0e. I'll definitely have a look. Last time I used https://github.com/vishen/go-chromecast which was not working great with the Go2TV flows. The challenging part is getting the same experience as you get with UPNP devices. For the user it needs to be a seamless behaviour, regardless of the target device type. If we get that right, I'll call it version 2 :)
Is it supported? Otherwise, would it be an acceptable feature request?