VideoStream has also successfully played every filetype I've thrown at it. My only gripe is that it will lag on high bitrate videos (e.g. 9GB for a 2 hour long movie).
+1 for videostream, it's an amazing app that I use almost daily. I paid for the premium version (playlists, download notifications etc) and it's well worth it.
When I read the original article, my first thought was: wow, someone could or should really build an interface on top of this that let's you cast all things.
Looking at this GitHub project, looks like it lets you do exactly that.
Yep, I had the same thought a while ago, which is why I built catt! It's come along very nicely, it works well and it's especially suitable if you run it as part of some automation (for example, you can make an Alexa skill to cast videos to your TV from various sources).
VLC also does transcoding of video formats that Chromecast does not support. For the python script, you have to ensure the video format is supported by Chromecast [1].
That's not the same. If websites don't implement a cast app themselves, then Chrome will just mirror the tab to the TV. Whereas catt and similar tools will actually direct the chromecast to download the video file directly and play it. This makes a big difference to quality and performance.
While this is true, newer Chrome versions have a feature where if you fullscreen a video in a tab, it will (within a few seconds, if the video is in a directly supported format) attempt to send the video directly to the Chromecast instead of mirroring the tab. It doesn't always work, but it's much smoother when it does.
That's nice; historically when i did that I'd lose the borders but quality would suffer. Admittedly i mostly did it with streaming content that was not CC compatible though.
So what you're saying is that it's probably better to use a browser, because your bandwidth between your PC and your TV is likely to be much better, as well as having the capability to cast not only web content but also anything on your desktop. Plus a mirror is much easier to control, and some cast capable devices may not have the memory to "download" video files.
What am I missing here? You seem to think it's a bad thing.
sending a video stream from a file on your disk on a computer results in higher quality video on the television than playing a video in your browser and encoding a stream of your browser window and sending that to the chromecast to display on the TV.
a GUI that does exactly that (and the occasional transcoding / reboxing when necessary, to handle mkv files, etc.): https://github.com/keredson/gnomecast
Yey!
Note that, much to my unhappiness (see issue #42) transcoding is a process that blocks the streaming from starting, which can take several minutes at 100% CPU.
yeah, that's a sticky problem unfortunately. on the plus side real transcoding is pretty rare given h264 is pretty much everywhere now. most of the "transcoding" gnomecast does is repackaging an unmodified h264 stream from one container format to another, which FFMPEG can do at 30-100x (rather than 1-2x for real transcoding).
I normally just use LocalCast (http://www.localcast-app.com/), although there may be a use case for a kind of "jukebox" application using PyChromecast.
I am using a tool called AirFlow - has built in support for subtitles which was the first thing I look for when chromcasting. Even though it's not free, it's an amazing tool. (not affiliated with them at all)
Interesting. Is it known which libraries the Chromecast uses under the hood? Given that RCE exploits are commonplace for media/codec libraries, this can easily be used to get a decent jailbreak on the thing...
Chromecast even stops working if you do not have a working outside internet connection. On many occasions I've been unable to cast movies to chromecast simply because my internet connection was broken.
After some time it bothered me that I had a machine plugged in 24/7 connected to both my local LAN and Internet, owned by Google. So, every night I unplug the chromecast and then plug it again whenever I want to cast something.
AFAIK it is actually using a proprietary streaming protocol called CASTv2. It has been a community effort to reverse engineer the protocol and write implementations.
This would be great if it worked. It's pretty simple, just pip install pychromecast and call pychromecast.get_chromecasts() in the repl. This returns an empty list for me every time.
This is awesome! I gave up on my hopes of doing custom stuff with my chromecast when I discovered there was a pricetag on the developer license, but this could be handy!
It looks like pychromecast implements the Google Chromecast API, so any Chromecast audio devices should show up in the list for pychromecast.get_chromecasts()
https://getvideostream.com/
I also recently downloaded Soda Player for OSX to stream, and it also has similar capabilities.