0

i'm working on something to remote control android from web browser. something like canvas or flash will draw the android device's screen, and i want it to be very smoothly.

as i know, we can capture android screen using frame buffer. there a lot of articles about this. But, the fps is very lot, 4~5 fbs at most. is there any way to improve?

will something like ffmpeg help?

Rain Lee
  • 13
  • 5

3 Answers3

0

you will never be able to operate it in real time. There will be some delay always. This is due to a number of factors like, internet connection, device hardware speed, screen capture delay, etc. There are a few companies doing this successfully across the globe, but not without delay.

Shafi
  • 1,368
  • 10
  • 24
  • delay is acceptable. i just wanna a way to reduce it. i think current screen capture method reading a image from framebuffer once a socket request accept is not good enough. – Rain Lee Jul 24 '12 at 13:24
  • One way to measure the delay is after performing any action on screen, you should be able to see it in 1/1.5 sec delay. If you are able to achieve it, assume that your code is fine. If not, then post your code and we might be able to help you. – Shafi Jul 24 '12 at 13:30
  • well, i think 1/1.5 may be acceptable for website refreshing or single picture refreshing, but not for remote control. it should be something like video. at a speed nearly 20 fps not only 4~5. current code may be like this :code.google.com/p/androidscreencast/ – Rain Lee Jul 24 '12 at 13:39
0

I do think that u will need to write a virtual driver (.so) and install it, all the apps that do this like "droid VNC server" requires root access level.

0

Did you perform ARM NEON based optimizations? It should be more than 4~5 fps. I am doing a display recorder app, that can easily do 25fps. However, it's not remoting, instead, the captured video is saved to local storage.

As for VNC like solution, the key is not to loop around, and capture frames, it should only do it when video buffer is updated.

You can also test whether our vnc server works on your device. VMLite VNC Server is the first vnc server that does not require root, but you need to start the server with USB connection.

https://play.google.com/store/apps/details?id=com.vmlite.vncserver

huisinro
  • 1,083
  • 10
  • 15
  • it's great to capture video up to 25 fps. will you share with us how you make it? and do you have free version of VMLite VNC Server – Rain Lee Aug 16 '12 at 02:02