Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

works great but slow #1

Open
r-cohen opened this issue Mar 13, 2015 · 23 comments
Open

works great but slow #1

r-cohen opened this issue Mar 13, 2015 · 23 comments

Comments

@r-cohen
Copy link

r-cohen commented Mar 13, 2015

got it working fine on ubuntu 14 with a motox (2nd gen), but it's really slow. maybe put option to change the frame rate?

@xSAVIKx
Copy link
Owner

xSAVIKx commented Mar 23, 2015

It's quite hard to improve FPS, cause of the method, which is used to obtain phone screen images.
When I'll have enough time - I'll try to provide more effective solution.

@lutin44
Copy link

lutin44 commented Feb 23, 2016

Hello! I am interested in this project, and I tested on several phones, and some have a slow refresh and other are quite fast, any reason ?

@xSAVIKx
Copy link
Owner

xSAVIKx commented Feb 24, 2016

Hello.
They all have same version of Android ?
I think, it can be related to Input program implementation (it's part of Android platform and is written in C), cause now AndroidScreencast use DDMLIB - API to communicate with Android smartphone though ADB, without having any client.
So in my opinion, it can be related to Android OS version, or your ADB version.
Regards, Iurii.

@lutin44
Copy link

lutin44 commented Feb 24, 2016

Hi,
actually i tested a Gt-I9505 CyanogenMod 13 Android 6.0.1 rooted, and this one is the slowest.
Else i tested a galaxy A3 rom stock android 4.4 no rooted and A Galaxy Core Prime stock too and both are much more fast than the fisrt one.

I'm in ADB version 1.0.31, and i've just updated in version 1.0.32 (http://forum.xda-developers.com/htc-one/general/tool-updated-adb-version-1-0-32-fastboot-t2932160), it's a little more fast but still slow...

anyway it's usable, so i'll continue to follow your developpement and testing.
Thanks for this work !
Fred.

@xSAVIKx
Copy link
Owner

xSAVIKx commented Feb 24, 2016

Actually, right now have no time to invest in this project, so I don't know when it'll be refactor to work faster.
Thanks for your interest, Fred.
BR, Iurii.

@wbo4958
Copy link

wbo4958 commented Jun 13, 2016

really slow, can be better?

@xSAVIKx
Copy link
Owner

xSAVIKx commented Jun 13, 2016

Maybe with some image-compression algorithms, or if Android will create some new ways to capture screen image, without phone client.

@lutin44
Copy link

lutin44 commented Jun 13, 2016

Hi , I found that if it can interest (only for samsung):
http://www.samsung.com/us/sidesync/

@r-cohen
Copy link
Author

r-cohen commented Jun 13, 2016

personally, I found this Chrome extension which does the job pretty good:
https://chrome.google.com/webstore/detail/vysor/gidgenkbbabolejbgbpnhbimgjbffefm?hl=en-US

@xSAVIKx
Copy link
Owner

xSAVIKx commented Jun 13, 2016

@lutin44 , @phearme these apps, for sure, are great, but all require android client - and it's the main difference. With Android client it's really possible to make everything working much faster.

@polyzen polyzen mentioned this issue Aug 2, 2016
@noraj
Copy link

noraj commented May 1, 2017

@phearme Vysor is crap, it works only with Ubuntu for Linux system and the dev is naughty.

@xSAVIKx perf are very bad for me (1 frame every 2 seconds), so this is impossible to play, watch a video or even write text, it's too slow.

$ adb --version                                                                                                                                                                                                   
Android Debug Bridge version 1.0.36
Revision 7.1.1_r13

Phone: Elephone P7000 (Android 5.0)

@xSAVIKx
Copy link
Owner

xSAVIKx commented May 1, 2017

@noraj1337 Hello, thanks for your response.

It should be mentioned that this application was not designed for such high-FPS activities.
The main goal of the app was to be able to somehow use phone with the broken screen - it's just not the replacement for the RDP.
I think you have to find something more suitable for your purposes.

@noraj
Copy link

noraj commented May 1, 2017

@xSAVIKx You're right. Can you mention in the readme that the average FPS is under 1 frame per second ? Thanks for your answer. Do you know another app working without client (adb) or with a linux client that will allow me to mirror my phone and control it from my Linux PC via USB or local wifi? Seven Square too slow like AndroidScreencast, Droid@Screen doesn't work, Vysor doesn't work under Linux, TeamViewer QuickSupport not supported for my phone, and all commercial mirroring either don't work or use internet access.

@xSAVIKx
Copy link
Owner

xSAVIKx commented May 8, 2017

@noraj1337 I don't think you'll find any app without client side and with any acceptable FPS rate - it's just limitation of the ADB and the way apps are obtaining screen images.

@noraj
Copy link

noraj commented May 8, 2017

@xSAVIKx Yeah, you're right, thanks for your answer.

@WolfgangFahl
Copy link

WolfgangFahl commented May 21, 2017

Just added an fps calculation. see https://github.com/xSAVIKx/AndroidScreencast/pull/42/commits
The results are unsatisfactory on a Wifi adb connection:

18:56:54 [Screen Capturer]     INFO  ScreenCaptureRunnable - 0,06 fps 15388 msecs/frame
18:57:12 [Screen Capturer]     INFO  ScreenCaptureRunnable - 0,05 fps 18469 msecs/frame
18:57:29 [Screen Capturer]     INFO  ScreenCaptureRunnable - 0,06 fps 16989 msecs/frame
18:57:41 [Screen Capturer]     INFO  ScreenCaptureRunnable - 0,08 fps 11898 msecs/frame
18:57:57 [Screen Capturer]     INFO  ScreenCaptureRunnable - 0,07 fps 15355 msecs/frame

a simple screencap is still slow but at least 2 x quicker:

date;adb exec-out screencap -p > test.png;date
So 21 Mai 2017 19:06:58 CEST
So 21 Mai 2017 19:07:04 CEST

@xSAVIKx
Copy link
Owner

xSAVIKx commented May 21, 2017

@WolfgangFahl I'd appreciate PR with something better than the current solution.

@WolfgangFahl
Copy link

Iurii - thanx. I am investigating.
e.g. ```
date;adb exec-out busybox gzip -fc /dev/graphics/fb0 > frame.zip;date
So 21 Mai 2017 22:27:05 CEST
So 21 Mai 2017 22:27:07 CEST

seems to be quicker

@xSAVIKx
Copy link
Owner

xSAVIKx commented May 21, 2017

@WolfgangFahl yeap, but:

  1. IMO it's too device dependent
  2. How are you going to run such commands from the app?

I do plan to get rid of ddmlib, but it's not so easy.

@WolfgangFahl
Copy link

indeed busybox is not available on all devices and the access to the framebuffer might also be limited.

I found https://github.com/openstf/minicap which at least is some solution to get better fps

@xSAVIKx
Copy link
Owner

xSAVIKx commented May 22, 2017

@WolfgangFahl, very interesting project. Probably I'd try to use this one instead of ADB.

But for sure, the problem will be to install binary for every phone and OS version... Not sure right now how to use it.

@gbc921
Copy link

gbc921 commented Jun 7, 2018

Hi all,
I've take a look at minicap recently and it seems to works fine (for me). They have an example that runs on nodejs and we can use it through the browser.

Then I was wondering, (warning: pretty bad solution coming) if we could integrate the nodejs example like an iframe inside the java window, so we can have a fast screen mirroring through minicap and touch input through adb 😄
I know it's not the perfect/best solution, but I am guessing that it can be something feasible and easy to do. What do you think?

I've also found a project called adbmirror which uses minicap and have prebuilt binaries that the shell script pushes them automatically. However, the input doesn't work at all for me on his project (but minitouch through the command line does).

@polyzen
Copy link
Contributor

polyzen commented Jun 7, 2018

https://github.com/Genymobile/scrcpy

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

8 participants