dbox2 als UPNP Client

Wünsche, Anträge, Fehlermeldungen
prodigy7
Erleuchteter
Erleuchteter
Beiträge: 595
Registriert: Donnerstag 1. Januar 2004, 16:59

Beitrag von prodigy7 »

Evtl. könnte man ja auch eine Helper-Applikation programmieren, die man auf irgend nem PC in der Ecke oder auf einer NAS laufen lassen könnte. Eine Art "Remote-UPNP-Filesystem-Helper" ? Dann dürfte die Box genug entlastet werden, oder?

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

Beitrag von petgun »

@prodigy7
...Du hast schon mal einen _eigenstaendigen_ UPnP-Client (Buffalo Linktheater/Noxon/Netgear/usw.) gesehen/bedient und weisst wie das funktioniert? Das gesamte GUI kommt vom Server (oft mit Datenbank) und der 'dumme' Client mit _Browser_ braucht 'nur' noch abzuspielen was Du per GUI mit der FB auswaehlst.
Zuletzt geändert von petgun am Montag 23. Januar 2006, 13:53, insgesamt 1-mal geändert.
prodigy7
Erleuchteter
Erleuchteter
Beiträge: 595
Registriert: Donnerstag 1. Januar 2004, 16:59

Beitrag von prodigy7 »

Naja, ich glaube nicht, das jemand eine neue GUI für die DBox entwickeln wird damit 100%ig die UPnP-Funktionalität angeboten werden kann. Da wäre es einfacher, auf vorhandene Hardware, die sowas leistet, zurückzugreifen oder?
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

..mit dem Tuxwetter-Plugin haben wir zB. den Browser der benoetigt wird...viel mehr ist das imo nicht fuer's GUI.
prodigy7
Erleuchteter
Erleuchteter
Beiträge: 595
Registriert: Donnerstag 1. Januar 2004, 16:59

Beitrag von prodigy7 »

Ich glaube, irgendwie herschen hier teilweise unterschiedliche Vorstellungen bzgl. der "UPnP-Anforderung" an die Box.
Ich bin mit der Box, so wie die ist, absolut zufrieden. Aus meiner Sicht wäre es ein nettes Feature, wenn man nicht mehr via NFS/CIFS irgendwelche Freigaben definieren und mounten muss sondern einfach in den Filebrowser geht und auf vorhandenen Rechnern im Netzwerk in MP3s oder Bildern zugreift. Da das ganze allem anschein nach aber aufgrund der Hardware aber mit Videos an grenzen stößt, kann ich auch mit leben, wenn es für alles ausser Videos geht.
Ich glaube, das wir alle, bis auf dir Petgun, das gleiche meinen/wollen.
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

prodigy7 hat geschrieben: Ich glaube, das wir alle, bis auf dir Petgun, das gleiche meinen/wollen.
..und ich glaube das es fast alle (ausser Dir?) verstanden haben um was es hier/mir geht.
Aus meiner Sicht wäre es ein nettes Feature, wenn man nicht mehr via NFS/CIFS irgendwelche Freigaben definieren und mounten muss sondern einfach in den Filebrowser geht und auf vorhandenen Rechnern im Netzwerk in MP3s oder Bildern zugreift
man, das ist doch nur ein kleiner Teilaspekt fuer den man sicher keinen UPnP-Standard braucht und was da freigegeben wird musst Du auch vorher festlegen. Der Zugriff geschieht dann ueber http...nimm den streamer und sei gluecklich mit dem vorhandenen Movieplayer/browser-VLC-Gefrickel.
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

petgun hat geschrieben: Das gesamte GUI kommt vom Server (oft mit Datenbank) und der 'dumme' Client mit _Browser_ braucht 'nur' noch abzuspielen was Du per GUI mit der FB auswaehlst.
Der Inhalt, also welche Dateien vorhanden sind usw., kommt vom Server, aber die/das GUI musst du natürlich auf der box selber implementieren. Mit einem ControlPoint kannst Du einen AV-Renderer mit einem AV-Server verbinden, die sich dann miteinander unterhalten. Das Prinzip ist hier beschrieben: http://www.upnp.org/standardizeddcps/do ... re0.83.pdf

