Neues Feature: Jpeg-Decodierung auf fremden Server

Das Original Benutzerinterface Neutrino-SD incl. zapit, sectionsd, yWeb etc...
Ryker
Image-Team
Beiträge: 554
Registriert: Montag 2. Juni 2003, 10:38

Beitrag von Ryker »

Ihr habt Post.
D-Box2 (Nokia; Kabel; 2xINTEL; AVIA500) - aktuelles JtG-Image
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Dafür erstmal danke.
Hmm - bei mir läuft die exe - aber statt eines Bildes kommt nur ein kleiner roter Punkt, versucht mit ein paar .jpgs 600x800 - 24bit, 96dpi.
Firewall war dazu extra abgeschaltet.
Hmm - merkwürdig.
cu
Jens
Ryker
Image-Team
Beiträge: 554
Registriert: Montag 2. Juni 2003, 10:38

Beitrag von Ryker »

Ich kenne mich mit dem picserver leider überhaupt nicht aus. Aber wenn ich die nächsten Tage mal Zeit habe, probier ich es auch mal aus.

Ryker
D-Box2 (Nokia; Kabel; 2xINTEL; AVIA500) - aktuelles JtG-Image
Torsten73
Erleuchteter
Erleuchteter
Beiträge: 547
Registriert: Mittwoch 30. Juni 2004, 16:06

Beitrag von Torsten73 »

Ryker hat geschrieben:
Torsten73 hat geschrieben:...
Cygwin habe ich auch mal installiert, dachte es wäre ein Emulator für Linux unter Windows. ...
Wo legtst Du die exe denn ab?
Cygwin muß man nicht erst installieren. Die cygwin1.dll und cygjpeg-62.dll liegen mit dabei, das sollte reichen.

Damit meinte ich die Linux Version die es im CVS zum runterladen gab. Das habe ich nicht unter Windows hinbekommen. Aber ich freue mich schon aufs testen.

Cu
Torsten
mogway
Semiprofi
Semiprofi
Beiträge: 1287
Registriert: Montag 30. Dezember 2002, 08:02

Beitrag von mogway »

Ryker hat geschrieben:Wenn das Teil funktioniert, kommt es mit auf yadi.org, wenn mogway nichts dagegen hat.
Hat nichts dagegen. Mail es mir einfach zu. ;)

Gruß
mogway
Gruss
mogway
fernsehass
Einsteiger
Einsteiger
Beiträge: 297
Registriert: Sonntag 13. Oktober 2002, 22:02

Beitrag von fernsehass »

jep kann ich bestätigen

aufruf des picsevers mit

picserver 9999

dann Bildbetrachter
und im log kommt das

PV[1109170359|25] fh_jpeg_load_via_server (12.JPG/661/529) {
Server 192.168.123.1 [9999]

Die eingabeaufforderung ist dann abgestürzt.

PS unter linux hatte ich den server schon mal am laufen. nur leider immer nur 1 Bild dann neustart.
Usage: picserver [-d] [-r "<replace>,<to>"] <port>

-d : enable debug log (stderr)
-r : replace token <replace> with <to> at beginning of path of requested picture

-s : use simple resize algorithm (instead of more complex one)

e.g.: picserver -d -r "/mnt,/data" 12345
fernsehass
Einsteiger
Einsteiger
Beiträge: 297
Registriert: Sonntag 13. Oktober 2002, 22:02

Beitrag von fernsehass »

ich hab jetz mal den debug mode angeschmissen :)
das steht jetz nach dem aufruf

20050223 16:07:55.57 Connect from 192.168.123.15:1063
20050223 16:07:55.57 Pic: /mnt/bilder/ustich/100.JPG
20050223 16:07:55.57 Pic (trans): /mnt/bilder/Lustich/100.JPG
20050223 16:07:55.76 Wanted size: width 480 height: 299
20050223 16:07:55.76 Start decoding /mnt/bilder/Lustich/100.JPG

