Comments (19)
curl http://192.168.0.2:8008/apps/YouTube -X POST -d 'v=3ZdSDUyxFmc'
EDIT:
Ok, I realized that this is using the old DIAL protocol. So this doesn't really apply here.
Does this method still work for anyone? Today I've noticed it has stopped working and returns 404.
curl http://Chromecast.local:8008/apps/YouTube -X POST -d 'v=3ZdSDUyxFmc' -v
Note: Unnecessary use of -X or --request, POST is already inferred.
* Trying 192.168.1.7...
* TCP_NODELAY set
* Connected to Chromecast.local (192.168.1.7) port 8008 (#0)
> POST /apps/YouTube HTTP/1.1
> Host: Chromecast.local:8008
> User-Agent: curl/7.52.1
> Accept: */*
> Content-Length: 13
> Content-Type: application/x-www-form-urlencoded
>
* upload completely sent off: 13 out of 13 bytes
< HTTP/1.1 404 Not Found
< Content-Length:0
from pychromecast.
Same issue here
from pychromecast.
Same issue here[2]
from pychromecast.
same!
from pychromecast.
Same issue as well. Any ideas on a fix?
from pychromecast.
I think that YouTube has changed the way they communicate with the Chromecast. I did dig into this once and it seems that YouTube is moving to a system where they pass a token that you need to use to talk to a TV queue API.
from pychromecast.
Sounds good. I appreciate the info! So is it fair to say that the YouTube controller function is out of commission for the foreseeable future? No worries if so. Just wondering if it's time to move onto other media player options.
from pychromecast.
Yes, should probably add a warning to the controller.
from pychromecast.
Sounds good! 👍
from pychromecast.
Sorry, just to clarify, this is dead in the water? A warning on the controller of "Hey, this doesn't work at all" seems kinda sub-awesome. Thanks!
from pychromecast.
It's dead unless someone can figure out what needs to be sent to the youtube controller.
I think the code needs to setup a session (lounge) before passing along the video to play (or rather enqueue), but the exact names of variables to pass along etc. is unknown at the moment.
I might be able to have a look at it after the multiroom features are done, but can't really promise anything.
from pychromecast.
Got it. I may try to capture the traffic as it goes past and see if I can pitch in, but that does mean closing my other 40 browser tabs, and I finally just got them just right :)
from pychromecast.
I've been over my dump several times, and I'm unable to find anything related to a session/lounge in the protocol. With the exception of some messages sending sessionId when the chromecast plugin does not, I haven't found any differences in the protocol. I'm concerned this may just be a matter of timing, which would be lame.
from pychromecast.
Sorry for the long delay; I did put another few hours into this and the session dumps from chrome exactly mirror the logs from pychromecast; I have no understanding of how this protocol has changed or how to get flingVideo working again. I've now heard reports that it's intermittent, and I'm hearing from other people that it works fine. I'm very clearly still broken, so who knows what's actually going on.
from pychromecast.
castnow used to have a similar feature but now suggest to pipe the mp4 stream found by youtube-dl toward the chromecast device (note that this seems buggy too). https://github.com/xat/castnow Just in case it gives people ideas.
from pychromecast.
I have a working(mostly working) POC - https://github.com/ur1katz/pychromecast
The session parameters are very not clear and youtube changes then frequently..
i will not have much time to work on it so feel free to help :)
from pychromecast.
@ur1katz hey if you need any help I would love to. I've been playing with your fork and so far so good!
from pychromecast.
@ur1katz
Have you considered doing a PR? Even in it's current state, your controller is much superior to the completely broken one currently in pychromecast.
from pychromecast.
Any news on this? How about using the HTTP interface exposed on 8008
? This still works for chromecast v2:
curl http://192.168.0.2:8008/apps/YouTube -X POST -d 'v=3ZdSDUyxFmc'
EDIT:
Ok, I realized that this is using the old DIAL protocol. So this doesn't really apply here.
from pychromecast.
Related Issues (20)
- ValueError: too many values to unpack (expected 5)
- Discovery doesn't work in an async context HOT 4
- Data difference when using GoogleTV Youtube vs Casting
- Custom http headers
- Idle chromecast custom screen example
- Command feedback
- Detect tv is on or off
- SiriusXM/Chromecast Casting Issue HOT 8
- Cannot initialize 'Chromecast' class HOT 2
- Not working with updated modules ('str' object has no attribute 'cast_type') HOT 1
- How to know if a specific connected TV is compatible ? HOT 1
- BBC Sounds conroller stopped working HOT 3
- Python 3.10 Depreciation Warning ssl.SSLContext()
- How to work with spotify HOT 5
- BBC iPlayer Live Stream - unable to get working
- Join existing chromecast session without interrupting it?
- pychromecast entering spin loop when a cast device reboots [if browser.stop_discovery() was called] HOT 2
- Mocking Chromecast?
- How to handle AssertionError for assert self.socket is not None?
- WARNING:pychromecast.controllers:SEEK command requested but no session is active HOT 8
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 pychromecast.