How Chromecast Works - Google Chromecast

http://computers-solution.com/how-chromecast-works-chromecast-protocol-described/
Google in their This summer event introduced a brand new media device that offers to take advantage from the Biggest display within your house without including any type of difficulties.
All product internet titans: Apple, Google and Microsoft have been attempting to simplify discussing media to HDTVs and which makes them wiser. Google itself had produced Google TV, Nexus Q and today Chromecast.
chromecast-hdmi
Chromecast is first Zero config music, video discussing to TV service, beating the simplicity anything else on the market. Discussing any media or browser tab from device to TV is simply a tap away.
Just how performs this fascinating a single click discussing works?
Chromecast Protocol Described
DLNA + UPnP allows you stream media from mobile phones, laptops to compatible HDTVs. But you will find plenty of steps involved. Mostly, these solutions are complex enough for any typical home user. But Chromecast uses UPnP and DIAL protocol to eradicate intrication.
dial-discovery
DIAL (Uncover And Launch Protocol) uses UPnP (Universal Plug N Play) protocol for network element discovery. Upnp multicasts and probes for available audience and senders on the given local Wi-fi compatability network. So basically moment clicking Chromecast icon on Chrome tab or android device, it probes and finds out First screen DIAL server (Chromecast device blocked to High definition tv within this situation). Once discovered, it synchronizes information about how for connecting into it.
According to Leos Nicholas, the straightforward Service Discovery Protocol (SSDP) response states the unit is running Linux: “Linux/3..8-g702c5ee, UPnP/1., Portable SDK for UPnP products/1.6.18″ and also the “X-User-Agent” is “redsonic”. So its basically a Linux based Chrome OS device, as already stated by Google.
The unit description response states the model title is “Eureka Dongle”. It props up following DIAL applications:
http://10.x.x.x:8008/applications/Netflix
http://10.x.x.x:8008/applications/YouTube
http://10.x.x.x:8008/applications/GoogleMusic
http://10.x.x.x:8008/applications/ChromeCast
http://10.x.x.x:8008/applications/The planet pandora
Chromecast uses smartphone to manage media playback. The videos/music is performed in the cloud instead of in the smartphone, this causes it to be possible continue the playback once the initiator is no more in your home wi-fi compatability network.
chromecast-1
In the tests, he discovered that whenever a YouTube video has been performed from phone, the DIAL Application Information Request states the “ramp” protocol was utilized. Playback could be stopped using HTTP Remove. So basically, you are able to control the press playback using standard methods, outdoors Chrome. However, other controls like video progress seeking didn’t use any standard stuff, to ensure that part might be written being an proprietary extension towards the DIAL and ramp protocol.
For Netflix it seems to become with a couple kind of websocket within the local LAN. For Google Be A Musician, Chrome casting, it uses DIAL “ramp” protocol.
DIAL Protocol
DIAL protocol has two components, DIAL Service Discovery and also the DIAL Relaxation Service. DIAL Service Discovery allows a DIAL client device to uncover DIAL servers on its local network segment and access the DIAL Relaxation Service on individuals products.=
The DIAL Relaxation Service allows a DIAL client to question, launch and optionally stop programs on the DIAL Server device. DIAL Service Discovery is accomplished utilizing a new Search Target inside the SSDP protocol defined by UPnP as well as an additional header within the reaction to an HTTP request the UPnP device description.
The DIAL Relaxation Services are utilized using HTTP. On DIAL protocol here.
What’s Inside ChromeCast Dongle
Chromecast is really a Chrome OS device on the low-finish hardware. The circuit board is extremely small and it has an onboard Marvell processor (most likely just one core 1Ghz) as well as an AzureWave combo Wi-Fi nick, together with 4GB of expensive memory storage (for caching) and 512MB of low-current RAM.

Additional DIAL info on the DIAL website

Related

Nexus 7 Storage (lack off) and ways around this