das wars dann :(

PS die zahl hinter der IP der Box 192.168.123.15 -> andert sich bei jeden neustarten des servers. Ist das nicht der Port ???
dann kann das ja nicht funzen :(
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Hatte das Ding eben mal mit Firewall laufen, da wollte er 2 Portfreigaben, eine zur Box, die mit 9999 nix zu tun hatte, eine zu localhost. Hab ihn jetzt mal mit den Einstellungen für Picserver und ohne laufenden Server laufen lassen, dann kommt nach ewiger Wartezeit ein Bild.
cu
Jens
fernsehass
Einsteiger
Einsteiger
Beiträge: 297
Registriert: Sonntag 13. Oktober 2002, 22:02

Beitrag von fernsehass »

neuer versuch in linux mit dem picserver1.3 von yadi.org

fernsehass@linux:~/Documents> ./picserver13 -d 9999
20050223 16:42:56.89 Connect from 192.168.123.15:1050
20050223 16:42:56.89 Pic: /mnt/bilder/Lustich/15.JPG
20050223 16:42:56.89 Pic (trans): /mnt/bilder/Lustich/15.JPG
20050223 16:42:56.89 Wanted size: width 371 height: 248
20050223 16:42:56.90 Start decoding /mnt/bilder/Lustich/15.JPG
20050223 16:42:56.90 Error opening file: /mnt/bilder/Lustich/15.JPG
20050223 16:42:56.90 End decoding /mnt/bilder/Lustich/15.JPG
20050223 16:42:56.90 Image width: 0 , height: 0
20050223 16:42:56.90 Start resizing
20050223 16:42:56.90 color_average_resize {
Gleitkomma-Ausnahme
fernsehass@linux:~/Documents>

die optionen sind die selben
Usage: picserver13 [-d] [-r "<replace>,<to>"] <port>
-d : enable debug log (stderr)
-r : replace token <replace> with <to> at beginning of path of requested picture
-s : use simple resize algorithm (instead of more complex one)
e.g.: picserver13 -d -r "/mnt,/data" 12345

Nur was kommt zwischen die " " ?
Ryker
Image-Team
Beiträge: 554
Registriert: Montag 2. Juni 2003, 10:38

Beitrag von Ryker »

Ich habe gerade auch mal den picserver unter Windows getestet, die Anfragen kommen am PC an er rechnet auch um, aber einen Geschwindiglkeitsvorteil habe ich nicht feststellen können, eher das Gegenteil. Unter Linux genau das gleiche.

Kann es sein, daß das Netzwerk ausgelastet ist, wenn das Bild 3 mal über die Leitung geschickt wird? (PC->NFS->DBOX->PicserverProtokoll->PC->PC dekodiert->PicserverProtokoll->DBOX). Denn direkt schein der picserver ja nicht zuzugreifen, wie man anhand des Logs sieht.

Code: Alles auswählen

20050223 17:57:39.70 Connect from 139.25.69.241:1032
20050223 17:57:39.70 Pic: /mnt/bilder/UrlaubLigurien2004/100KM004/PICT0021.JPG
20050223 17:57:39.70 Pic (trans): /mnt/bilder/UrlaubLigurien2004/100KM004/PICT0021.JPG
Ryker
D-Box2 (Nokia; Kabel; 2xINTEL; AVIA500) - aktuelles JtG-Image
Torsten73
Erleuchteter
Erleuchteter
Beiträge: 547
Registriert: Mittwoch 30. Juni 2004, 16:06

Beitrag von Torsten73 »

Ryker hat geschrieben:Ich habe gerade auch mal den picserver unter Windows getestet, die Anfragen kommen am PC an er rechnet auch um, aber einen Geschwindiglkeitsvorteil habe ich nicht feststellen können, eher das Gegenteil. Unter Linux genau das gleiche.

Kann es sein, daß das Netzwerk ausgelastet ist, wenn das Bild 3 mal über die Leitung geschickt wird? (PC->NFS->DBOX->PicserverProtokoll->PC->PC dekodiert->PicserverProtokoll->DBOX). Denn direkt schein der picserver ja nicht zuzugreifen, wie man anhand des Logs sieht.

Code: Alles auswählen

20050223 17:57:39.70 Connect from 139.25.69.241:1032
20050223 17:57:39.70 Pic: /mnt/bilder/UrlaubLigurien2004/100KM004/PICT0021.JPG
20050223 17:57:39.70 Pic (trans): /mnt/bilder/UrlaubLigurien2004/100KM004/PICT0021.JPG
Ryker
Ich denke das sollten wir mal Zwen fragen. Er hat das doch bestimmt unter Linux am Laufen. Lt. der Beschreibung soll das Bild dann in 3-4 sec. da sein (statt 7s)

Der Picserver liegt aber auf dem selben Rechner wie die Bilder? Das war namlich vorgabe. Dann ist es nämlich nicht nötig die Daten über die Box zu schicken, sondern die Box braucht nur eine Anfrage an den Picserver geben, der lädt das Bild, decodiert es und schickt nur das fertige Ergebniss an die Box. So denke ich ist das je nach Rechengeschwindigkeit des Picservers sehr schnell möglich.

Ich gehe schon davon aus das das funktioniert. Nur wie machen wir es richtig ...

Cu
Torsten
fernsehass
Einsteiger
Einsteiger
Beiträge: 297
Registriert: Sonntag 13. Oktober 2002, 22:02

Beitrag von fernsehass »

also ich hab bei mir den mountpunkt als ciffs auf den nas110 und das bild ist immer so nach 2-3sec da.
Ryker
Image-Team
Beiträge: 554
Registriert: Montag 2. Juni 2003, 10:38

Beitrag von Ryker »

Torsten73 hat geschrieben:...
Der Picserver liegt aber auf dem selben Rechner wie die Bilder? Das war namlich vorgabe. Dann ist es nämlich nicht nötig die Daten über die Box zu schicken, sondern die Box braucht nur eine Anfrage an den Picserver geben, der lädt das Bild, decodiert es und schickt nur das fertige Ergebniss an die Box....
Aber woher weiß der picserver, wo in welchen Verzeichnis auf dem PC die Bilder liegen ???

@fernsehass: Wie startest du den picserver, weil man kann ja da auch noch irgendwelche Verzeichnisse definieren. Da ist mir aber nicht klar wofür.

Ryker
D-Box2 (Nokia; Kabel; 2xINTEL; AVIA500) - aktuelles JtG-Image
mogway
Semiprofi
Semiprofi
Beiträge: 1287
Registriert: Montag 30. Dezember 2002, 08:02

Beitrag von mogway »

Ryker hat geschrieben:Aber woher weiß der picserver, wo in welchen Verzeichnis auf dem PC die Bilder liegen ???

Code: Alles auswählen

  Notes: 
  - Neutrino does not send the data of the compressed picture (e.g. jpeg) to
    the server, since this would take too much time (slow network) and would
    eat up almost all speed increase. There for only 
    the path of the pic is sent. This means the picture
    needs to be accesible by the server somehow. The fastest
    solution is to run the picserver prog on the machine
    that hosts the pictures. 
    Since pathnames are not identical on client (mounted filesys)
    and server (local filesys). The server needs to do some mapping.
    (e.g. convert /mnt/photos/pic1.jpg -> /data/photos/pic1.jpg)
  - The server sends the pic to neutrino in 16 bit resultion (RGB555)
    This decreases the amount of data that need to be transferred to the 
    box via network by 33% and results in a overall speed increase.
    The neutrino picviewer on the dbox2 does not display the pic with
    more colors anyway...
  - Picviewer works with jpeg only at the moment...
  - If the picserver is not reachable or the picture cannot be decoded by the
    server for whatever reason, the picture is decoded locally.
  
  Limitations (at the moment)
  - Only one picserver can be defined
  - If picserver is enabled, all JPEG are tried to be decoded via this 
    server. 
  
  Configuration
  ==============
  - Enter ip and port of decode server in neutrino picviwer settings.
  - Start picserver programm on server (use same port)
    e.g. picserver -d -r "/mnt/photos,/data/src/pix" 9999
Gruß
mogway
Ryker
Image-Team
Beiträge: 554
Registriert: Montag 2. Juni 2003, 10:38

Beitrag von Ryker »

Danke mogway.
Ich hab die Doc auch gerade gefunden - ich sag nur RTFM .

Man muß natürlich die Verzeichnisse mappen.
z.b. picserver.exe -r "/mnt/bilder,E:\Dateiablage\Bilder" 9999

Damit funktionierts auch unter Windows genauso super, wie unter Linux. JPGs von einer 4MPixel-Camera werden damit in 2 Sekunden auf der dbox angezeigt.

Wenn ich demnächst mal Zeit habe, baue ich noch ein kleines Windows Setup-Script, welches den Picserver als Dienst ins Windows reinhängt. (cygrunsrv od. srvany ... mal schauen)



Ryker
D-Box2 (Nokia; Kabel; 2xINTEL; AVIA500) - aktuelles JtG-Image
mogway
Semiprofi
Semiprofi
Beiträge: 1287
Registriert: Montag 30. Dezember 2002, 08:02

Beitrag von mogway »

Ich habe ihn auf yadi.org hochgeladen. ;)

http://yadi.org/index.php#yadi_tools

Gruß
mogway
Gruss
mogway
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Jo, kaum macht man es richtig, schon funktioniert es :)
Das Teil ist Klasse. Vielen Dank an alle Beteiligten.
cu
Jens
DrStoned
Tuxboxer
Tuxboxer
Beiträge: 2614
Registriert: Montag 20. Mai 2002, 10:49
Image: JTG-Image [IDE] Version 2.4.4
Image: (7025SS) Merlin

Beitrag von DrStoned »

Von mir ebenfalls vielen Dank für die Windows-Version des Picservers. :) :D :lol: :P 8)

