camoFS - für IP-, Netzwerkkameras und Webcams

    Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

    • shadowrider schrieb:

      @jim
      danke für deine Infos
      schade das du die Vorgaben aus der db nicht testen magst, so muss ich einerseits hoffen das es passt und du andererseits vermutlich viel zuviel eingeben
      Klar werde ich das testen. :) Ich hatte gestern schon mal die Dahua IPC-HDW5231R-Z testweise als weitere Kamera eingetragen, damit ich dann damit auch mal "rumspielen" kann.

      Wie gesagt: Wenn ich noch etwas Spezielles testen soll sag mir einfach was genau ich testen soll. Alles kein Problem.

      Inzwischen habe ich die Dahua auch schon außen montiert. :D Ich muss mich jetzt aber erst einmal um die Einrichtung der Kamera selber kümmern, da die Möglichkeiten dabei doch sehr umfangreich sind. Anschliessend kommt dann camoFS dran ...

      VG Jim
      Aktuell im Einsatz: Solo 2 und Solo 4K
    • So hier dann schon mal meine bisher gesammelten und getesteten Befehle:

      Up Start
      /cgi-bin/ptz.cgi?action=start&channel=0&code=Up&arg1=0&arg2=3&arg3=0
      Up Stop
      /cgi-bin/ptz.cgi?action=stop&channel=0&code=Up&arg1=0&arg2=3&arg3=0
      Down Start
      /cgi-bin/ptz.cgi?action=start&channel=0&code=Down&arg1=0&arg2=3&arg3=0
      Down Stop
      /cgi-bin/ptz.cgi?action=stop&channel=0&code=Down&arg1=0&arg2=3&arg3=0
      Left Start
      /cgi-bin/ptz.cgi?action=start&channel=0&code=Left&arg1=0&arg2=3&arg3=0
      Left Stop
      /cgi-bin/ptz.cgi?action=stop&channel=0&code=Left&arg1=0&arg2=3&arg3=0
      Right Start
      /cgi-bin/ptz.cgi?action=start&channel=0&code=Right&arg1=0&arg2=3&arg3=0
      Right Stop
      /cgi-bin/ptz.cgi?action=stop&channel=0&code=Right&arg1=0&arg2=3&arg3=0


      Für die Tasten 1- 9 der FB wäre dann z.B. möglich:

      Zoom In
      /cgi-bin/ptz.cgi?action=start&channel=0&code=ZoomTele&arg1=0&arg2=10&arg3=0
      Zoom Out
      /cgi-bin/ptz.cgi?action=start&channel=0&code=ZoomWide&arg1=0&arg2=10&arg3=0

      GotoPreset (testweise 3 Presets in der Kamera eingerichtet - arg 2 = Preset Nr.)
      /cgi-bin/ptz.cgi?action=start&channel=0&code=GotoPreset&arg1=0&arg2=1&arg3=0
      /cgi-bin/ptz.cgi?action=start&channel=0&code=GotoPreset&arg1=0&arg2=2&arg3=0
      /cgi-bin/ptz.cgi?action=start&channel=0&code=GotoPreset&arg1=0&arg2=3&arg3=0

      Wie geagt: Bisher nur über WebGUI gestestet. Noch nicht über camoFS.

      VG Jim
      Aktuell im Einsatz: Solo 2 und Solo 4K
    • jim schrieb:

      Wie geagt: Bisher nur über WebGUI gestestet. Noch nicht über camoFS.
      Jetzt habe ich die Befehle mal bei camoFS getestet. Leider bisher ohne Erfolg. :( Er haut mir immer den Error 401 um die Ohren, sprich die Authentifizierung funktioniert nicht.
      Hier mal das Log. Relevant sind natürlich nur die Dahau-Einträge. User und password geändert

      Quellcode

      1. 26.01.18 20:55:19 [camoFS] startcheck, deactivated: http, 192.168.1.14, 88, user, password, /cgi-bin/CGIProxy.fcgi?cmd=snapPicture2, Foscam9828P, cam1, 0,0,640,480, 2000, rtsp://user:auth_pwd@192.168.1.14:88/videoMain, , &usr=user&pwd=auth_pwd, 2, 1, , , , 2000, 88, 1, 1,
      2. 26.01.18 20:55:19 [camoFS] startcheck, online: http, 192.168.1.88, 80, user, password, /cgi-bin/snapshot.cgi?Channel=0, Dahua, cam2, 0,0,640,480, 2000, rtsp://user:auth_pwd@192.168.1.88:554/cam/realmonitor?channel=1&subtype=0, , , 2, 1, , , , 2000, 554, 1, 2,
      3. 26.01.18 20:55:19 [camoFS] startcheck, deactivated: http, 192.168.1.15, 88, user, password, /cgi-bin/CGIProxy.fcgi?cmd=snapPicture2, Foscam9805W, cam3, 0,0,640,480, 2000, rtsp://user:auth_pwd@192.168.1.15:88/videoMain, , &usr=user&pwd=auth_pwd, 1, 1, , , , 2000, 88, 1, 1,
      4. 26.01.18 20:56:36 Button (Dahua), command-typ: 1
      5. http://user:password@192.168.1.88:80/cgi-bin/ptz.cgi?action=start&channel=0&code=Up&arg1=0&arg2=3&arg3=0
      6. stop-Button: http://user:password@192.168.1.88:80/cgi-bin/ptz.cgi?action=stop&channel=0&code=Up&arg1=0&arg2=3&arg3=0
      7. 26.01.18 20:56:36 Button-Error:
      8. command-typ: 1
      9. http://user:password@192.168.1.88:80/cgi-bin/ptz.cgi?action=start&channel=0&code=Up&arg1=0&arg2=3&arg3=0
      10. ['http', '192.168.1.88', '80', 'user', '7453A9E9316......69E72551A5ABC', '/cgi-bin/snapshot.cgi?Channel=0', 'Dahua', 'cam2', '0,0,640,480', 2000, 'rtsp://user:auth_pwd@192.168.1.88:554/cam/realmonitor?channel=1&subtype=0', '', '', '2', '1', '', '', '', 2000, '554', '1', 0, {'btn_right_stop': '/cgi-bin/ptz.cgi?action=stop&channel=0&code=Right&arg1=0&arg2=3&arg3=0', 'btn_0_stop': '', 'btn_down_stop': '/cgi-bin/ptz.cgi?action=stop&channel=0&code=Down&arg1=0&arg2=3&arg3=0', 'btn_stop_for_all': '', 'btn_up': '/cgi-bin/ptz.cgi?action=start&channel=0&code=Up&arg1=0&arg2=3&arg3=0', 'btn_0_pause': '0', 'param': 'http://user:auth_pwd@192.168.1.88:80', 'btn_0': '', 'btn_1': '', 'btn_2': '', 'btn_3': '', 'btn_4': '', 'btn_5': '', 'btn_6': '', 'btn_7': '', 'btn_8': '', 'btn_9': '', 'btn_left_stop': '/cgi-bin/ptz.cgi?action=stop&channel=0&code=Left&arg1=0&arg2=3&arg3=0', 'btn_left': '/cgi-bin/ptz.cgi?action=start&channel=0&code=Left&arg1=0&arg2=3&arg3=0', 'switch_on_command': '', 'btn_right': '/cgi-bin/ptz.cgi?action=start&channel=0&code=Right&arg1=0&arg2=3&arg3=0', 'btn_down': '/cgi-bin/ptz.cgi?action=start&channel=0&code=Down&arg1=0&arg2=3&arg3=0', 'btn_up_stop': '/cgi-bin/ptz.cgi?action=stop&channel=0&code=Up&arg1=0&arg2=3&arg3=0', 'url': '', 'switch_off_command': '', 'stop_sep': 1}, 0, 'Ja', 'digest']
      11. Error-Text: ('http error', 401, 'Unauthorized', <httplib.HTTPMessage instance at 0x8b63dd50>)
      Alles anzeigen
      Wenn ich den Befehl

      Quellcode

      1. http://username:password@<ip>/cgi-bin/ptz.cgi?action=start&channel=0&code=Up&arg1=0&arg2=3&arg3=0
      im Browser eingebe funktioniert er.

      Hier noch die entsprechenden Einträge aus der .dat

      Quellcode

      1. [settings]
      2. ext_menu = False
      3. ext_menu2 = False
      4. start_menu = 1
      5. update_meld = False
      6. osd_alpha_off = True
      7. auto_del = 0
      8. auto_del2 = 0
      9. alarm_size = 400,300
      10. size_korr = 0
      11. safeart = 0
      12. show_offline = True
      13. motion_detect = no
      14. auto_on = False
      15. auto_off = False
      16. dauer_cam = None
      17. safepath = /tmp/camoFS/
      18. video_dir = /tmp/camoFS/
      19. alert_save_path =
      20. toggletime = 15
      21. automini = 0
      22. automini_vid = False
      23. autotoggle = False
      24. debug2 = 4
      25. vkb = True
      26. debugpath = /tmp/
      27. live_tv = False
      28. color1 = black
      29. fritzcall_cam = None
      30. fritzcall_nr =
      31. fc_anzeigedauer = 60
      32. al_pic_time = 200
      33. alarmshowfc = bildlo
      34. al_display = 3
      35. al_display2 = 1
      36. alert_on = False
      37. kid2 = PTPU-XXOV-USCE
      38. mb_bez = False
      39. mb_max = 4
      40. picalert = False
      41. st = 1516990764
      42. [cam2]
      43. active = Ja
      44. exp = 2
      45. auth = digest
      46. cam_name = Dahua
      47. cam_schema = http
      48. cam_ip = 192.168.1.88
      49. cam_port = 80
      50. cam_username = user
      51. cam_password2 = XXXX
      52. cam_praefix =
      53. cam_jpg_path = /cgi-bin/snapshot.cgi?Channel=0
      54. cam_video_path = rtsp://auth_name:auth_pwd@ip:v_port/cam/realmonitor?channel=1&subtype=0
      55. video_check = 1
      56. cam_sector = 0,0,640,480
      57. cam_interval = 2000
      58. cam_interval2 = 2000
      59. command_type = 1
      60. btn_left = /cgi-bin/ptz.cgi?action=start&channel=0&code=Left&arg1=0&arg2=3&arg3=0
      61. btn_left_stop = /cgi-bin/ptz.cgi?action=stop&channel=0&code=Left&arg1=0&arg2=3&arg3=0
      62. btn_right = /cgi-bin/ptz.cgi?action=start&channel=0&code=Right&arg1=0&arg2=3&arg3=0
      63. btn_right_stop = /cgi-bin/ptz.cgi?action=stop&channel=0&code=Right&arg1=0&arg2=3&arg3=0
      64. btn_up = /cgi-bin/ptz.cgi?action=start&channel=0&code=Up&arg1=0&arg2=3&arg3=0
      65. btn_up_stop = /cgi-bin/ptz.cgi?action=stop&channel=0&code=Up&arg1=0&arg2=3&arg3=0
      66. btn_down = /cgi-bin/ptz.cgi?action=start&channel=0&code=Down&arg1=0&arg2=3&arg3=0
      67. btn_down_stop = /cgi-bin/ptz.cgi?action=stop&channel=0&code=Down&arg1=0&arg2=3&arg3=0
      68. v_port = 554
      Alles anzeigen
      Dazu noch ein paar Anmerkungen:

      1. Der command_type lies sich ober die Menüoberfläche nicht von 2 auf 1 ändern - warum auch immer. Anm.: Ja ich habe immer mit Grün gespeichert. :) Ich habe ihn dann letztendlich zu Fuß in der .dat auf 1 gestellt, da - soviel wie ich bisher gelesen habe - die Variante

      Quellcode

      1. http://username:password@<ip>
      die richtige sein müsste.

      2. auth von digest auf basic zu ändern brachte leider auch nichts. Die Dahua sollte lt. Doku eh beides können:
      Authentication
      The Dahua video product supplies two authentication ways: basic authentication and digest authentication. If the http request does not
      have “Authorization” , the Dahua video product returns 401, utill the http request has a legal authentication .
      For example:
      1. When basic authentication, the Dahua video product response:
      401 Unauthorized
      WWW-Authenticate: Basic realm=”XXXXXX”
      Then the client encode the username and password with base64, send the following request:
      Authorization: Basic VXZVXZ.
      2. When digest authentication, the Dahua video product response:
      WWW-Authenticate: Digest realm="DH_00408CA5EA04", nonce="000562fdY631973ef04f77a3ede7c1832ff48720ef95ad",
      stale=FALSE, qop="auth";
      The client calculates the digest using username, password, nonce, realm and URI with MD5, then send the following request:
      Authorization: Digest username="admin", realm="DH_00408CA5EA04", nc=00000001,cnonce="0a4f113b",qop="auth"
      nonce="000562fdY631973ef04f77a3ede7c1832ff48720ef95ad",uri="cgi-bin/global.login?userName=admin",
      response="65002de02df697e946b750590b44f8bf"

      3. Irgendwo hatte ich noch etwas davon gelesen das ein User sich beim Browser immer erst einmal bei der Kamera einloggen musste und erst beim zweiten Mal funktionierten die URLs mit den API-Befehlen. Aber ich weiß nicht mehr in welchem Zusammenhang das war und ob das überhaupt relevant ist.

      4. Mal ganz laienhaft gefragt: Kann es vielleich etwas damit zu tun habe das mir ja der rtsp-Stream der Kamera angezeigt wird? Sprich die btn-Steuerbefehle funktionieren auch damit?

      So für heute wars das dann erstmal. Falls Du eine Idee haben solltest schaue ich mir das dann morgen an.

      VG Jim
      Aktuell im Einsatz: Solo 2 und Solo 4K

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von jim ()

    • Der command_type lies sich ober die Menüoberfläche nicht von 2 auf 1 ändern - warum auch immer.
      nicht nachvollziehbar

      zudem: da du in der dat das passwort ändern musstest, ist wohl keine Eingabe über die GUI erfolgt - wie ich schon schrieb, sowas dann bitte ohne mich ;_)
      ============================================================================================
    • shadowrider schrieb:

      zudem: da du in der dat das passwort ändern musstest, ist wohl keine Eingabe über die GUI erfolgt
      Das Name und Passwort ändern bezog sich hier in dem Posting auf den Quellcode. :) Die Eingaben erfolgten über die camoFS GUI. In der .dat habe ich nichts verändert, mal abgesehen von den command Wert, nachdem dieser sich nicht über die camoFS Oberfläche ändern lies und ich gehofft hatte das das vielleicht das Problem ist.

      VG Jim
      Aktuell im Einsatz: Solo 2 und Solo 4K
    • Die Eingaben erfolgten über die camoFS GUI
      dann wäre das Passwort der kamera in der dat voll verschlüsselt und hätte nicht ge XXXt werden müssen ?(

      Quellcode

      1. active = Ja
      2. exp = 2
      3. auth = digest
      4. cam_name = Dahua
      5. cam_schema = http
      6. cam_ip = 192.168.1.88
      7. cam_port = 80
      8. cam_username = user
      9. cam_password2 = XXXX
      10. cam_praefix =


      nachdem dieser sich nicht über die camoFS Oberfläche ändern lies
      wie geschrieben, habe es mehrfach hin und her geändert, absolut problemlos - evtl mal schreiben was du meinst, nicht gespeichert oder Fehlermeldung oder was?

      zudem: die Testfunktionen in der GUI, auch bei command, hab ich nicht zum Zeitvertreib eingebaut sondern als Hilfsmöglichkeit bei Problemen, deshalb werden dort auch entsprechende Meldungen ausgegeben/Ausgaben ins log geschrieben
      ============================================================================================
    • shadowrider schrieb:

      Da die Dahua SD49225T-HN bei mir neu hinzugekommen und (noch) nicht in der Liste von unterstützen Kameras enthalten
      entspricht der Dahua IPC-HDW5231R-Z, ich trage die aber gern mit dazunein, alle Dahua-Kameras gleich in die Datenbank ist schon deshalb nicht möglich, weil nicht alle rtsp-Stream zur Verfügung stellen soweit mir bekannt ist
      Rtsp können alle Dahua Kameras, die mir bekannt sind. Ich bin ein Dahua Partner und Errichter. Wenn Du Dahua als Profil hinzufügen kannst wäre das schon nicht schlecht. Ich muß mich aber noch mit em Plugin beschäftigt. Im ipcamtalk bin ich auch aktiv.
      Gruß und danke für das Plugin!
      bis dato gut 10 Jahre lang VDR User (4 VDR´s auf MLD 5.1)
    • die DAHUA ist momentan in drei Versionen in der Datenbank vorhanden
      leider habe ich nur spärliche Infos dazu, insbesondere was denn nun an welchen Kameras funktioniert
      (habe selbst keine, sonst würde ich es im Zweifel austesten)
      (zB, unterschiedliche Befehle für unterschiedliche Kameras/Firmware nötig?

      wäre natürlich ideal, Infos aus erster Quelle zu bekommen, gerne auch ausführlich per PN
      ============================================================================================
    • Unter sonstige habe ich die Cam hdw5231 gefunden. Leider hat das Plugin ein Problem mit meinem Passwort Sonderzeichen @, vermute ich zumindest, der JPEG Test schlägt fehl und und der Stream in Rot wandelt das @ in%4 um.
      bis dato gut 10 Jahre lang VDR User (4 VDR´s auf MLD 5.1)
    • Unter sonstige habe ich die Cam hdw5231
      ??, siehe Bild

      der JPEG Test schlägt fehl
      da gibt es ja Meldungen / debug-log dafür, dort ist mehr detailliert zu erkennen
      ich schau mir das aber mal an

      Nachtrag:
      wie soll eine URL von den Interpretern gehändelt werden mit einem zusätzlichen '@' ?
      was in einer URL vorkommen darf, ist ja per se festgelegt, und wenn ein Passwort in der URL mitgesendet werden soll muss es sich doch auch daran halten?

      Nachtrag 2:
      habe soeben an einer Axis das passwort test@ probiert
      es funktioniert absolut zuverlässig,

      Nachtrag 3:
      geht aber nicht überall, mhm
      muss ich mal schauen, inwieweit es allgemein überhaupt per webzugriff damit geht
      ============================================================================================

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von shadowrider ()

    • shadowrider schrieb:

      dann wäre das Passwort der kamera in der dat voll verschlüsselt und hätte nicht ge XXXt werden müssen ?(
      Ich hatte einfach hier im Posting alle Identifizierungsdaten geändert.

      shadowrider schrieb:

      wie geschrieben, habe es mehrfach hin und her geändert, absolut problemlos - evtl mal schreiben was du meinst, nicht gespeichert oder Fehlermeldung oder was?
      Es wird nichts gespeichert und es gibt auch keine Fehlermeldung. Wenn ich z.B. bei der Foscam 9828 den command typ ändere funktioniert das, sprich es wird gespeichert.

      BTW: Das debug-Log kann ich nicht löschen, was aber jetzt nicht wirklich "dramatisch" ist, denn das kann ich ja auch manuell löschen. :) Egal ob ich das auf Log 1, Log 2 oder Log 4 stehen habe. Es wird immer weiter munter in das bestehende Log camoFSdebug.txt unter /temp (Voreinstellung) geschrieben.

      shadowrider schrieb:

      zudem: die Testfunktionen in der GUI, auch bei command, hab ich nicht zum Zeitvertreib eingebaut sondern als Hilfsmöglichkeit bei Problemen, deshalb werden dort auch entsprechende Meldungen ausgegeben/Ausgaben ins log geschrieben
      Warum immer gleich so .... :D Die Testfunktion bei command habe ich natürlich auch getestet. Es wird weder eine Meldung ausgegeben, noch etwas ins Log geschrieben. Das gilt auch wenn ich die Testfunktion bei command bei der Foscam 9828 probiere, sprich auch da passiert nichts.

      Ich habe zwischenzeitlich auch mal den RTSP Authorize Mode in der Kamera von Digist auf Basic gestellt und ebenfalls dann bei camoFS von gigist auf basic gewechselt. Leider brachte das auch nichts.

      jpg und video Wiedergaben funktionieren einwandfrei, nur die Steuerbefehle für die Tasten, deren URLs am PC problemlos funktionieren, hauen mir weiterhin den 401 um die Ohren. Irgendwo gibt es da mMn ein Problem mit der Username und Password Übergabe, aber im Moment gehen mir die Ideen aus ...

      Ich werde dann die Dahua mal kompl. löschen und dann kompl. von vorne beginnen. Im Moment weiß ich schon nicht mehr was ich alles wo probiert und/oder geändert habe. Mit ein wenig Abstand und einem Neubeginn, klappt es ja vielleicht. :)

      Mit ist schon klar das es für Dich per Ferndiagnose fast unmöglich ist immer (alle) Fehler bei X Usern und Y Kameras nachzuvollziehen, erst Recht nicht wenn Du nicht weißt was ein User schon alles so gemacht hat. Andererseits kann ich z.B. als User auch nicht immer an alles denken was ich vielleicht schon getestet habe. Klar hätte ich bereits erwähnen können das ich die Testfunktion bei command schon gestestet habe und dabei nichts passiert ist. Aber so wirklich geholfen hätte das bei Problemlösung nicht wirklich. ;) Du hättest dann wohl geschrieben das es bei Dir funktioniert und hättest vielleicht (noch) mehr an mir "gezweifelt". :D

      Ne mal im Ernst: Ich versuche auch nur die Kamera vollständig und fehlerfrei zu konfigurieren. Ich kann dann nur das schreiben was tatsächlich passiert - z.B. command typ lässt sich nicht ändern - und das ich bei der Konfiguration keinen Fehler gemacht habe. Manchmal gibt es dann eben Dinge die man einfach nicht nachvollziehen kann, auch wenn man das gerne möchte.

      VG Jim
      Aktuell im Einsatz: Solo 2 und Solo 4K
    • Klar hätte ich bereits erwähnen können das ich die Testfunktion bei command schon gestestet habe und dabei nichts passiert ist
      ne, eigentlich nicht - genau aus diesem Grund bettle ich regelrecht nach dem log
      da stünde dann sowas:
      27.01.18 15:00:41 [camoFS command-Test]

      wenn mir allerdings statt des logs zu dem jeweiligen Test eine unklare Meldung gegeben wird, bin ich in der tat absolut machtlos

      zu den logs:
      es gibt keinerlei Funktion, das log zu löschen, wüsste auch nicht wozu das gut sein sollte
      die verschiedenen Optionen sind in klarem Deutsch beschrieben, was ins log geschrieben wird - das funktioniert zumindest hier problemlos



      noch etwas ins Log geschrieben
      genau das glaube ich nicht, denn es ist absolut unlogisch das nichts geschrieben wird
      (ich teste hier parallel mit, und natürlich erst recht mit nicht funktionierenden Befehlen - da kommt dann zB
      27.01.18 15:00:44 [camoFS command-Test] [Errno socket error] [Errno 113] No route to host
      ============================================================================================
    • shadowrider schrieb:

      ne, eigentlich nicht - genau aus diesem Grund bettle ich regelrecht nach dem logda stünde dann sowas:
      27.01.18 15:00:41 [camoFS command-Test]

      wenn mir allerdings statt des logs zu dem jeweiligen Test eine unklare Meldung gegeben wird, bin ich in der tat absolut machtlos
      Ich habe Dir gerade ein unverändertes Log per PN gesendet.

      Ablauf: Altes Log aus temp gelöscht. Box neu gestartet. camoFS gestartet. Dahua Einstellungen aufgerufen. comman test aufgerufen. Außerdem habe ich einmal eine Taste für die Steuerung gedrückt, sodass der Fehler im Log ersichtlich ist.

      Ich sehe in dem Log leider nichts zum command-Test.

      shadowrider schrieb:

      es gibt keinerlei Funktion, das log zu löschen, wüsste auch nicht wozu das gut sein sollte
      Vielleicht reden wir hier auch aneinander vorbei? Ich meinte das hier: Delete debug-file
      Delete debug-file.jpg
      Aktuell im Einsatz: Solo 2 und Solo 4K

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von jim ()

    • Sorry das war mein Fehler. Hatte es vorhin wieder auf 2 gestellt. Neues Log mit Level 3 hast Du gerade per PN bekommen.

      Ablauf wie oben: Log auf Level 3 gestellt. Box neu gestartet. camoFS gestartet. Dahua Einstellungen aufgerufen. comman test aufgerufen. Außerdem habe ich wieder einmal eine Taste für die Steuerung gedrückt, sodass der Fehler im Log ersichtlich ist.

      Steht wohl leider wieder nichts drin zu command-Test?
      Aktuell im Einsatz: Solo 2 und Solo 4K

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von jim ()