[Erledigt]Probleme mit Screenshot

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
Minnten
Beiträge: 13
Registriert: 27.03.2017 15:46:14

[Erledigt]Probleme mit Screenshot

Beitrag von Minnten » 20.04.2017 11:59:17

Hallo,

ich wusste jetzt nicht, wo das hier besser hinpasst.

Ich will mit :

Code: Alles auswählen

cat /dev/fb0 > screen.raw
einen Screenshot erstellen und diesen dann weiter verarbeiten.

ABER:
egal was ich versuche, ich kann die Datei screen.raw nicht in ein Anzeigbares Format konvertieren.
Das Problem ist, dass es genau dieser Code sein muss, da er später auf einem mini-Linux(ElinOS) laufen soll, das nur diesen einen Befehl kennt, die Weiterverarbeitung erfolgt aber mit Debian.

Ich habe versucht, die Datei mit Gimp zu öffnen, ging nicht, ein Konvertieren mit convert(Imagemagick) bricht immer mit einem Fehler ab:

Code: Alles auswählen

convert screen.raw screen.jpg
convert: delegate failed `"ufraw-batch" --silent --create-id=also --out-type=png --out-depth=16 "--output=%u.png" "%i"' @ error/delegate.c/InvokeDelegate/1310.
convert: unable to open image `/tmp/magick-7475sc7yCAEGUCCA.ppm': Datei oder Verzeichnis nicht gefunden @ error/blob.c/OpenBlob/2712.
convert: no images defined `screen.jpg' @ error/convert.c/ConvertImageCommand/3210.
ufraw-batch ist aber schon in der neuesten Version installiert, ich weiß jetzt nicht weiter.

Vielen Dank schonmal für die Hilfe.
Mit freundlichen Grüßen
Minnten
Zuletzt geändert von Minnten am 20.04.2017 16:04:25, insgesamt 1-mal geändert.

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: Probleme mit Screenshot

Beitrag von MSfree » 20.04.2017 13:35:24

Minnten hat geschrieben:egal was ich versuche, ich kann die Datei screen.raw nicht in ein Anzeigbares Format konvertieren.
Weißt du überhaupt, wie breit und hoch der Framebuffer ist und wie viele Farbkanäle er hat?

Ich habe es mal bei mir ausprobiert und bekommen mit

Code: Alles auswählen

convert -depth 8 -size 1280x1024+0 RGBA:screen.raw screen.jpg
ein brauchbar aussehendes Bild.

-depth 8 sollte auch bei dir gelten
-size 1280x1024+0 hängt von deiner Bildschirmauflösung ab, in meinem Fall halt 1280 Pixel breit, 1024 Pixel hoch und die Daten fangen direkt mit dem ersten Byte in der Datei screen.raw an
RGBA: wenn du 32Bit pro Pixel hast. Das kannst du relativ einfach ermitteln, indem du die Dateigröße von screen.raw durch (Breite mal Höhe) teilst.
RGB: wäre vermutlich die Alternative, wenn du nur 24Bit pro Pixel hast.

Minnten
Beiträge: 13
Registriert: 27.03.2017 15:46:14

Re: Probleme mit Screenshot

Beitrag von Minnten » 20.04.2017 14:10:03

Hallo,

erstmal danke für die schnelle Hilfe,

aber ein Problem habe ich noch, nach der Formel, die du mir gegeben hast ist es ein 16bit Bild, welche Abkürzung benötige ich dann da?

Gruß
Minnten

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: Probleme mit Screenshot

Beitrag von MSfree » 20.04.2017 14:37:29

Was gibt denn

Code: Alles auswählen

fbset -s -fb /dev/fb0
aus?

(ggfls. mußt du fbset mit apt-get install fbset noch installieren)

Minnten
Beiträge: 13
Registriert: 27.03.2017 15:46:14

Re: Probleme mit Screenshot

Beitrag von Minnten » 20.04.2017 14:41:57

Hallo,

Code: Alles auswählen

mode "1024x768-76"
    # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
    geometry 1024 768 1024 768 8
    timings 12714 128 32 16 4 128 4
    rgba 8/0,8/0,8/0,8/0
endmode
Ist die Ausgabe.

Und Konvertieren versuche ich mit :

Code: Alles auswählen

convert -depth 8 -size 1024x768-76 RGB:Bilder/screen.raw Bilder/screen.jpg
dann kommt diese Fehlermeldung:

Code: Alles auswählen

convert: unexpected end-of-file `Bilder/screen.raw': Datei oder Verzeichnis nicht gefunden @ error/rgb.c/ReadRGBImage/237.
Gruß
Minnten

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: Probleme mit Screenshot