Greetz von DrStoned :lol: :lol: :lol:
Greetz von DrStoned :lol: :lol: :lol:
Ryker
Image-Team
Beiträge: 554
Registriert: Montag 2. Juni 2003, 10:38

Beitrag von Ryker »

Man müsste sich nur mal Gedanken machen, wie man die folgenden Zeilen in der picserver.c so verändern kann, daß diese auch direkt ausm CVS ohne Veränderung der Sourcen mit Cygwin kompilierbar sind. Cygwin kann irgendwie kein basename() . In dem aktuellen Cygwin-picserver ist deswegen ein " usage("picserver.exe"); " drin.

Code: Alles auswählen

if(optind > argnr-1)
{
	usage((char*)basename(argv[0]));
	exit(1);
}
int port = atoi(argv[optind]);
if(port <= 0)
{
	usage((char*)basename(argv[0]));
	exit(1);
}

Ryker
D-Box2 (Nokia; Kabel; 2xINTEL; AVIA500) - aktuelles JtG-Image
Torsten73
Erleuchteter
Erleuchteter
Beiträge: 547
Registriert: Mittwoch 30. Juni 2004, 16:06

Beitrag von Torsten73 »

Hi,
von mir auch vielen Dank. Mit der Pfadangabe hatte ich so meine Startschwierigkeiten, und mußte gestern abend abbrechen.