Und GUI würde ich jetzt nicht nur auf neutrino/enigma beschränken, denn auch Paint hat eine grafische Benutzungsoberfläche. Ein Kommandozeilen-Paint wäre aber sicher auch interessant.

Die gestrippte Cyberlink C-lib hat so um die 150k. Ich wollte zuerst testweise ein plugin basteln, aber habe dann Probleme mit den autotools und den libs bekommen und dann keine Lust mehr gehabt :). Um den Zugang zu den Audioklassen zu bekommen ist es aber sowieso besser, das in neutrino reinzubauen. netfile kann einen Stream prinzipiell von der vom Server erhaltenen URL abspielen, das habe ich ja vor einiger Zeit schonmal gefixt.

ciao,

ChakaZulu
prodigy7
Erleuchteter
Erleuchteter
Beiträge: 595
Registriert: Donnerstag 1. Januar 2004, 16:59

Beitrag von prodigy7 »

petgun hat geschrieben: ..und ich glaube das es fast alle (ausser Dir?) verstanden haben um was es hier/mir geht.
Was du möchtest, habe ich verstanden... durch die große Anzahl an Posts, in den du unübersehbar immer wieder jemand suchst, der deine UPnP-Vision wahr macht, ist es leicht zu verstehen.
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Hi,
danke das Du hier noch mal erklaerend eingreifst!
ChakaZulu hat geschrieben:Der Inhalt, also welche Dateien vorhanden sind usw., kommt vom Server, aber die/das GUI musst du natürlich auf der box selber implementieren.
..hmm..ich hatte ja mal ein Buffalo Linktheater und natuerlich den entsprechenden UPnP-Server auf meinem PC laufen. Mit http://mein_PC_mit_UpnP-Server:SpeziellerPort hatte ich auf einem Browser (IE/Mozilla) das gleiche GUI wie auf dem Linktheater.
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

prodigy7 hat geschrieben:durch die große Anzahl an Posts, in den du unübersehbar immer wieder jemand suchst, der deine UPnP-Vision wahr macht, ist es leicht zu verstehen.
:roll: langsam geht's mir auf den Zeiger: Das sind schon laenger keine Visionen mehr, es gibt inzwischen einige UPnP-Clients die sich genauso wie in meinen angeblichen 'Visionen' verhalten...und ich bin sicher dass man das der DBox auch angewoehnen kann.
Versuche mich bitte nicht staendig in die undankbare Ecke zu druecken...ich weiss die bisherige Arbeit der Entwickler an der Tuxbox sehr wohl zu wuerdigen...habe aber manchmal Angst vor der weiteren Zukunft der Dbox. Da muss einfach noch was passieren und ich bin sicher, dass eine volle Umsetzung des UPnP-Standards genau die Verjuengungskur ist, die die DBox braucht. Diese Meinung brauchst Du/Niemand hier zu teilen...iss mir eigentlich ziemlich wurscht....aber nicht dass Du mir staendig Undankbarkeit gegenueber der bisherigen Arbeit der Entwickler unterstellst.

--
Die Vergangenheit muß ich zu Kenntnis nehmen. Mit der Gegenwart muß ich leben; für die Zukunft aber muß ich Visionen haben.
[© Wolfgang Kownatka]
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

also bei mir lüppts jetzt:

Files bleiben wie letztens verlinkt. Folgende startbatch hab ich gemacht.
Ob man die multicast option(en) im kernel aktivieren muss weiss ich noch nicht.

Code: Alles auswählen

#!/bin/sh

trap '' HUP INT

mkdir /tmp/fuse
# load fuse kernel driver
#modprobe fuse
insmod fuse

# make fuse device node
mknod /dev/fuse -m 0666 c 10 229

# needed for debug output, otherwise won't start
ln -s /dev/pts/0 /dev/stdout

# libupnp searches routes for multicast "enabled" interfaces so place a route
ip route add 224.0.0.0/4 dev eth0

# start 
djmount /tmp/fuse &
#djmount -ddebug /tmp/fuse &
achso, dem /bin/fusermount hab ich noch die 755 Rechte gegeben
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

