So erfassen Sie den Bildschirm mit / dev / graphics / fb0 (Android)

8

Wie Sie den Bildschirminhalt des Android-Geräts mit /dev/graphics/fb0 erfassen und wie Sie eine Bilddatei mit den gesammelten Daten aus dem Framebuffer erstellen. Ich weiß dafür, dass das Gerät gerootet werden muss und ich damit einverstanden bin.

Vielen Dank im Voraus,

    
manju 11.01.2011, 06:17
quelle

5 Antworten

9

Das sollte funktionieren:

%Vor%     
nebkat 12.02.2011, 13:05
quelle
4

Nebkats Lösung funktioniert manchmal, aber bei der Arbeit am Dollop-Testwerkzeug habe ich gelernt, dass es keine universelle Möglichkeit gibt, ein Bild direkt von fb0 zu erstellen. Das Motorola Droid 2 verwendet RGB 32. Das Huawei Ascend verwendet RGB 565. Das Samsung Captivate verwendet keines und scheint nicht den gesamten Bildschirm in den Puffer zu legen.

    
Brian Kyckelhahn 06.10.2011 15:34
quelle
3

Wenn Sie das Root-Privileg haben.

  1. Kopieren Sie Daten von fb0 in eine andere Datei, z. B.

    %Vor%
  2. An dieser Stelle können Sie die neue Datei immer noch nicht öffnen. weil die Datenstruktur der Datei kein Bilddateiformat erfüllen kann. Also, was Sie brauchen, ist es zu entschlüsseln. In dieser Datei beschreiben alle zwei Bytes ein Pixel. die höheren 5 Bisse repräsentieren die rote Farbe, die unteren 5bites repräsentieren die blaue Farbe und die restlichen mittleren 6 Bisse sind grün. Sie können die obigen Informationen verwenden, um ein BMP und jede andere sichtbare Datei zu erstellen.

Andrew 22.04.2011 06:39
quelle
1

Möglicherweise möchten Sie -pix_fmt rgb32 durch -pix_fmt rgb565le für 16-Bit-Geräte ersetzen.

    
gilm 02.01.2013 09:04
quelle
1

Wenn Sie sich nicht sicher sind, welches Format Ihr Geräte-Framebuffer haben soll, können Sie die folgenden ffmpeg-unterstützten Formate iterieren:

%Vor%

Die Ergebnis-Thumbnails sind auch irgendwie künstlerisch.

    
Ville Ilvonen 25.11.2014 11:44
quelle

Tags und Links