How to test Chromecast apps without a TV? - android

Background
I'm planning to make an app that casts things (urls, content,...) to chromecast .
I've bought a ChromeCast dongle, and it worked fine using the samples of Google.
The problem
It's quite annoying to have 3 screens to look at while developing such apps, and I'd prefer to have the receiver on the PC side too.
Such a thing would also make it much easier to debug and test.
What I've tried
I've searched for this a lot, and found some Chrome plugins (like CR Cast), but they all have terrible bugs. I've even found a python based solution (here), but I failed to compile it.
I've noticed that there is a reciever side description of ChromeCast in the documentation. Does this have anything to do with a replacement of ChromeCast?
The question
I'd like to know if it's possible to do the testing on the computer itself, including all of the features that ChromeCast has.

Unfortunately there is no replacement for testing a Chromecast other then testing on a Chromecast been developing on CC for 3 years... (If someone knows how please enlighten me).
The receiver web application that is run on the CC references Google JS libraries that are dependent specifically on CC hardware and must run on the devices builtin browser.
I've been in the similar situation where while traveling I had no access to a TV and needed to fix a CC issue. In this case I would recommend just plugging the CC into USB (to power it) and leave the display out of it. The CC has no dependency on being plugged into a display to function and it will operate, stream, log events just the same. Then just access its remote debugger on the CC's IP address and port 9222. Every log regarding its operation will be there and you can inspect the HTML (But you probably know this).

The Chromecast connects to a TV via an HDMI port which is available on most monitors. You may simply connect, if your monitor has an HDMI port. Modern monitors support the latest HDMI protocol, so you will be able to get video and audio. I am currently using this setup using a NEC MultuSync EA275UHD. The output is visible by switching Inputs but there is also a PIP mode on the monitor that allows the screen to be slit to view the Chromecast and Desktop output side by side or with one of them scaled down and overlaid near a corner.
Now, if your computer screen does not have an HDMI port, you can get converters but sometimes you will lose features. A HDMI to DVI for example will be limited to Full HD and not transmit sound. DisplayPort adapters can handle 4K resolution and audio, but read the specs because not all do.
The last and more expensive option is an HDMI capture card or adapter. That will let you see the display on a laptop even. The advantage is that you can even record the output for demos, for example. Those costs from $80 to $400 USD, depending if they can capture 4K and at which refresh rate.

Related

Automatic screen cast(MediaRouter/Chromecast) on Android or other HDMI display alternative

We have a custom Android device with WiFi/Bluetooth antennae that we intend to operate without direct user interaction (like a router). Normal operation doesn't require any visible display, but troubleshooting or setup will. The device has an HDMI port for connecting to external screens but no built in display.
While we can plug in to an HDMI TV out of the box, the device will generally be in locations where big screens are inconvenient. We would like to make it convenient to display onto laptops or other small screens; the only other ports we have are USB-A receptacles, so I'm assuming any solution will be network (wired or wireless) based.
Edit: I had originally been looking at Chromecast before realizing it was an HDMI plug. Is there a simple way to cast to computers or is a hardware solution likely to be the most viable?
I'm still in the planning phases so will post more information as I run in to it. Am just trying to avoid writing a bunch of code that won't ever work; any alternative suggestions are appreciated. Thanks!
Previous text:
Does anyone have suggestions on how to approach this? My initial research led me towards using MediaRouter to connect to a Chromecast dongle (Device will run Android 4.4.2 ), but I'm unsure if the API gives enough control to find and connect without a display in the first place. I could only find examples of users selecting what to route to, and didn't see any proximity information in MediaRouter.RouteInfo to base make a decision based on (a la RSSI in Bluetooth). Finally, I wasn't sure if this supported devices list meant a custom device wouldn't work.

Android app that sends and receives data from pc

