Comments (5)
I ordered a chromecast. I should (very slowly since I have other priorities) start working on this one.
from go2tv.
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 :)
from go2tv.
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?
from go2tv.
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.
from go2tv.
Another simple library https://github.com/stampzilla/gocast
from go2tv.
Related Issues (20)
- Pause action has no effect HOT 14
- [Request] Add audio transcoding with FFMPEG HOT 7
- Is it possible to mirror the screen? HOT 2
- The Chinese display is not normal in the interface. HOT 11
- open RTP stream and cast to renderer HOT 4
- dv files HOT 2
- [Request] Add program projection function and browser page projection function HOT 4
- Add subtitle file failed HOT 3
- CLI not working on Windows? HOT 12
- Playing from NAS folder (SMB share) on MacOS HOT 8
- Always Wating for status HOT 17
- http: server closed idle connection HOT 6
- How to stream youtube video ? HOT 3
- Unable to find upnp device HOT 10
- Support for DSF? HOT 1
- Arm version can not be exec on phytium d2000 (arm64 v8) HOT 2
- Chinese Directory display problem HOT 1
- Soruce for the andorid app? HOT 1
- v1.16.0 and v1.15.0 point to the same commit ? HOT 1
- The latest released zip on windows cannot run on windows7 system HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from go2tv.