I think Google is really shooting themselves in the foot regarding adoption. I'd love to have a command-line Cast client for Linux, integration into pulseaudio, a Firefox Cast extension, a native UI (non-browser) video player, etc. Sure, some people have reverse-engineered the newer protocol, but I've never gotten any of the unofficial clients to work reliably (and some just flat-out don't work at all).
- Google Cast is not a general-purpose streaming protocol, even though it is designed to mimic that UX to a casual user
- Cast provides some features like 'ad breaks' [1] that are valuable to content providers and aggregators which you wouldn't find in a general-purpose streaming protocol, making it more likely that those who want these features will make their streaming app Cast-compatible
- The Cast SDK comes with a TOS [2] that's a rather enlightening read
- You have to register your application with Google if you're developing a Cast sender [3], or if you're developing a Cast receiver and don't want to use their Default Receiver [4] (presumably, because you're building your own).
Google's building an ecosystem here. This isn't Miracast or WiDi or even AirPlay, although kudos to them for making everyone think so.
[1] https://developers.google.com/cast/docs/ads
[2] https://developers.google.com/cast/docs/terms
[3] https://developers.google.com/cast/docs/chrome_sender#setup
[4] https://developers.google.com/cast/docs/receiver_apps#choose...
> you must take appropriate steps to ensure that your application cannot be invoked to launch content for which you are not responsible
I read that as prohibiting an app that lets a user cast their own content or third-party content.
And that's interesting, because, looking at my phone, the only things that violate that are Google's own apps (Photos, the OS itself with its Cast Screen functionality), which obviously aren't bound by the SDK agreement.
For example: https://github.com/xat/castnow
My TVs are typically much larger and at a different aspect ratio than my monitor
But unfortunately, there's no SDK or API to even begin considering this sort of thing
No desktop apps are able to get it
For Netflix what happens is your browser tells the cast device what URL to go to to play the content. Your browser does not need to steam the video to the cast device. It can fall back to that so you can cast anything, however.
You cannot simply go near a Cast-enabled device and start playing your stuff, unless I am mistaken. If that is the functionality then that would be terrifying as I would be handing my credentials to this Cast-enabled device.
That's a fallback method, but the expected methods for most sources is that the you send the Google Cast receiver (chromecast, etc) a URL for the media, and it goes and streams it directly.
Basically you just do:
peerflix 'magnetUrl'
And then navigate to http://localhost:8888 and cast the tab.Unfortunately it only works with MP4. There may be some workarounds with an ffmpeg command in the middle, but I haven't experimented with it much.
That really says something about the people who developed and tested these... (Something along the lines of "Hey, maybe you should try getting out of the Google campus/dorms occasionally, possibly even out of the Bay Area, and see how the world works for non-Google employees…")
Chromecast - only $35![1]
smallprint [1] requires unlimited highspeed broadband. May use several times it's purchase price in bandwidth per month if your employer doesn't provide free Google Fibre to your home.
Props to Facebook for having "2G" day. I hope it still happens.
* Dropbox is meant to have a LAN sync but fails back quickly to syncing from their servers. There's no way to debug why it isn't using other hosts on your LAN
* OneDrive has no LAN sync at all
* There's no way to debug Windows 10's LAN update sharing if it fails.
* Windows 10 will default to uploading partial updates to other users on the Internet (bittorrent style)
* Windows 10 will let you set a Wifi connection as "metered" and actually behave quite well (deferring updates, driver downloads and OneDrive data), but there's no way to set Ethernet networks as metered, outside of a registry hack.
* Google not supporting SD cards in the Nexus line (yes, I know about the performance issues, I own several >$50 SD cards that are trash). Mobile data is expensive.
* It took Google until 2016 to offer offline caching of YouTube videos, and even then you have to pay them for the privilege
* Microsoft's newer .NET and Powershell stuff download >50 megabytes of dependencies from NuGet.org and MyGet.org. Offline caching is possible, but maybe not on Linux
if that is not feasible, disable all the background options. create an album of a single image on your google account. enable showing photos from your google account, selecting that album..
1) create a google photos album with a single photo in it 2) in the "Google Cast" mobile app, go to Settings --> Backdrop, and uncheck/turn OFF everything except Google Photos 3) select your "single photo" album 4) profit
The API was even called the Chromecast API.
They changed it to Google Cast last March [0].
[0] http://www.techtimes.com/articles/143386/20160323/google-reb...
[0] - https://chrome.googleblog.com/2016/03/introducing-vizio-p-se...
The apps and technology have been called that for a while; Chromecast is one of the receiver devices that supports the technology (there are others.)
However as someone who helps out with the company's network, they are infuriating:
- They ignore the DHCP given DNS Servers instead using Google's. I'm sure the same is true for NTP though I haven't bothered testing that.
- They use mDNS and DNS-SD but not DNS-SD Wide Area Discovery. This makes subnetting more difficult and increases broadcast traffic quite a bit.
- Not a complaint, more a wish, but a PoE version of the Ethernet adapter would be immensely helpful.
AFAIK Android also uses Google's DNS servers, and it's hard coded into the OS, and the client pings the server before any software firewall can load at boot. (Allow me to reemphasize: AFAIK; if someone knows more I'd appreciate it.)
I thought it was really cool one time when I was visiting during a SpaceX launch and experimental sea landing because I was able to swap from watching live via Youtube on my laptop to casting it to their HDTV. That was just by pressing the cast button and selecting their TV, which was automatically in the list without me doing anything.
It's awesome that Google's made this more convenient and I think it'll be something useful for a lot of people.
Carry on...
Would be nice to have a barebones Chrome.
https://github.com/masmu/pulseaudio-dlna
DLNA is some sort of standard, maybe that's what Sonos uses. I personally just use their phone app though.
One caveat is Netflix doesn't autoplay to the next episode after casting a video.
I really wish it had Google Play Music though.
Was it onerous in terms of resources - or was there any hint of nefarious behaviour? My suspicion is many people will assume the latter despite the rather neutral tone of your post. Therefore I'd be interested to hear more detail.
Dropping support for standard protocols and forcing users to use their proprietary stuff? what happened to their corporate moto "Don't be evil".
The 5x also doesn't have SlimPort or MHL support (when I found an adapter that worked well for the 4 and 5, HDMI out was fantastic)
It may be that they found that Miracast just doesn't work well enough. I've got all sorts of Wifi gear and I can't get my Moto X Style to stream via Miracast reliably (to an Xbox One as a client). The Nexus 5 streams reliably but drops / stutters about once every two minutes, making music streams pretty much unusable.
Back to a Raspberry Pi, I think.
"people have casted more than 38 million times from
Chrome, watching and listening to more than 50 million
hours of content."
So Google is monitoring your watching habits. What other information do they collect as part of this? Are these details documented in a privacy policy somewhere?The setting chrome://flags/#disable-cast-streaming-hw-encoding only appears to toggle hardware encoding or not. Can it be disabled altogether?
They also recorded this data as part of the Chrome extension, not natively. If you want to see more about the native metrics Chrome sends to Google, check out "chrome://histograms/"
And it looks like that's exactly what they've done. https://cs.chromium.org/chromium/src/media/cast/?q=cast&sq=p...
No more needing to guess how to implement non-deprecated versions of the API when integrating with other players.
https://alan-mushi.github.io/asap/2015/03/21/vlc-stream-to-c...
vlc -vvv ./file.mp4 --sout "#chromecast{ip=192.168.1.4}"
You can find out the ip of your chromecast with the command "arp -a" and it should list Chromecast as one of the devices if its switched on and on the same wifi
Only works with VLC nightly builds 3.x.x. Also it is not very stable but gets the job done if you don't care about subtitles and scrolling through the video frequently.
THe best option is plex (works for many file formats). Second best option is videostream extension on Chrome (not on chromium). But videostream doesn't support all file formats. They keep updating though.
After you start casting, click the cast button again. You should see a volume slider that you can adjust.
Chrome is looking ripe for exploitation. IIRC the default install includes an mDNS responder. Check out the guy who has every Chrome instance on his network crash at the same time: https://redd.it/4xej0p
https://chrome.google.com/webstore/detail/vysor/gidgenkbbabo...
Apologies for the stupid question, but how exactly does Google know this? Is there some "send statistics home" function in the browser?
Anybody try this out yet?
[1] http://forum.xda-developers.com/android-tv/chromecast/rom-fl...
If you want to cast a tab, while it's not the optimal solution, you can cast your whole screen using the quick settings tile.
- Chrome can stream its renderer output to a 'Google Cast'-supporting stream sink, like a Chromecast. This option is buried in the hamburger menu.
- websites can be coded against a JS library that's implemented by Chrome [1][2]. Then the 'stream to...' menu is shown as the 'cast' icon near the address bar.
[1] https://developers.google.com/cast/docs/reference/chrome/
I've been less happy with it ever since.
[1] https://www.w3.org/TR/presentation-api/
[2] https://bugs.chromium.org/p/chromium/issues/list?q=component...
WTF? Just publish the damn API already.
The built in functionality is supposed to be smart about down scaling for wifi speed, and thus has removed all options to do it manually; unfortunately it utterly fails (I believe because wifi speed is fine but the bitrate is too high for the hardware).
Lots of people don't like this update. https://productforums.google.com/forum/#!msg/chromecast/5IG1...
Streaming from my android is also much worse, with high bitrate streams that I used to consume regularly no longer working at all (e.g <1 fps).
I have been extremely happy with my chromecast until the last few months, and it honestly has become something I really dislike now.
http://stackoverflow.com/questions/24490323/google-chrome-ca...