You are not logged in.

Dear visitor, welcome to Dreamboard. If this is your first visit here, please read the Help. It explains in detail how this page works. To use all features of this page, you should consider registering. Please use the registration form, to register here or read more information about the registration process. If you are already registered, please login here.

1

Thursday, October 19th 2006, 3:28am

AiO Screengrabber für PPC Boxen ... Video & Grafik Screenshots

Hi @All,

nachdem mich das screenshot erstellen auf den PPC Boxen schon lange gestört hat, haben wir hier mal ein wenig nachgeholfen.

In meinen Augen gab es bisher 2 Probleme dabei:

1.) Kein Screenshot ausserhalb Enigma
Wenn man über das Web-If einen OSD-Shot macht, hat man die Darstellung von Enigma ganz sauber, wenn man versucht eine andere Anwendung zu "fotografieren" wie z.B. den Videotext, den Tuxfrodo oder was auch immer, hat man verschobene Farben und nichts passt.
Das Problem hier ist der Grafiktreiber der Dream der im 8 Bit Modus die verwendeten Farben nicht wieder her geben kann, was ein bekanntes Problem ist. Deshalb funktionieren ja auch Tools wie fbshot nicht sauber. Dies haben wir nun umgangen indem wir direkt aus dem Haupt-RAM (/dev/mem) die Farbtabelle auslesen und nicht nur den Framebuffer abfragen, wie es jedes andere Screenshot-Tool tut.

2.) Entweder TV Screen oder Grafikscreen
Entweder macht man einen Screenshot des Fernsehbildes oder der Einblendung, sprich der Grafik. Beides auf einmal geht nicht. Auch das haben wir geändert.


Der AiO(AllInOne) Screenshooter erzeugt nun Screenshots von dem was ihr auf dem Fernseher seht, egal was ihr gerade macht. Egal ob der 16Bit Modus aktiv ist (PicViewer, Konqueror, etc.) oder der 8 Bit Modus (Enigma, Tuxtxt, Tuxfrodo usw.) ihr bekommt immer ein 24 Bit Bitmap mit korrekten Farben. Ausserdem habt ihr jedesmal auch das Fernsehbild dabei, sofern die Grafikanwendung diese nicht überdeckt. Wenn ihr mit dem AiO Screengrabber einen Screenshot macht und ihr habt gerade das Enigma Menü offen, dann seht ihr auf eurem Pic auch das Enigma Menü mit dem darunter liegenden Fernsehbild.

Das ganze ist eine einzelne Binary die irgendwo auf die Box kommt (bei 500-7000 würde sich /var/bin anbieten, bei der 7020 /usr/bin). Die Datei sollte ausführbare Rechte bekommen und schon könnt ihr per Telnet Screenshots erzeugen. Durch den aufruf von

Source code

1
grab


Wird einfach ein screenshot.bmp im /tmp Verzeichnis erzeugt. Alternativ könnt ihr auch:


Source code

1
grab /pfad/dateiname.bmp


verwenden. Somit könnt ihr den Screenshot z.B. direkt auf die Festplatte mit einem bestimmten Namen speichern.


Das Ganze sollte auf allen PPC Boxen funktionieren, da wir aber direkt auf den Hauptspeicher zugreifen und der Grafik Bereich darin immer erst erkannt werden muss und auf jeder Box anders liegt, wäre ich über Feedbacks dankbar, da ich es nicht auf allen Boxen getestet habe (nur 7020,7000). Sollte aber auch auf den "kleinen" Boxen (500,5620) keine Probleme machen.

Viel Spass damit

Seddi

//EDIT
Ok, ich hätte es auf der 500er doch testen sollen ;) Da gibts wohl noch Probleme ...
Seddi has attached the following file:

This post has been edited 1 times, last edit by "Seddi" (Oct 19th 2006, 10:59am)


2

Thursday, October 19th 2006, 1:23pm

hi,

sehr cool, vor allem wenn man an skins arbeitet und diese im gesamtbild zeigen möchte!
Box: DM-7020 HD
Image: DMM Original OE2.0

3

Thursday, October 19th 2006, 2:15pm

Quoted

Original von tomdulix
hi,

sehr cool, vor allem wenn man an skins arbeitet und diese im gesamtbild zeigen möchte!


Yep, dafür hab ichs gemacht damit man sich hierfür Windows-Tools mit Werbeeinblendungen in den Bildern sparen kann. a) arbeite ich zu 99% unter Linux und b) mag ichs nicht wenn Screenshots durch Werbezeilen verschandelt werden (sorry jungs, soll eure Leistung nicht schmälern, aber ich seh das nun mal so).

Ausserdem hat es den Vorteil das man endlich auch mal von anderen Anwendungen (Tuxtxt, Tuxwetter, Flexmenü, TuxFrodo, etc. ... ) mal ordentliche Screenies machen kann.

4

Sunday, October 22nd 2006, 1:18pm

OK, hier nochmal eine Version zum testen. Inzwischen wird das Videobild (wenn nötig) sauber und bikubisch auf die 720x576 des Framebuffers hochgerechnet. Das resizing benötigt zwar ein bisschen Zeit, dafür ist das Ergebnis aber sauber.

Die DM500/5620 wird (noch) nich unterstützt, da bin ich immer noch auf der Suche nach der korrekten Farbtabelle im Speicher, da FBIOGETCMAP auch bei den Boxen die falsche Tabelle zurückliefert. Auf der 7000/7020 funktioniert das jedoch problemlos.
Seddi has attached the following file:

5

Monday, October 23rd 2006, 1:37am

So, gleich nochmal ne Version hinterher.

Diese sollte nun auch auf der 500 und 5620 funktionieren, habs allerdings bisher nur auf der 500er getestet. Bei der 500/5620 (Vulcan Chip) ist es noch etwas schwieriger an die richtigen farben des Framebuffers zu kommen, da wundert mich es nicht das der Treiber die nicht hergibt wie er eigentlich sollte. Bei dem Vulcan Chip liegt die Farbpalette im 16 Bit YUV Format vor, sprich wir müssen hier erstmal die Farben wandeln. Aber auch das ist machbar und funktioniert. Dank an tmbinc für die richtigen Tips wo und wie ich die Farbe finden kann ;)

Weiterhin hab ich ein par Command-Switches mit reingebaut, ihr bekommt diese mit

grab -h

angezeigt. So kann man z.B. mit "grab -v" nur das Videobild speichern und mit "grab -o" nur das OSD (Framebuffer). Das kann zwar das WebIf auch, aber eben nicht mit den korrekten Farben, falls ein Plugin (wie Tuxtxt, C64, Flexmenü, etc.) läuft das eigene Farbpaletten definiert. Daher könnte das auch mal ganz nützlich sein.

Ausserdem wird nun auch das Videobild bei einer anamorphen 16:9 Übertragung korrigiert und eine Letterbox draus gemacht.
Seddi has attached the following file:

This post has been edited 1 times, last edit by "Seddi" (Oct 23rd 2006, 1:44am)


6

Friday, October 27th 2006, 2:42pm

thank you very much Seddi, it works perfectly