hi,
danke fuer die Arbeit! Wie teste ich das denn nun wenn ich es schaffe das in ein jffs2-Image/Yadd einzubauen? UPnP-Server mit mp3/pic/movie 'Freigaben' starten..und dann? Welchen Port soll ich nehmen? Das announcement wird nicht gehen noch kann ich mir vorstellen wie der Movieplayer/Audioplayer/Pic-Viewer auf evtl. angebotenen Dateien zugreifen kann??
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Da ich keinen Plan habe wie die autotools funktionieren hier der manuelle Weg für die Selberkompilierer:
- djmount-0.51.tar.gz runterladen und ins Archive Verzeichnis kopieren
- fuse-2.5.1.tar.gz runterladen und ins Archive Verzeichnis kopieren
- fuse.diff von http://home.arcor.de/houdini/dbox/djmount/fuse.diff ins cdk/Patches Verzeichnis kopieren.

ins cdk/Makefile folgende Sachen einfügen:

Code: Alles auswählen

$(DEPDIR)/fuse: bootstrap 
	( rm -rf fuse-2.5.1 || /bin/true ) && gunzip -cd Archive/fuse-2.5.1.tar.gz | TAPE=- tar -x && ( cd fuse-2.5.1; patch -p1 < ../Patches/fuse.diff )
	cd fuse-2.5.1 && \
		$(BUILDENV) \
		CFLAGS="$(TARGET_CFLAGS) -I$(buildprefix)/linux/arch/ppc" \
		./configure \
			--build=$(build) \
			--host=$(target) \
			--with-kernel=$(buildprefix)/$(KERNEL_DIR) \
			--prefix= && \
		$(MAKE) all && \
		$(MAKE) install DESTDIR=$(targetprefix)
	rm -rf fuse-2.5.1
	touch $@

$(DEPDIR)/djmount: bootstrap 
	( rm -rf djmount-0.51 || /bin/true ) && gunzip -cd Archive/djmount-0.51.tar.gz | TAPE=- tar -x
	cd djmount-0.51 && \
		$(BUILDENV) \
		./configure \
			--build=$(build) \
			--host=$(target) \
			--prefix= && \
		$(MAKE) all && \
		$(MAKE) install DESTDIR=$(targetprefix)
	rm -rf djmount-0.51
	touch $@
make .deps/fuse und make .deps/djmount kompilieren die Sachen.
Dann das shellskript von oben starten und das sollte es sein.
noch kann ich mir vorstellen wie der Movieplayer/Audioplayer/Pic-Viewer auf evtl. angebotenen Dateien zugreifen kann??
Das ist ja der Trick mit dem fuse Filesystem, die Dateien der Mediaservers werden als gemountetes Filesystem dargestellt, also Audioplayer starten und /tmp/fuse/$(Hängt vom Mediaserver ab) einlesen und abspielen

Houdini
ChakaZulu
Developer
Beiträge: 457
Registriert: Sonntag 23. März 2003, 00:39

Beitrag von ChakaZulu »

petgun hat geschrieben: Das announcement wird nicht gehen noch kann ich mir vorstellen wie der Movieplayer/Audioplayer/Pic-Viewer auf evtl. angebotenen Dateien zugreifen kann??
Sinn der Sache ist doch, dass der Zugriff transparent gehandhabt wird, dass also djmount dafür sorgt, dass die Daten vom Server geholt werden. Der Player selbst sieht nur die Dateien, die sich scheinbar im lokalen Dateisystem befinden. Also einfach öffnen und tut denke ich mal :)

*edit*
hmpf, zu spät :D
*edit*

ciao,

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

Beitrag von petgun »

..ok, danke fuer eure Erklaerungen! Demnach ist es also erst mal 'nur' ein weiteres Filesystem und als Protokoll wird http verwendet, oder? Zu erwartende Performance wird also imo aehnlich/gleich wie bei VLC/streamer sein...ich werde es die Tage mal versuchen in ein DietmarW-jffs2 Image einzubauen und zu testen. Als UPnP-Server nehme ich 'Windows Media Connect'...sollte imo gehen.

