Stream screen contents to hdmi out? - android

I have an Evo which has an HDMI out port. The photo gallery and video app can send screen contents out.
I was hoping that it would also send the screen out in all cases - for example, looking at the homescreen would still stream out to hdmi. This does not work.
Is it possible to add this to our app? Interested in demo purposes. Would love to hook the evo up to the projector and stream the screen contents out. Probably not, but just curious,
Thanks

There's a cool program called HDMwIn on the android market. Have you tried that out?

Is it possible to add this to our app?
Not without hacking some firmware, and possibly not even then.
UPDATE: just saw #Kurtis Nusbaum's answer -- looks like root would be sufficient.
Interested in demo purposes. Would love to hook the evo up to the projector and stream the screen contents out.
Honeycomb tablets support this -- I have used the XOOM and Galaxy Tab that way. The XOOM has a micro HDMI port built in; the Tab 10.1 needs a proprietary adapter thingy.
The DROID Incredible supports composite output of everything, which is supported by more projectors, though it is not especially crisp.

Related

Modify firmware of noname android tablet: first steps

I want to develop a HTML5 app to control doors, lights and other things in my garage. The frontend of will get displayed on a 24/7 turned on screen, that really only displays the app (kiosk mode). So there will be really only the app, no browser controls like back and forth button or url bar, and also no notification bar or back and home buttons of the device. Just the app.
For this I considered 2 options:
Doing it with a raspberry PI & connect a touch screen to i
Doint it on a dead cheap noname Android Tablet
Since the 2nd option is much more elegant from the hardware point of view (everything I need is already built in) I decided to try this first and bought a 70 USD Prestigio Tablet.
But since I'm no android dev, I'm not sure how I can even modify the stock firmware that's currently installed on the device.
As far as I can see, the bootloader is unlocked and ready for flashing a modified firmware image.
And here comes the question:
How can I get the device's currently installed firmware image? Do I have to contact the manufacturer for this or can I extract it from the device directly?
If I get the firmware image, how will I be able to modify files in it?
Or do you think I got the wrong route?
You need to find sources of firmware for your specific device. I bet manufacturer would not provide them. For Nexus devices it is easier because there is AOSP (android open source project) which gives you an opportunity to build a firmware. You can also check specific forums like 4pda.
But there is another way - to make a KIOSK mode for your device example. I'm not sure how does that fit into requirements. Also You can make your app as Launcher app and live with that :)

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.

Redirecting/duplicating the UI to an external output

Is it possible in the Android framework to duplicate what is displayed on the main display (UI)?
I have a situation where I need to demonstrate my app to many people, and it would be easier to do if I can duplicate the screen contents to an external monitor/TV. I am not married to the idea of using the HDMI port, I would be happy doing this through Wi-Fi or Bluetooth or USB if need be. What I am looking for is to see if I can do something similar to what Windows does by default when a second monitor is connected.
I have been through the developer's documentation and haven't been able to find anything that would allow me to do this, but it would not be the first time I've missed something. Specifically I need to do this with an HTC Evo.
Your options are limited, mostly by your choice of device. The HTC EVO's HDMI port will only play back apps via the built-in Gallery application (videos and still photos).
You will need to use a "software projector" like Droid#Screen -- attach your EVO to a Android SDK-equipped notebook that is connected to a projector. Droid#Screen will display the EVO's screen on the notebook (and, from there, on the projector). However, the frame rate is limited to about 5-6 fps, due to limitations in the SDK tools that Droid#Screen leverages.
Or, get your hands on an HTC Droid Incredible, which supports composite output to TVs of anything on the main display via a special cable. The Samsung Galaxy Tab also supports this for anything that does not involve a SurfaceView, based on my experimentation to date. Some versions of the Samsung Galaxy S also support this, at least to some extent.
Or, use a webcam.
Or, use an ELMO (basically a webcam designed for document or device projection).
You can write a UiCloningService in jni that exposes a JNI method to clone the display. Usually, as Android is based on Linux, it will use the Linux framebuffer technology to represent display devices as dev nodes under /dev/fb* or /dev/graphics/fb*, where '*' can be 0,1,2,... depending on number of display connected.
As your device already has an HDMI port, it would be exposed via /dev/graphics/fb1, considering fb0 to be your default LCD display.
In the cloning service, you can then write to device attribute files created for the HDMI port under sysfs and, if the display driver of your device has implemented those features (which most probably would have, otherwise what point to have an external HDMI display), these features/functions in the driver will be responsible for cloning the Ui on your primary display to the secondary display.
But you would have to write the Ui cloning service in JNI.(usually device manufacturers provide such methods, if at all an Android SDK is provided by them for development on that particular device).
For eg., I have attached a UiCloningService.cpp that has a cloning JNI function for Android GingerBread on an OMAP3 platform below:
UiCloningService.cpp

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.

Android phones: how does the video out feature work?

I'm searching for android phones that can use video out to the tv for a research project. I'm considering the HTC Touch Pro.
Is there anything I have to do specifically to get the video out to work (for displaying my app on the tv)? or will the phone just display a running app on the tv without extra work?
Thanks, I hope the post made sense =)
HTC Touch Pro is not an android phone. As far as video out - Sprint upcoming EVO will have HDMI out connector.
It looks like it will just work without any extra programming efforts on my part. Found out through youtubing.

Categories

Resources