Beitrag von MSfree » 20.04.2017 15:01:33

Minnten hat geschrieben:

Code: Alles auswählen

mode "1024x768-76"
    # D: 78.653 MHz, H: 59.949 kHz, V: 75.694 Hz
    geometry 1024 768 1024 768 8
    timings 12714 128 32 16 4 128 4
    rgba 8/0,8/0,8/0,8/0
endmode
Ist die Ausgabe.
Demnach sollte die Dateigröße deiner Rawdateie 786432 Bytes (1024 mal 768 mal 8 Bit) sein?
Und Konvertieren versuche ich mit :

Code: Alles auswählen

convert -depth 8 -size 1024x768-76 RGB:Bilder/screen.raw Bilder/screen.jpg
-size 1024x768-0 :wink:

Wenn du wirklich nur einen 8-Bit Framebuffer hast, sollte es vermutlich

Code: Alles auswählen

convert -depth 8 -size 1024x768-0 GRAY:Bilder/screen.raw Bilder/screen.jpg
lauten.

Minnten
Beiträge: 13
Registriert: 27.03.2017 15:46:14

Re: Probleme mit Screenshot

Beitrag von Minnten » 20.04.2017 15:22:06

Hallo,


die Dateigröße ist: 1.572.864 Bytes also 1572864*8=12.582.912 Bits.

Mit "Gray:" kommt ein brauchbares Bild raus, auch wenn die Vorlage eigentlich Farbig ist, nur kam mit RGB und RGBA nie ein Bild heraus, das man nutzen hätte können.

Gruß
Minnten

Benutzeravatar
MSfree
Beiträge: 11605
Registriert: 25.09.2007 19:59:30

Re: Probleme mit Screenshot

Beitrag von MSfree » 20.04.2017 15:52:54

Minnten hat geschrieben:die Dateigröße ist: 1.572.864 Bytes.
Das wundert mich ein wenig, weil fbset bei dir geometry 1024 768 1024 768 8 ausgibt. Die letzte Ziffer (8) sollte eigentlich Bits pro Pixel bedeuten.
Mit "Gray:" kommt ein brauchbares Bild raus, auch wenn die Vorlage eigentlich Farbig ist
Die Farbe ist hier sicher noch ein Problem. Bei 8 Bit pro Pixel wird Farbe üblicherweise über eine Lookup-Tabelle erzeugt, die Farbwerte sind also nur ein Index in die Farbtabelle. Wie du an die Farbtabelle kommst, weiß ich jetzt auch nicht.

Solltest du wirklich 16Bit pro Pixel haben, wie es deine Dateigröße andeutet, gibt es zwei übliche Möglichkeiten, wie RGB auf 16 Bit verteilt werden, entweder 5Bit Rot, 6Bit Grün, 5 Bit Blau; oder 1Bit unbenutzt und jeweils 5 Bit für R, G und B. Wie man das mit ImageMagick (also convert) hinbekommt, weiß ich gerade auch nicht. Die Dokumentation von ImageMagick ist extrem umfangreich und es ist nicht immer einfach, das zu finden, nach dem man gerade sucht.

Da stellt sich mir eher die Frage, ob es wirklich nötig ist, Screenshots über den Framebuffer zu machen. Es gibt für X11 ein Kommandozeilenprogramm, mit dem man Screenshots erstellen kann: https://en.wikipedia.org/wiki/Xwd

Minnten
Beiträge: 13
Registriert: 27.03.2017 15:46:14

Re: Probleme mit Screenshot

Beitrag von Minnten » 20.04.2017 16:04:06

Hallo,


mir reicht Grau vorerst auch, ich kann ja über Convert eine Farbe einbringen und den gesuchten Ausschnitt ausschneiden.


Das mit den Framebuffern ist notwendig, weil auf den Rechnern, wo der Screenshot gemacht werden muss nichts installiert werden kann, da bleibt nur diese Version übrig, alle anderen funktionieren nicht, hab schon einiges durch :D .
Das Linux, das da drauf ist hat 62MB und ist ein ElinOS 3..., also reichlich antiquiert(sind etwa 10 Jahre alt). In den alten Kisten ist noch ein CF-Karte mit 500MB als Festplatte verbaut :mrgreen: .

Vielen Dank nochmal!!!

Gruß
Minnten

Antworten