Hi
I like my Nexus 7, but the lack of an SD card slot means that it cannot be used to its full potential.
All this talk of the Cloud from Google is wonderful - if they offer the feature in your country. Google music for instance is only available in the US.
I've not rooted since it would appear that this will hamper OTA updates + I simply don't have the time to read endless threads!
Audio Galaxy
For anyone not aware, 'Audio Galaxy' ( https://play.google.com/store/search?q=audio+galaxy ) is your personal music cloud, but it does require that you leave a PC switched on at home/work. You just point the server end 'helper' of this at your music collection, and install the App. Unfortunately, It does not support all formats, WMA Lossless for instance is not supported, neither is anything containing DRM, bit of a PITA. The app itsself is OK, but there's no tablet optimisation.
FTP Server
Copying video's over the cloud is not practical esp in the UK with its poor mobile speeds, lack of 4G, and in the case of a home-cloud, poor broadband upload speeds.
My phone has a 64GB SD card in it. When out and about, I always take the phone. I use FolderSync ( https://play.google.com/store/apps/details?id=dk.tacit.android.foldersync.full&hl=en ) to sync TV shows to the phone over wifi via a scheduled task.
I would use WiFi direct to push films to the N7, but this does not work between a Galaxy Note and the N7. Android Beam requires 2 NFC compatible handsets, and I read somehwere that it uses BT rather than WiFi to transfer stuff meaning its not suitable for videos.
If I choose to watch one of the videos from my phone on my tab, I just copy it over. Download FTP Server ( https://play.google.com/store/apps/...t=W251bGwsMSwxLDEsImNvbS5yYXBmb3guZnRwc3ZyIl0. ) for your phone, and point it at your movies. Enable the phones WiFi hotspot feature, and start the FTP Server.
On the Nexus 7, start an FTP Client - good one in ES File Explorer ( https://play.google.com/store/apps/details?id=com.estrongs.android.pop&hl=en ). Setup a new connection, and point it at the IP Address shown on the FTP server running on the phone. (Note that unfortunately, this IP address changes since its allocated by your mobile network), Using the FTP client on the N7, copy films from Phone to N7. Turn off FTP Server and WiFi hotspot on phone.
NB: If you root (the phone) you can run an SMB server on it. The phone must do the sharing since there is no WiFi hotspot feature on the N7 (it has no connection to share!)
NB2: You need to have a mobile signal to be able to start the wifi hotspot! - otherwise the phone has no IP address.
Until WiFi direct starts working, I am stuck with the above. An app to turn the phone into a WiFi harddisk (where phone acts as a wifi access point rather than connecting to existing router) would be nice.
Nigel
Check Plex in the market, great for video, music, and any other media stored on your home PC. PC left on at home works as at home server.
Cheers
Sent from my Nexus 7 using Tapatalk
Used in the past
Hi
I've used plex in the past and removed it because its clunky - especially the server end where you config everything. Anyway, I just had another go. Its still clunky! For instance it just created 3 sections for 'Home Movies', and 3 for 'TV Shows' I only have one folder on the server for each. It also does not allow you to remove the unwanted sections from the library. As a result on the N7, I end up with everything listed 3 times over. I eventually found the option to remove these, and have re-created.
In addition to that, despite that fact that every album I own has album art, it has not picked it all up. I don't think it reads folder.jpg files from the album dirs (standard mechanism on windows media player/center), relying instead on the jpg being present within the meta data for the track.
- It does not transcode music from WMA Lossless to a format playable on device. It will index everything, but none of it is playable from the Android client
- It does not support TV shows recorded with windows media centre
- It keeps reporting 'Server Error when trying to fetch data'
So... still pretty clunky all told!
Worth another try though, and it is better than the last time I tried it.
Nigel

proxy complication - access national media from outside of the nation

Just thought I'd post a little bit about how you can have media streaming to work reliable which has any kind of GeoIP, e.g. watching BBC iplayer from outside UK, or ITVplayer outside UK.
So we all know how to get Flashplayer on Android 4.1 Jelly Bean, its download the flashplayer apk and the Firefox Beta, I'll not cover that.
I also assume you have a UK proxy server you control, like a Linux server in the remote country.
The core problem is there isn't a FOXY PROXY plugin for Firefox Beta on Android yet. Foxy Proxy is brilliant it lets you control precisely which URLs to route over a proxy, so e.g. you can simply use a *bbc* and *itv* through the proxy.
A little known fact is that the remote site's GeoIP checker is not the same remote IP as that which does the media streaming, so you need only be routing through the proxy for traffic-light traffic and go direct to the media streaming IP otherwise. With FoxyProxy the media streaming sites are not (for some reason) URLs from the media service. e.g. BBC's streaming is a *llnl* service, ITV's player is 99.3.0.0/16 for media streaming.
So given the browser does have a "whitelist" or "blacklist" capability you get from FoxyProxy addon for Firefox, you have to the mirror opposite with the Proxy settings.
The only way I've found to do this is ProxyDroid, it has the concept of "proxy all but not these" so it has a blacklist. So what I have to do is have Proxydroid route ALL traffic, EXCEPT and then give the list of the exceptions. If I want to watch the remote media content then enable ProxyDroid, it connects as if its in the remote country but bypasses the proxy for the bandwidth-heavy task.
Having the exception list for Proxydroid makes a real difference, it moves from unwatchable to performing very well.
To get the exception list, well either someone can do the effort for you and post the blacklist online but to be honest all that the media streamers will do is change their IP addresses so that cat'n'mouse game you'd lose eventually.
So a more assured way is for the remote proxy server to be running a traffic analyser. A simple one is Darkstat. Install it on the remote system.
Then, clear the darkstat database (stop darkstat, rm the deb, start darkstat). Then on your Nexus 7, enable ProxyDroid, and begin streaming media. As you're proxying through the remote server anyway, in browser to go the darkstat web server (e.g. 192.168.0.1:667, whatever is the IP on the LAN of your proxy server and the port you've configured) and look for the BANDWIDTH HEAVY traffic. Then, disable proxydroid on the Nexus, and place the bandwidth heavy subnet in the blocklist in proxydroid, e.g. if ITVplayer is streaming off 199.3.x.y then tell Proxydroid to not use 199.3.0.0/116, that will allow all those IP 193.3.something.something to bypass the proxy.
Overall, this is quicker to do with a Tablet and a desktop PC side by side than all on the tablet as its lots of swapping between windows, until you've got the exceptions subnets list.
However, it all works. The method is universal, it will work with any country, any kind of geoIP blocker and you only need a Linux server in the country which does GeoIP, either from a friend telling it won't saturate their upload bandwidth after you've done the traffic analysis.
Also, as this method bypasses the proxy server for bandwidth-heavy, you have a proxy server with little bandwidth, because you're only using to find the bandwidth-heavy IPs to bypass the proxy.
Makes a big difference.
pay for a cheap vpn or vps, $2 a month, login to that :good:
I recommend Hideman VPN. It's fast and reliable.
Sent from my Nexus 7 using xda premium
I've been using Witopia for the last year and it has been running perfectly. Works out to about $5/month which isn't too bad considering the number of servers/locations you get. Pair that up with the OpenVpn app from the Play Store and it works great.
davidcampbell said:
pay for a cheap vpn or vps, $2 a month, login to that :good:
Click to expand...
Click to collapse
where????

Whats your BIG Chromecast idea? More potential than a "traditional" A/V streamer?

Whats your BIG Chromecast idea? More potential than a "traditional" A/V streamer?
So I've seen many people, developers and users alike, swarming the ideas of the expected basic usages of this wonderful device.
Examples: Out-of-Box expected usage (streaming from qualified providers), mirrored A/V from PC/Phone/Tablet, other connectivity proof of concepts (IE: emulators), ect…
So my question is: What's your big idea to extend the usage of this device beyond "traditional" implementation?
I’ll start by sharing mine (actually 2 product idea’s, that could become 1 at some point in time).
1. All-in-one media station. Taking the concept of a HTPC/XBMC build, and extending it to have the Chromcast as the “presenter”, and the PC/Phone/Tablet as the “remote”. The software package would include a “media server” run on a compatible PC on the same network, accompanied by the “remote” app on the Phone/Tablet (web-based control for PC remote).
I intend to also include the ability to queue/control presentation files such as PPT, PDF, ect… I’d like to have the package useful to both home and business clients/users.
One of my favorite parts of this idea resides in the remote app. Upon selection of the media you intend to cast, use a 2-finger up gesture to begin casting (makes me think of the scene in IronMan2 when he takes over the monitors in the courtroom by using a similar gesture on his “phone”, lol) It’s the little things that get me excited haha.
2. A home automation/security media point. On demand or automated view of automation/security enabled objects in your environment. Example: You have a security system with camera’s in your home, specifically, one is mounted at your front door. Someone appears at your door (motion-trigger), and/or rings the doorbell (another available trigger). HDMI-CEC enabled TV’s would switch the input to the Chromcast and display the camera at your front door.
My brain begins to hurt as all the possibilities for automation and security integration pile up. But hopefully, you get the point.
I’d love to hear from some of the other inventive people on this forum, and interested in the Chromcast. Again, what’s your idea?
Android stick with a BT android remote with cheapcast
Low power consumption httpd, ircd, VPN, or ssh.
Sent from my One true love.
The one thing I'd love to see the chromecast do is be able to connect directly to my phone and use it's 4g for streaming. I would figure something like this should be possible since it's basically what it does during initial setup.
Due to the layout of where I work (big concrete building), I get great signal with my phone in the window, but no signal anywhere else. i'd love to be able to plug the chromecast into the tv during breaks and stream from the phone.
evelbug said:
The one thing I'd love to see the chromecast do is be able to connect directly to my phone and use it's 4g for streaming. I would figure something like this should be possible since it's basically what it does during initial setup.
Due to the layout of where I work (big concrete building), I get great signal with my phone in the window, but no signal anywhere else. i'd love to be able to plug the chromecast into the tv during breaks and stream from the phone.
Click to expand...
Click to collapse
No during initial setup the chromecast generates its own wifi hostpost. Ofcourse this hotspot has no internet access and so would be useless for anything but setting up.
But why not make a hotspot with your phone? That would do the same thing.
I just want miracast support
Chromecast ideas
Chromecast supports multiple connections so could do things like a card game where player cards need to be private. The screen shows the playing field and each player sees just their cards on phone/tablet/computer. Is a simple example but there may be other uses to have multiple game play or interaction to same screen.
Chromecast and DIAL protocol are free to license so could be put into any consumer electronics device - SmartTV, refrigerators, home thermostat, etc.
xenokc said:
Chromecast supports multiple connections so could do things like a card game where player cards need to be private. The screen shows the playing field and each player sees just their cards on phone/tablet/computer. Is a simple example but there may be other uses to have multiple game play or interaction to same screen.
.
Click to expand...
Click to collapse
That is quite an awesome idea! Granted, I see it as a similar setup that the WiiU has tried to do with some of their games. And MS also with the "second screen" for xbox and such.
But why shouln't google get in on this tech as well? I'm very interested to start investigating this idea myself. Mind if I borrow your idea xenokc? lol
Unholyfire said:
That is quite an awesome idea! Granted, I see it as a similar setup that the WiiU has tried to do with some of their games. And MS also with the "second screen" for xbox and such.
But why shouln't google get in on this tech as well? I'm very interested to start investigating this idea myself. Mind if I borrow your idea xenokc? lol
Click to expand...
Click to collapse
Go for it!
Unholyfire said:
So I've seen many people, developers and users alike, swarming the ideas of the expected basic usages of this wonderful device.
Examples: Out-of-Box expected usage (streaming from qualified providers), mirrored A/V from PC/Phone/Tablet, other connectivity proof of concepts (IE: emulators), ect…
So my question is: What's your big idea to extend the usage of this device beyond "traditional" implementation?
I’ll start by sharing mine (actually 2 product idea’s, that could become 1 at some point in time).
1. All-in-one media station. Taking the concept of a HTPC/XBMC build, and extending it to have the Chromcast as the “presenter”, and the PC/Phone/Tablet as the “remote”. The software package would include a “media server” run on a compatible PC on the same network, accompanied by the “remote” app on the Phone/Tablet (web-based control for PC remote).
I intend to also include the ability to queue/control presentation files such as PPT, PDF, ect… I’d like to have the package useful to both home and business clients/users.
One of my favorite parts of this idea resides in the remote app. Upon selection of the media you intend to cast, use a 2-finger up gesture to begin casting (makes me think of the scene in IronMan2 when he takes over the monitors in the courtroom by using a similar gesture on his “phone”, lol) It’s the little things that get me excited haha.
2. A home automation/security media point. On demand or automated view of automation/security enabled objects in your environment. Example: You have a security system with camera’s in your home, specifically, one is mounted at your front door. Someone appears at your door (motion-trigger), and/or rings the doorbell (another available trigger). HDMI-CEC enabled TV’s would switch the input to the Chromcast and display the camera at your front door.
My brain begins to hurt as all the possibilities for automation and security integration pile up. But hopefully, you get the point.
I’d love to hear from some of the other inventive people on this forum, and interested in the Chromcast. Again, what’s your idea?
Click to expand...
Click to collapse
#1 will be done when Plex enables Chromecast functionality.

Foolproof way to cast videos

I am still looking for an easy way to play videos from my rooted htc one m7.
The videos are cc compatible, encoded with handbrake, low to medium bitrate, ie max 2 Mbps.
I tried the obvious one, bubble upnp first, unfortunately it didn't work AT ALL. I had to get the license refund back as really didn't do any chromecasting for me.
I am still trying to use Avia which so far is the best, in the sense it plays everything I throw at it. The problem with it, however, is occasionally stops in the middle of casting, eventually it restarts again either by itself or force restarting manually. One other thing, yesterday night the 50 mins video and I was casting stopped 3 times. This morning, after rebooting cc the whole video played fine, from end to end.
I tried several other casting programs such as local cast with lesser results.
My cc is running latest eureka.
M7 is running latest sense ROM and firmware, disabled wi-fi optimization, disabled greenify for whole streaming duration. Its logcat doesn't show anything relevant, such as no obvious avia crash.
Thanks for any idea on how to improve on this casting experience. I am no expert, I might be missing an obvious step or worker, so please don't hesitate to throw in anything on the matter.
Sent from my HTC One
I'm going to guess and say the content you are trying to stream is on your HTC device and not somewhere else...
Issue with that is most likely that the HTC is sending over Wireless while the CCast is receiving over Wireless and your router isn't up to handling all that traffic without issues.
Bubble works if the content is available to the server. On Device content I do not believe is available to it. It will play locally in Bubble but I'm not sure the server side of Bubble can see it.
One of the drawbacks of CCast is it isn't very good at streaming content on the controlling device. It really designed to receive Internet or Intranet content that resides on a NAS or Server (such as DLNA, Bubble or Plex).
If you device supports mirroring I suppose thats one method that can work but it will depend heavily on the stability of the Wireless connection and power of the device doing the sending.
I would also try Plex, (The server is free) and see if you can stream effectively using a wired computer and browser (to control) to make sure that the CCast has a good connection and can get good streams.
If that works then you know it isn't the CCast that is the problem and you will know if buying the Plex App is worth doing.
Then you never have any reason to keep content on your device ever again as whatever is kept on the Plex Server will be available for playback and streaming to a CCast (your HTC and any other mobile devices you have) no matter where in the world you are.
And you will get back a ton of space on your mobile device currently used to store the video content.
Asphyx said:
I'm going to guess and say the content you are trying to stream is on your HTC device and not somewhere else...
Issue with that is most likely that the HTC is sending over Wireless while the CCast is receiving over Wireless and your router isn't up to handling all that traffic without issues.
Bubble works if the content is available to the server. On Device content I do not believe is available to it. It will play locally in Bubble but I'm not sure the server side of Bubble can see it.
One of the drawbacks of CCast is it isn't very good at streaming content on the controlling device. It really designed to receive Internet or Intranet content that resides on a NAS or Server (such as DLNA, Bubble or Plex).
If you device supports mirroring I suppose thats one method that can work but it will depend heavily on the stability of the Wireless connection and power of the device doing the sending.
I would also try Plex, (The server is free) and see if you can stream effectively using a wired computer and browser (to control) to make sure that the CCast has a good connection and can get good streams.
If that works then you know it isn't the CCast that is the problem and you will know if buying the Plex App is worth doing.
Then you never have any reason to keep content on your device ever again as whatever is kept on the Plex Server will be available for playback and streaming to a CCast (your HTC and any other mobile devices you have) no matter where in the world you are.
And you will get back a ton of space on your mobile device currently used to store the video content.
Click to expand...
Click to collapse
Thanks for your input.
I know that content from Internet via the likes of YouTube works fine. Plex also is good too. It's just that local videos which I intended to use more still not up to par with former.
I suspect too network connectivity issues, it's just I am more inclined to blame the phone. Or some software on the phone colliding with network and crashing it temporarily. During last night local cast, casting stopped again, I gathered some Avia log, mostly NPE and nothing else, so I will be sending them to the dev, maybe they find something useful. At least providing better log than a npe in the future should help investigating this further.
Sent from my HTC One
Last night's Avia catlog, just for sake of completion
09-21 22:00:05.286 E/AVIA (15469): [22:00:05.281 SourceFile:291 createDefaultDeviceIcon] exception getting icon
09-21 22:00:05.286 E/AVIA (15469): Exception: java.lang.NullPointerException
09-21 22:00:08.760 E/AVIA (15469): [22:00:08.772 SourceFile:291 createDefaultDeviceIcon] exception getting icon
09-21 22:00:08.760 E/AVIA (15469): Exception: java.lang.NullPointerException
09-21 22:00:15.678 I/MediaRouter(15469): Unselecting the current route because it is no longer selectable: MediaRouter.RouteInfo{ uniqueId=com.google.android.gms/.cast.media.CastMediaRouteProviderService:0416cf8f10766cd5ece5d6b385900db8, name=Chromecast, description=Casting Avia, enabled=true, connecting=true, playbackType=1, playbackStream=-1, volumeHandling=0, volume=0, volumeMax=20, presentationDisplayId=-1, extras=Bundle[{com.google.android.gms.cast.EXTRA_CAST_DEVICE="Chromecast" (0416cf8f10766cd5ece5d6b385900db8)}], providerPackageName=com.google.android.gms }
09-21 22:00:42.346 E/AVIA (15469): [22:00:42.351 SourceFile:626 a] Service: null; Context: valid
09-21 22:00:42.386 E/AVIA (15469): [22:00:42.382 SourceFile:552 a] Service: null; Context: valid
09-21 22:00:42.386 E/AVIA (15469): [22:00:42.393 SourceFile:557 a] Service: null; Context: valid; inv: valid
09-21 22:00:42.396 E/AVIA (15469): [22:00:42.401 SourceFile:864 a] Service: null; Context: valid; inv: valid
millicent said:
Thanks for your input.
I know that content from Internet via the likes of YouTube works fine. Plex also is good too. It's just that local videos which I intended to use more still not up to par with former.
I suspect too network connectivity issues, it's just I am more inclined to blame the phone. Or some software on the phone colliding with network and crashing it temporarily. During last night local cast, casting stopped again, I gathered some Avia log, mostly NPE and nothing else, so I will be sending them to the dev, maybe they find something useful. At least providing better log than a npe in the future should help investigating this further.
Click to expand...
Click to collapse
I have no doubt it is the phone as there are always things built into the phone OS meant to save battery and take up proc power while you are trying to stream a video. And most can't be shut off in settings...Even Play Store Updates will monopolize your network connection and stop any traffic from flowing that isn't Play Store related.
Thats why I say it is better to not even TRY to stream off the device and put it on a server instead so the content streams directly from there and does not require the Phone's full attention and bandwidth to maintain a good stream.
The only drawback to that is if your ISP Upload speed (at home) is so poor that you have to send a much lower quality stream to compensate.
And if that is an issue for you then you are ultimately better off just doing local playback through the device HDMI port and remove the WiFi transfer from the equation entirely.
Another option I found and I'm not sure might work for you is this portable router....(don't go running out to buy it, I have not used this or know if it actually is a solution for you so do some research on it first!)
It claims to stream Audio and Video...
http://www.ravpower.com/ravpower-rp-wd01-filehub-3000mah-power-bank.html

Is there a working way to mimic the chromecast's cec switch-input behavior?

Hi everyone, first time poster so I'm sorry if this isn't the right forum to post in, but I felt like it was the closest I could think of.
I'm trying to find a way to mimic how the chromecast causes a tv to switch to the input of the chromecast dongle. I have an Android Box that came rooted and has HDMI-CEC capability. What I'm looking to do is somehow use Tasker to trigger the CEC-switch activity/intent/whatever to have my tv (turn on) and switch to the HDMI source of the Android Box (the box will be left on 24/7 and tasker will continually run as background service on the box). Basically, I'm trying to imitate the chromecast's cast action to bring me to my Android Box's input and ultimately it's home screen.
That's where I'm stuck at the moment. Things I've thought might work:
1. Wake-On-Lan (Doesn't seem to wake the box, even when I've checked to make sure the power button made the box sleep and not perform a full shutdown) Tried-Unsuccessful
2. AutoCast to have the box cast to itself, but it doesn't have chromecast/miracast/etc built-in as far as I can tell according to the specs and see anything about cast ability while browsing through its menus.
3. Using Android's HDMI-CEC library in a Java Action in Tasker to imitate the CEC switch sources intent/activity. However, I just recently learned that Google decided to lockdown their API for HDMI-CEC interactivity, so that scrubs that idea.
4. The best bet, and what gave me the idea to post here, is this App Cast Receiver that was created by another user on these forums that seems to accomplish something close to what I'm trying to do in allowing an android device to imitate a chromecast device. If I were able to use this couldn't I then use the AutoCast app I mentioned above to have the Android Box cast to itself, then stop the AutoCast app a few seconds later (after giving the box's CEC capability enough time to make the tv switch sources)? But, unfortunately it appears the app has since been deserted and won't work with the newer chromecast sdk. Maybe someone has an alternative app?
Since this is my first Android Box I'm not quite sure how Tasker actions function when ran from the box. Example: Would a Wake Screen Action trigger a switch of HDMI inputs?
So, after exhausting all my ideas after coming up with nothing in my searches I figured I'd ask the community here since this seems to be a pretty dev/mod-heavy community (and I love it). I'm not sure if this would be better suited for the Tasker or AMLogic Android Box forums on here. If so, I'll happily move the post if a mod cannot do so for me.
TL;DR: Looking for some way, be it app or otherwise, to imitate chromecast behavior (utilizing CEC) in order to make tv switch source to a running Android Box's homescreen.
Hey! tell me more about 3, I was looking to have a Raspberry Pi act as a go-between to simulate CEC with a non-CEC TV by receiving my remotes IR codes and sending either CEC codes to the ChromeCast or using the CC API to pause/stop play - but only reverse engineered versions are available on Pi.
The Pi has built-in CEC support so you can use `apt-get install cec-tools` and then play with the `cec-client` to do some interesting stuff. The ChromeCast in my case has an invalid address so I don't seem to be able to activate pause play. (I see a logical address of 4 but also an address of `f.f.f.f`, ie invalid).
Anyways, it may be worth playing with a Pi and seeing if HDMI-CEC will do what you want, and then seeing if you can get a CEC library for android and just recreate the Pi work. Less hoops to jump around.
I don't know enough about the Android side. The CC API has an Android implementation so I would think you'd be able to do everything you want, iff it does the switching. I've done very little development on Android (a meteor app and an Android native camera library work), unfortunately. (If the Pine64 supports CEC I may end up going down this route).
I've posted more about my interest here: on reddit /r/Chromecast/comments/5znpuk/i_want_to_use_a_raspberry_pi_to_control_the/
jlongman said:
Hey! tell me more about 3, I was looking to have a Raspberry Pi act as a go-between to simulate CEC with a non-CEC TV by receiving my remotes IR codes and sending either CEC codes to the ChromeCast or using the CC API to pause/stop play - but only reverse engineered versions are available on Pi.
The Pi has built-in CEC support so you can use `apt-get install cec-tools` and then play with the `cec-client` to do some interesting stuff. The ChromeCast in my case has an invalid address so I don't seem to be able to activate pause play. (I see a logical address of 4 but also an address of `f.f.f.f`, ie invalid).
Anyways, it may be worth playing with a Pi and seeing if HDMI-CEC will do what you want, and then seeing if you can get a CEC library for android and just recreate the Pi work. Less hoops to jump around.
I don't know enough about the Android side. The CC API has an Android implementation so I would think you'd be able to do everything you want, iff it does the switching. I've done very little development on Android (a meteor app and an Android native camera library work), unfortunately. (If the Pine64 supports CEC I may end up going down this route).
I've posted more about my interest here: on reddit /r/Chromecast/comments/5znpuk/i_want_to_use_a_raspberry_pi_to_control_the/
Click to expand...
Click to collapse
Here's the link to Android's documentation for the HDMI-CEC Control Service. But, like I said it's been locked down and only allows system-level access now.
I don't have any Pi at my disposal (plus my Android Box also has built-in CEC-capability/functionality) and since my situation doesn't actually involve chromecast I never thought to look at their api/sdk. But, I was able to finally solve my problem with a painfully simple, yet not that intuitive or logical method. The way my box's os/firmware appears to work is by firing the cec signal to switch inputs only on its boot_complete and wake_from_standby procedures. My solution just simulates pressing the Standby button twice in a row via Shell command (with Root option checked) from within Tasker. Logically, I thought after the first press the box wouldn't respond to the second press due to already being in standby mode (because of the first button press). But, it turns out both simulated presses occur (maybe keyevents are queue?), allowing me to put the box in standby momentarily and immediately bring it out of standby, which triggers the wake_from_standby procedure and in turn causes the input to switch (or my tv to turn on then input to switch).
My thought with the Pi and CC API was that you would use the PI to monitor the HDMI-CEC bus as the output is controlled by the CC - assuming it switches the input to itself but my TV doesn't support HDMI so maybe that's a bad assumption - and then use that knowledge to replay using the Android HDMI-CEC API. And not understanding what you meant by the API being locked down. That kind of sucks - I was hoping Android would be another bridge platform if the Pi failed me.
Well congrats on a working solution. Cheers!

Categories

Resources