Interessanterweise scheint es so zu sein, dass wenn der Picserver nicht erreicht wird dann doch die Box das JPG dekodiert. Es kam auf jedenfalls das Foto, obwohl der Picserver aus war.

Wenn Ryker das Teil noch als Konfigurierbaren Dienst starten läßt wäre doch schon optimal, fehlen dann nur noch ein paar Zusatzfunktionen wie Zoomen, drehen, und was man sich sonst so noch vorstellen kann 8)

Cu
Torsten
Ryker
Image-Team
Beiträge: 554
Registriert: Montag 2. Juni 2003, 10:38

Beitrag von Ryker »

Torsten73 hat geschrieben:...
Wenn Ryker das Teil noch als Konfigurierbaren Dienst starten läßt wäre doch schon optimal,...

So, ging einfacher als ich dachte. Ich hab jetzt ein Installer fertig, der auch den Dienst erzeugt....und auch über Systemsteuerung->Software->entfernen diesen auch wieder entfernt. Meine ersten Tests waren erfolgreich.


Ryker
D-Box2 (Nokia; Kabel; 2xINTEL; AVIA500) - aktuelles JtG-Image
jmittelst
Tuxboxer
Tuxboxer
Beiträge: 6044
Registriert: Montag 17. November 2003, 06:48

Beitrag von jmittelst »

Hmm - veröffentlichen wäre nett ;)
- Gibt es auch ein kleines Icon im Systray, was anzeigt, das er läuft? ;)
cu
Jens
mogway
Semiprofi
Semiprofi
Beiträge: 1287
Registriert: Montag 30. Dezember 2002, 08:02

Beitrag von mogway »

@Ryker: Einfach zuschicken. ;)

Gruß
mogway
Gruss
mogway
Ryker
Image-Team
Beiträge: 554
Registriert: Montag 2. Juni 2003, 10:38

Beitrag von Ryker »

jmittelst hat geschrieben:Hmm - veröffentlichen wäre nett
...
Ja, ich war nur kurz Mittagessen.
Ich habs mogway zugeschickt, er wird das Teil bald auf yadi.org legen.

Ryker
D-Box2 (Nokia; Kabel; 2xINTEL; AVIA500) - aktuelles JtG-Image
mogway
Semiprofi
Semiprofi
Beiträge: 1287
Registriert: Montag 30. Dezember 2002, 08:02

Beitrag von mogway »

Gruss
mogway