So ill do my best to explain. I'm wondering how easy (or hard) it would be to make an android app that talks/sends and receives data from a PC or mac, even more so with flash.
so for example, I first make a flash application on my PC / Mac, lets say it has a MovieClip of a square on the stage. That is all for that part. Next I make and android app that consists of one button. when I press that button (on the android app, on the phone) the square on the flash desktop application moves to the right or left by ten pixels.
so ultimately the mobile app is controlling the desktop flash application.
Iv searched and searched but I'm unsure of what keywords to really use to find what im looking for.
Can anybody shed some light on how difficult this is(if its possible), or any documentation / tutorials on this subject?
The Bluetooth standard includes a profile called Bluetooth HID. If you write (or download!) an Android app that implements this profile, then connect your Android device to your PC, it basically becomes a Bluetooth mouse or keyboard. It would require no programming on the PC side, as both Windows and Mac support Bluetooth peripherals.
Implementing a network protocol on the device side is usually really low-level stuff. If your programming experience is only in flash, you'll probably find this tough going (you would likely learn a lot!). Luckily, there's the Android HID library. I don't know how good it is (I just found it for this answer), but it looks done, so it would save you from having to do the most difficult parts.
You can use adb to accomplish this, which is how many of the tethering apps get around carrier restrictions. Here are some sources:
Adblib is a "library to communicate with android devices with TCP over USB without requiring the Android SDK":
http://code.google.com/p/adblib/
Thread about Adb over USB:
http://groups.google.com/forum/?fromgroups=#!topic/android-developers/JsDTBimHpOA
adb itself:
http://developer.android.com/tools/help/adb.html
Here are some other links to some other Android USB topics:
http://developer.android.com/tools/adk/index.html
http://developer.android.com/guide/topics/connectivity/usb/host.html
http://developer.android.com/guide/topics/connectivity/usb/accessory.html
http://developer.android.com/reference/android/hardware/usb/UsbInterface.html
http://developer.android.com/sdk/win-usb.html

Analog video capture to Android phone

I am looking for a way of displaying an analog video stream on an android phone. On a pc/mac/etc you can achieve this using a cheap usb analog-digital converter such as a grabby: http://www.terratec.net/en/products/Grabby_82248.html, and then view on VLC, for example.
Would such a thing work (in theory) on android if the proper drivers were available? (ie. are there any hardware issues which make this impossible?)
Does anyone know if such a device with android drivers is available?
Ultimately I want to make an app which interfaces with the grabby (or similar device) and allows the user to view video on the android and capture and send short clips.
First of all the Android device needs to support USB Host. This limits your userbase significantly.
Then there is the problem with power. Some USB Host devices will be incompatible simply because an Android phone will not be able to push enough power through to port to get it running properly.
I'm not sure about the drivers, but I'm 99% sure it won't work "out of the box".
You should certainly take a look at THIS project. It is pretty similar to what you are trying to do. Maybe you should consider getting in touch with that person.
EDIT:
Based on what it took to get that DVB-T dongle running in the project i mentioned above the chances of creating an app that everyone will be able to simply download and use are EXTREMELY slim. Getting that dongle running required using a modified kernel and special scripts. Of course I could be wrong. You can continue the research yourself or wait for someone with more experience than me to reply.

View mobile screen on PC using adapter

