VNC/Framebuffer Server fuer die DBox

Wünsche, Anträge, Fehlermeldungen
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

VNC/Framebuffer Server fuer die DBox

Beitrag von petgun »

Hi,
alle kennen die Moeglichkeit zB. mit VLC ein laufendes TV-Programm der DBox auf dem PC zu verfolgen. Was imo fehlt um die Box komplett ueber Netz sinnvoll zB. mit Dbox2Remote zu steuern ist der Inhalt des Framebuffers. Ideal waere imo den Inhalt des Framebuffers in den Videoinhalt zu mixen...aber das geht wohl hardwaremaessig auf der Dbox nicht und ueber eine softwaremaessige Loesung braucht man imo nicht nachzudenken..ich kann mir jedenfalls nicht vorstellen wie man den Framebufferinhalt in den mpeg2-stream muxen koennte. Moeglich waere vielleicht ein periodischer/ereignisgetriggerter fbshot (*.png) der allerdings auch schon sehr viel CPU-Leistung auf der Dbox verbraet...aber die mit fbshot erzeugte *.png Datei des Framebufferinhalts laesst sich problemlos mit dem VLC-LiveVideo mischen (Transparenz und Position ist einstellbar) was dann richtig Sinn machen wuerde wenn VLC das 'Logo' auch periodisch einlesen koennte...so sieht das dann aus:

Bild

Leider scheint aber bei dieser imo idealen Loesung die Leistung der BoxCPU fuer eine akzeptable fbshot-Frequenz (ca 1Hz waere vielleicht noch akzeptabel) zu gering....oder aber fbshot ist nicht optimiert genug.

Es gibt allerdings eine grosse Anzahl speziell fuer diesen Zweck (Uebertragung des Frambuffers) optimierter Server X-Server/VNC-Server/???? die imo noch auf der DBox laufen koennten um speziell nur den Framebuffer zu uebertragen...da reicht angeblich sogar sowas wie ein C64 von der Rechenleistung ausdh. die Dbox sollte sowas locker noch nebenbei schaffen zumal das ja nicht sehr viele Daten sind.
Einen VNC-Client gibt's fuer jede Platform und in Verbindung mit DBox2Remote koennte man die Dbox2 komplett ueber Netz _optimal_ praktikabel 100% remote bedienbar machen. Ideal faende ich wenn der Win32 Teletext Client von LazyT noch zu einem FramebufferClient fuer die DBox aufgebohrt werden koennte...teilweise mit der Maus bedienbar sollte/koennte imo dann auch moeglich sein..

@all
was haltet ihr davon?

cu,
peter

--
"Dreams are extremely important. You can’t do it unless you imagine it."
[George Lucas]
marvin1999
Interessierter
Interessierter
Beiträge: 23
Registriert: Samstag 13. März 2004, 20:40

Beitrag von marvin1999 »

Hallo,

das wäre eine klasse Idee...
Wo soll ich unterschreiben :wink:

Es gibt da ein Projekt für dne Linux PDA:
http://sourceforge.net/projects/fbvncserver/

Ein VNC Server der Framebufferinhalte bereitstellt, aber ob sich da was portieren läßt weiß ich nicht.

Marvin
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

hi,
.. :oops: sorry, habe gerade eben erst gesehen das Du in der Richtung schon mal requestet hast...haette ich mich auch ranhaengen koennen! Vielleicht gibt das hier ja was....viel Hoffnung habe ich allerdings nicht...Dein Request ist fast ein Jahr her..aber vielleicht stimmt ja der Ausspruch...iss nich von Oscar Lafontaine sondern von Victor Hugo: "Nichts auf der Welt ist so mächtig wie eine Idee, deren Zeit gekommen ist." und nehmen mal an dass die Zeit gekommen ist :-) BTW danke fuer Deine 'Unterschrift'...wenigstens einer der sich dafuer interessiert ;-)
marvin1999 hat geschrieben:Ein VNC Server der Framebufferinhalte bereitstellt, aber ob sich da was portieren läßt weiß ich nicht.
..weiss ich auch nicht..ueberlassen wir das einfach den Entwicklern/Sourcecodeverstehern...die sich hier ja noch nicht geaeussert haben. Wichtig ist vielleicht nur das ein Standard uebernommen wird damit evtl. auch ein 0815 VNC Client genommen werden kann...den es ja fuer jede Platform gibt...

