VNC/Framebuffer Server fuer die DBox
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
VNC/Framebuffer Server fuer die DBox
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:
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]
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:
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]
-
- Interessierter
- Beiträge: 23
- Registriert: Samstag 13. März 2004, 20:40
Hallo,
das wäre eine klasse Idee...
Wo soll ich unterschreiben
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
das wäre eine klasse Idee...
Wo soll ich unterschreiben
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
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
hi,
.. 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 ;-)
cu,
peter
.. 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 ;-)
..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...marvin1999 hat geschrieben:Ein VNC Server der Framebufferinhalte bereitstellt, aber ob sich da was portieren läßt weiß ich nicht.
cu,
peter
-
- Developer
- Beiträge: 867
- Registriert: Mittwoch 14. August 2002, 19:50
Portieren lässt sich das auf jeden Fall...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.
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
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
...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?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.
Mich wuerde interessieren ob dieser libvncserver die Daten noch komprimiert vor der Uebertragung? Macht irgendwie keinen Sinn tonnenweise Nullen/Daten gleichen Inhalts zu uebertragen...
-
- Developer
- Beiträge: 867
- Registriert: Mittwoch 14. August 2002, 19:50
? Kann dir nicht folgen...petgun hat geschrieben:...das gibt's imo doch schon...fuer den wake up vom LCD..ok
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*, 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?
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
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
..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.Zwen hat geschrieben: ? Kann dir nicht folgen...
..sind das wirklich so viele Programme...und es gibt kein Unterprogramm was alle nutzen?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*
-
- Developer
- Beiträge: 867
- Registriert: Mittwoch 14. August 2002, 19:50
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...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.
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)..sind das wirklich so viele Programme...und es gibt kein Unterprogramm was alle nutzen?
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
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
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.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...
-
- Senior Member
- Beiträge: 1339
- Registriert: Donnerstag 24. April 2003, 12:12
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.
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.
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
@yjogol
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?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
.
-
- Tuxboxer
- Beiträge: 5001
- Registriert: Montag 11. November 2002, 15:26
*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...
..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...