I need to view the live screen of my Android mobile on a Windows PC. My Android phone has a mini-HDMI output. Is there any adapter/software that helps me to achieve this? The applications that I found after searching needs the device to be rooted to control it. I don't want to remotely control the device. I just need to get the live feed from the mobile.
Actually, there are some relatively affordable HDMI-DVI adapters on the market. Couple them with a mini-HDMI to full HDMI cable and you've got yourself a decent hardware setup.
Some notes:
HDMI carries audio and video, while DVI carries only video. However, the two have no difference in video quality, and they use the same encoding.
as Mgamerz said, support for the HDMI outputs on Android phones has been, thus far, dismal. Your phone might have the port, but your ROM might not support it. Furthermore, some apps won't even acknowledge the existence of the HDMI, again, because so few phones have them.
From a hardware and an encoding point of view, this is COMPLETELY possible, but from a software point of view, it is likely IMPOSSIBLE. If you figure out how to do what you're trying, definitely tell as many people as possible.
You're going to need HDMI mirroring, which means you'll need a high end device (most likely dual cores), and support for it is going to have to be built into the rom. I own an atrix, and developers have slaved for months to get HDMI mirroring on it, but only some progress has been made.
Otherwise, unless your device supports it, you won't be able to do it. It's dependent on hardware too.
Edit: There might be some apps to do it but I doubt they will achieve what you seek. HDMI mirroring typically doesn't go past 20fps either (on a dual core 1Ghz).
To use the HDMI port, you'd need something that can accept HDMI input.
Very few computers can do so (except possibly some smart-tv type boxes).
However, there's a good chance that the monitor connected to your computer can. It might even have a spare input.
In other words, displaying your phone's output "in a window" on your monitor is extremely difficult. But by pushing a button or swapping a cable, you may well be able to display your phone's output on the entire monitor, in place of the computer's.
Practically speaking, if you need it in a window, or the device doesn't have HDMI out, the most common solution seems to be a high-end webcam in a fixture to aim it at the device. I saw a presentation that was delivered this way, displaying on very large flatscreen TVs, and didn't even realize that the slides were coming from an Android tablet as seen by an overhead camera until the presenter picked up the tablet and slid a phone into it's place.
http://mymobiler.com/?cat=3
Try this app from mymobiler. it works on motorola atrx 2 with android 2.3.6 rooted.
The site lists only a few supported models but it seems working on other models too.
You can get the full access to the mobile screen in your windows application windows.
It can also capture screenshots and take video of the actions on the screen.

How do I output to monitor from android device

I am trying to do a demo on a android device, but the screen is too small so is kinda hard to do a demo let say in a meeting room with 12 people. Although I can pass the device around the table or just simple borrow or get more devices for the demo purposes.
I understand there are devies where you can buy special USB converter to do TV-out like in iPhone, and some specific devices on Android (e.g. Motorola Incredible?) But I have to demo on a specific device where it runs standard Android build.
I understand I can do it on Android emulator but the screen refresh rate is too slow, as it will send the wrong message to the audience that the app is slow. (Or there is a way to increase the screen refresh rate for emulator?) Furthermore the emulator doesn't support multitouch. (Or am I wrong?)
Not sure if anyone
You do not have many options.
You can use Droid#Screen, but the refresh rate on it is maybe 6fps. I am not aware of any other software projector that is faster.
You failed to mention the "specific device" that you are using, so I cannot comment on whether it has TV-out capability. The HTC DROID Incredible and the Samsung Galaxy S series support composite output -- I use the DROID Incredible for this purpose a fair bit. Most of the devices that have HDMI output only support it for certain built-in apps, such as the video player.
You can rent or purchase a device projector, like an ELMO. These are fairly expensive pieces of equipment purchased new, though I see a handful of used ones on eBay at interesting prices (though watch out -- many seem to lack the AC adapter).
If you can delay the demo several months, you may be able to use a Google TV.
And that's about it, AFAIK.
Or there is a way to increase the screen refresh rate for emulator?
Get a faster computer.
Furthermore the emulator doesn't support multitouch. (Or am I wrong?)
I am not aware of a way to simulate multitouch with an emulator, though I have not gone looking for a solution there.
If you have an Galaxy S3 Android mobile phone, you can use Mobizen. It's free and the screen refresh rate is relatively good. You can control you mobile phone from you computer using your mouse and your keyboard. It's working using USB, 3G or Wifi connection.
I have used this Android screencast tool: http://code.google.com/p/androidscreencast/ in past demos, but again the downside is the relatively slow refresh rate.
If you have a rooted device, you could try Droid VNC Server (it's on the market). The refresh rate isn't too bad, but I certainly wouldn't want to demo full motion video or an arcade game on it.
You could also get a webcam, rig it up with a tripod. Something like this. Downside is your hands will be in the way, maybe issues with lighting and/or focus. Upside is a decent refresh rate.

Categories

Resources