cu,
peter
Zwen
Developer
Beiträge: 867
Registriert: Mittwoch 14. August 2002, 19:50

Beitrag von Zwen »

marvin1999 hat geschrieben: Es gibt da ein Projekt für dne Linux PDA:
http://sourceforge.net/projects/fbvncserver/

Ein VNC Server der Framebufferinhalte bereitstellt, aber ob sich da was portieren läßt weiß ich nicht.
Portieren lässt sich das auf jeden Fall...
Den ganzen VNC Server Kram macht die libvncserver. Die trickreiche Aufgabe ist lediglich zu erkennen, wenn sich der Framebuffer ändert und den geänderten Bereich an die libvncserver zu melden.
Die IPAQ Implementation macht das durch periodische Vergleiche des kompletten Framebuffers mit einem vorher gespeicherten Framebuffer.
Ob das akzeptabel auf der Box funktioniert müsste man mal testen, ggf. müsste man sich halt eine bessere Methode einfallen lassen um Änderungen am Framebuffer zu erkennen, ggf. auch in Kernelspace...
Also, ich denke, alles machbar...

Bevor jemand fragt, nein ich habe leider keine Zeit dafür ;-)

Zwen
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Zwen hat geschrieben:...Die trickreiche Aufgabe ist lediglich zu erkennen, wenn sich der Framebuffer ändert und den geänderten Bereich an die libvncserver zu melden.
...das gibt's imo doch schon...fuer den wake up vom LCD..ok, vielleicht fehlt da noch was, aber so schwer kann das doch nicht sein, oder? Koennte man nicht auch jede Routine die in den Framebuffer schreibt zB. einen 'FB-Counter' inkrementieren lassen den der libvncserver dann abfragt?
Mich wuerde interessieren ob dieser libvncserver die Daten noch komprimiert vor der Uebertragung? Macht irgendwie keinen Sinn tonnenweise Nullen/Daten gleichen Inhalts zu uebertragen...
Zwen
Developer
Beiträge: 867
Registriert: Mittwoch 14. August 2002, 19:50

Beitrag von Zwen »

petgun hat geschrieben:...das gibt's imo doch schon...fuer den wake up vom LCD..ok
? Kann dir nicht folgen...
, vielleicht fehlt da noch was, aber so schwer kann das doch nicht sein, oder? Koennte man nicht auch jede Routine die in den Framebuffer schreibt zB. einen 'FB-Counter' inkrementieren lassen den der libvncserver dann abfragt?
Das Programm , das den Framebuffer modifiziert in die Verantwortung zu ziehen, ein Flag zu setzen, halte ich für den völlig falschen Ansatz, das klappt nie und es müsste jedes Programm angepasst werden (nur für den VNC-Server), *juck*
Hier werden keine Bibliotheksfunktionen oder System calls abgesetzt (in die man das einbauen könnte) um in den Framebuffer zu schreiben, da wird direkt in den Speicher kopiert/geschrieben.
Man müsste schonmal schauen, wie der treiber den Framebuffer dann tatsächlich zur Grafikkarte weiterschickt, ob der einfach periodisch alles schickt oder ob der irgendwie erkennt, wenn sich (und vor allem auch welcher Bereich) sich ändert....