Danke,
peter
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Demnach ist es also erst mal 'nur' ein weiteres Filesystem wie ich es vermutet habe und als Protokoll wird http verwendet, oder?
zweimal ja, aber da das FS nur auf der DBox existiert, ist es den Mediaservern egal und dazwischen läuft halt upnp.
Vorteil das es ein FS ist dass die $Media-Player der Box nicht abgeändert werden müssen.
Ob sie das aus Performancegründen sollten wird sich noch zeigen
PT-1
Moderator english
Beiträge: 2458
Registriert: Donnerstag 20. Dezember 2001, 00:00

Beitrag von PT-1 »

Hi,

waere es dann moeglich das jemand der das schon in ein Image eingebaut hat dieses per http://www.yousendit.com der Allgemeinheit zur Verfuegung stellt ?

Danke&Ciao

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

Beitrag von petgun »

hi,
..hat Houdini ja weiter oben erklaert wie/wo man das einbaut und das sollte bei einem jffs2-Image (zB. von DietmarW) oder einer Yadd eigentlich einfach sein...hoffe ich. Vor dem naechsten Wochenende schaffe ich das aber sicher nicht...bis dahin interessieren sicher nicht nur mich, Testergebnisse/Erfahrungen von early Betatestern. Wer ist der Erste?
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Keinen Ahnung ob alle benutzten libc symbols in den flash libcs drin sind

Edit: sieht so aus als ob doch was fehlt , also gehts erstmal nur in einer yadd oder selbstgemachten image
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

Houdini hat geschrieben:
Keinen Ahnung ob alle benutzten libc symbols in den flash libcs drin sind

Edit: sieht so aus als ob doch was fehlt , also gehts erstmal nur in einer yadd oder selbstgemachten image
hatte ich gelesen....bei einem 'selbstgebauten' Image muss ich passen! Was sind denn die 'flash libcs'? Sind die in den Yadds von DietmarW enthalten/nicht noetig?
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Was sind denn die 'flash libcs'
die libc ist die c library wo diverse Funktionen drin sind, die überall gebraucht werden (e.g. strcpy, ioctl, sprintf, malloc, ...)
Welche genau steht hier: http://www.gnu.org/software/libc/manual ... /libc.html
Diese libc ist sehr groß, deswegen werden für die images nur die Funktionen übernommen, die in den Prozessen und anderen libs benutzt werden (busybox, neutrino, sectionsd, ...) der Rest wird "rausgestrippt".
Durch die neuen Prozesse werden jetzt bisher nicht benutzte Funktionen benötigt, die aber in der libc nicht vorhanden ist.
Wenn man das image selbermacht, werden die neuen Tools mit berücksichtigt und die Funktionen kommen in die libc.
petgun
Tuxboxer
Tuxboxer
Beiträge: 5001
Registriert: Montag 11. November 2002, 15:26

Beitrag von petgun »

..vielen Dank fuer die genaue Erklaerung! In einer Yadd (der von DietmarW) ist also die ungestrippte, komplette lib enthalten?
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

genau
Zaphot
Einsteiger
Einsteiger
Beiträge: 311
Registriert: Freitag 26. Juli 2002, 22:25

Beitrag von Zaphot »

Houdini:
Wie groß wäre denn djmount wenn du statisch linkst?
Houdini
Developer
Beiträge: 2183
Registriert: Mittwoch 10. Dezember 2003, 07:59

Beitrag von Houdini »

Unter http://home.arcor.de/houdini/dbox/djmou ... static.tgz sind jetzt die statisch gelinkten Programme, aber richtig großgeworden :-(
djmount kann im tmp liegen, fusermount muss irgendwo im Pfad sein (/bin) bzw link von /bin/fusermount auf /tmp/fusermount-static
dann gehts auch im image
zu beachten ist dass djmount auf /dev/stdout zugreifen will, dass kann man nach /dev/pts/0 linken (zumindestens wenn man per telnet auf der Büchse ist)
Viel Spass

wenn nix passiert, mit

Code: Alles auswählen

djmount /mnt/$irgendwas -ddebug
wirds gesprächig

Edit: ach ja die Grössen:
fusermount.static: ca. 500kB
djmount-static: ca. 770kB