[PYTHON] Versuch und Irrtum, um Android-Screenshots zu beschleunigen
Zweck
- Ich möchte den Bildschirm eines Android-Geräts mit hoher Geschwindigkeit erfassen.
――Um einen automatischen Test des Soundspiels durchzuführen, das heutzutage ein Genre von Smartphone-Spielen ist
Problem
- Konventionelle Methode: Verwenden Sie den Befehl screencap aus dem Befehl adb
- Beim Full-HD-Bildschirm hat die Aufnahme bis zur Übertragung lange gedauert.
- Wenn Sie nicht gut darin sind, dauert es ungefähr 2 Sekunden, um das Bild aus der Aufnahme zu ziehen. ~~ Damit kannst du das Soundspiel nicht testen. ~~
Versuch und Irrtum
Android Screen Monitor
- Obwohl es von adakoda hergestellt wurde, wurde es aufgegeben, da die Entwicklung vor vier Jahren gestoppt wurde und die Bildschirmgröße gegenüber der ursprünglich erwarteten Bildschirmgröße erheblich vergrößert wurde, sodass die Erfassung nicht aufholen konnte.
Verwenden des HDMI-Aufnahmegeräts
- Nachdem ich Ankündigung von Cygames von JaSST'17 gesehen hatte, kam mir die Idee, Bilder mit HDMI Capture über MHL zu erfassen. Ich habe diese Methode jedoch abgebrochen, weil ~~ ich nicht in C # schreiben kann ~~~ Das HDMI-Aufnahmegerät selbst ist teuer und ich mache mir Sorgen, mehrere Geräte anzuschließen.
Lösung
- Die zuvor von CyberAgent angekündigte Technologie von Smartphone Test Farm (OpenSTF) ist minicap. Es scheint, dass ich das irgendwie nutzen kann.
―― ~~ Da ich kein JavaScript schreiben kann ~~ Irgendwann werde ich überlegen, es in Python zu implementieren, um die Zusammenarbeit mit OpenCV in Betracht zu ziehen.
Gut.
- Ich habe es geschafft.
- Für den Teil, der mit dem Minicap kommuniziert, wurde der von der chinesischen Person erstellte Teil so verwendet, wie er ist.
- http://www.jianshu.com/p/f8b8123cd062
Implementierung
- stream.py ist der Teil, der die Daten aus dem Minicap-Prozess erfasst und zum Datenanalyseteil wird.
- Für die Erklärung der Daten ist Honke das Beste, daher werde ich es weglassen.
- Nach dem Erfassen der Bilddaten verarbeitet das Beispielprojekt minicap.py die erfassten Bilddaten. Wird in das OpenCV-Format konvertiert.
Impressionen
――Es ist schön, dass die Bildschirmaufnahme schneller ist, aber das Tippen und Streichen des Bildschirms über adb bleibt langsam, also musste ich das verbessern.
Referenz
- https://github.com/openstf/minicap
- http://www.jianshu.com/p/f8b8123cd062
- http://www.ctolib.com/AutomatorX.html