Zwen
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Zwen hat geschrieben: ? Kann dir nicht folgen...
..imo koennte man die gleichen Kriterien verwenden die zur Anwendung kommen um das LCD wieder einzuschalten wenn man diese dimm/ausschalt Funktion verwendet. Dazu gehoert in erster Linie jeder Tastendruck auf der Fernbedienung/Befehl von Dbox2remote...das wuerde imo schon reichen.
Das Programm , das den Framebuffer modifiziert in die Verantwortung zu ziehen, ein Flag zu setzen, halte ich für den völlig falschen Ansatz, das klappt nie und es müsste jedes Programm angepasst werden (nur für den VNC-Server), *juck*
..sind das wirklich so viele Programme...und es gibt kein Unterprogramm was alle nutzen?
Zwen
Developer
Beiträge: 867
Registriert: Mittwoch 14. August 2002, 19:50

Beitrag von Zwen »

petgun hat geschrieben:..imo koennte man die gleichen Kriterien verwenden die zur Anwendung kommen um das LCD wieder einzuschalten wenn man diese dimm/ausschalt Funktion verwendet hat.
Hm, kenn ich nicht, egal... das LCD hat allerdings ein paar weniger pixel als der Framebuffer, ich glaube nichtt, das das weiterhilft, kann mir eh nicht vorstellen, das dort ein "Wunder"-Algorithmus dahintersteckt...
..sind das wirklich so viele Programme...und es gibt kein Unterprogramm was alle nutzen?
Alle Progs, die was zur Anzeige bringen, das sind im moment alle GUIs und alle Plugins, etc... (prinzipiell kann jeder direkt in den FB schreiben)
Ist aber auch egal wieviele es sind, die Erkennung hat im Client/Prog nichts verloren. Ein VNC-Server der darauf baut, dass die Programme, die den FB benutzen irgendwelche Flags setzten, ist für micht ein Witz.
Das muss der VNC-Server schon selber können, ggf mit Treiber unterstützung...
Wie gesagt, ich denke das ist schon irgendwie machbar, es muss sich halt mal jemand anschauen, was da in den Treibern so gemacht wird, das macht jetzt auch kein Sinn hier rumzudiskutieren, ohne die Hintergründe zu kenne...
Zwen
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Zwen hat geschrieben:Wie gesagt, ich denke das ist schon irgendwie machbar, es muss sich halt mal jemand anschauen, was da in den Treibern so gemacht wird, das macht jetzt auch kein Sinn hier rumzudiskutieren, ohne die Hintergründe zu kenne...
jau, viele Wege fuehren nach Rom....und hoffe mal (da Du ja keine Zeit hast), dass sich ein anderer Entwickler/Sourcecodeversteher der Sache annimmt/dafuer begeistert.
Npq
Senior Member
Beiträge: 1339
Registriert: Donnerstag 24. April 2003, 12:12

Beitrag von Npq »

Im Treiber passiert nicht mehr viel falls man per mmap den FB gemap't hat. Dann schreibt man nämlich direkt ins Demux-RAM.

Dummerweise wird das über einen 16 Bit breiten Bus geschrieben (der PPC ist ja eigentlich ein 32-Bitter) und müßte anschließend von da wieder gelesen werden.

Aber wer Zeit und Lust hat, kann's ja mal testen, der FB sollte Standard sein bis auf eine Kleinigkeit: Der Alpha-Kanal ist gegenüber den heutigen Kernel- und OpenGL-Gepflogenheiten invertiert, "alle Bits gesetzt" bedeutet also transparent und nicht wie üblich undurchsichtig.
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

@yjogol
CVS hat geschrieben: yjogol 06/01/28 17:46:05

Modified: misc/tools/fbshot fbshot.c
Log:
add option -q for png: Z_BEST_SPEED
Speeds up three times
.
Danke! Leider hat sich bei VLC mit meinem Featurerequest fuer ein automagisches periodisches einlesen eines beliebigen *.png-Logos nichts mehr getan...wie schnell ist denn fbshot jetzt?
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

*noch mal nach oben schieb*
..gibt es wirklich keinen kleinen VNC-Server (als Plugin?) nur fuer die Framebuffer-Daten der auf der Dbox laufen koennte?
Vielleicht kann man sich da http://forum.tuxbox-cvs.sourceforge.net ... hp?t=40677 etwas abschauen...Willen, Koennen und Phantasie vorausgesetzt...