Friday, January 14, 2011

iBong PHP Client

Hier steht der aktuelle PHP Client für die Bong.TV Downloadautomation zum Download bereit. Die Installation ist natürlich nur dann sinnvoll, wenn BongParser und Loader schon laufen.




Folgendes ist bei der Installation zu beachten.

  • Im Verzeichnis liegt der Ordner iBong, mit allen für die Applikation wichtigen Dateien.
  • Synology legt bei der Aktivierung von MySQL und PHP ein Verzeichnis 'web' an. Es empfiehlt sich also das iBong Verzeichnis in das web-Verzeichnis zu kopieren. Jeder andere Speicherort führt zu größerem Installationsaufwand. (PHP für andere Verzeichnisse freischalten....)
  • Die Konfiguration (MySQL-Benutzer ect.) wird in der Datei Settings.php erledigt.
  • Die WebApp ist (mittels iWebKit) eigentlich für das iPhone geschrieben, läuft aber auch auf einem WebKit-basierenden Browser bestens (also Safari oder Chrome). Firefox und IE funktionieren grundsätzlich schon, haben aber Probleme bei der Darstellung.
  • Um mit iBong die Video-Dateien verschieben zu können, muss PHP entsprechend konfiguriert werden, um auf die entsprechenden Verzeichniss zugreifen zu können.

12 comments:

  1. Schon mal vielen Dank dafür. Werde es bei Gelegenheit mal ausprobieren !

    ReplyDelete
  2. ich werde das Programm probieren, hatte net 3-5 nicht geladen, und denke das ich jetzt keine Probleme mehr haben dürfte.

    ReplyDelete
  3. Hallo, ich bins nochmal :-)

    Ich hab jetzt den Parser und den Loader am laufen und versuche jetzt iBong zu verstehen.
    Der Aufruf über Safari auf meinem iPhone klappt. Die erste seite zeigt das Archiv an. Hier ist aber noch nichts drin. Wann werden denn die Aufnahmen aus der Tabelle content in das Archive verschoben?

    Zweite Frage: Was kann ich tun, damit der Aufruf der iBong-Seite mit einem Passwort geschützt ist? Ich möchte nicht, dass jeder der meine dyndns-Adresse kennt da zufällig drauf kommt.

    Vielen Dank für die Hilfe.

    ReplyDelete
  4. Mit dem Archiv, hat das ganze noch nichts zu tun. Wichtig ist folgendes. Du musst mit phpMyAdmin die Datenbank 'bong.tv' öffnen. Die Datenbank besteht aus 2-3 Tabellen (je nach SQL-Script). Eine Tabelle nennt sich 'categories'. Mit 'Einfügen' musst Du wenigesten einen Eintrag für die 'Neue Aufnahmen' Kategorie anlegen. Die RefNr bleibt leer. Parent -> 0. Name1 -> Neue Aufnahmen. Name2 -> New Recordings. Path -> (z.B. bei mir ) /volume1/Video/bong/ (das ist der Downloadpfad, der auch in den Parser-Settings steht). AutoDelete -1. DisplayOrder -> 0.
    Ok drücken. Danach solltest Du einen Eintrag in der Tabelle haben. Wichtig ist, dass die RefNr 1 beträgt. Jetzt solltest Du die Kategorie in der Iphone Oberfläche sehen können. Du kannst jetzt soviele Kategorien anlegen, wie Du willst. Das Problem ist jetzt noch PHP dazu zu kriegen Files kopieren. das aber nachdem das obige geklappt hat.....

    ReplyDelete
  5. Ok. Hab ich kapiert.
    Wenn ich jetzt iBong übers iPhone aufrufe erscheint die Kategorie und darin sehe ich jetzt die neuen Sendungen.
    Verschiedene Kategorien brauch ich eigentlich garnicht.

    Ich möchte den BongLoader eigentlich nur zum automatischen Download nutzen und iBong dazu verwenden um zu sehen wie weit der Download ist.
    Nach dem Download schneide ich die Werbung raus und verschieb die geschnittene Sendung dann in einen anderen Ordner.
    Wie ist das eigentlich wenn die heruntergeladene Datei weg ist? Die Sendung ist ja nach dem Download immer noch in der Datenbank drin. Wird die Sendung da irgendwann automatisch gelöscht, oder muss ich die da dann manuell irgendwann löschen?

    Nochmal danke für deine Hilfe. Hab schon fast alles so wie ich will, dann muss ich dich nicht mehr lange nerven :-)

    ReplyDelete
  6. Gelöscht wird bei über die iBong Oberfläche (Edit). Was passiert, wenn dabei das File fehlt, hab ich noch nicht ausprobiert, aber das kannst Du ja mal probieren. Schlimmstenfalls muss ich einen kleinen Fix einbauen.
    Grundsätzlich verschieb ich immer alles in die einzelen Kategorien - das macht die iBong Applikation. Wenn ich's nicht lösche wird's archiviert (auf eine Wechselfestplatte). Der Datenbankeintrag bleibt dann aber, nur der Status ändert sich. Falls ich's wieder brauche, gibts die Dearchivierung.....

    ReplyDelete
  7. Passwortschutz:

    Erzeuge für das Verzeichnis eine Textdatei .htaccess mit folgendem Inhalt (5 Zeilen):

    # .htaccess-Datei für Web-Verzeichnis
    AuthType Basic
    AuthName "iBong"
    AuthUserFile /etc/.htusers
    Require user DaBastian

    Das legst Du in das Verzeichnis iBong in der sich die php-Dateien befinden.

    Dann musst Du eine Datei .htusers in /etc anlegen.

    mit folgendem Inhalt (2 Zeilen)

    # BenutzerDatei für iBong
    DaBastian:ChddAlWlvRSDk

    Das Passwort musst Du natürlich ändern. Es wird aber verschluesselt eingegeben. Für die Verschlüsselung gehst Du auf folgende Webseite:

    http://de.selfhtml.org/servercgi/server/htaccess.htm

    Da steht das ganze auch nochmal genauer. Etwa in der Mitte kommt der Dialog zum Hashen deines Passwort. Dies trägst Du dann nach dem Doppelpunkt ein.

    ReplyDelete
  8. Wow! Super erklärt. Hat auf Anhieb geklappt.

    Das letzte was mich noch interessieren würde ist, wie ich es noch schaffe, dass beim Löschen einer Aufnahme aus iBong nicht nur der Datenbankeintrag gelöscht wird, sondern auch die Datei auf der Platte.
    Ich hab mir mal das PHP-Skript durchgeschaut und gesehen dass das Löschen mit unlink eigentlich enhalten wäre.
    Liegt das an den Dateirechten? Hab schon versucht die Rechte der Datei auf 777 zu setzen. Wurde aber trotzdem nicht gelöscht. Weisst du hier auch weiter?

    Wenn das noch geht, dann lass ich dich echt in Ruhe :-)

    P.S. ich klick auch fleissig auf die Werbung. Hab dafür extra eine AdBlock-Ausnahme für dein Blog eingerichtet :-)

    ReplyDelete
  9. Hi,

    ich kann Dir jetzt leider nur kurz antworten, da ich gleich in den Urlaub fahre:

    Es hat mit PHP zu tun, welches den Zugriff auf das Verzeichnis nicht erlaubt. Das Verzeichnis mus explizit freigegeben werden.

    Lies Dir bitte diesen link: http://www.synology-wiki.de/index.php/Nicht_unterst%C3%BCtzte_Konfigurations%C3%A4nderungen#php.ini_bearbeiten

    durch: Stichwort open_basedir - Leider genügt die Änderung in php.ini nicht, aber wieso wird beschrieben. Ich hoffe es wird Dir klar.

    Mal sehen ob ich in Italien ins Internet komme.

    ReplyDelete
  10. Hi,

    wie immer war deine Antwort genau richtig. Hab den Pfad in der user-setting.ini (ich hab die DS211j) eingetragen, Apache neu gestartet und es klappt!
    Die bei Bong sollten sich mal überlegen dich einzustellen, dann würde das System bei denen besser laufen :-)

    Jetzt ist alles so wie ich es will. Vielen herzlichen Dank nochmal.

    Ich wünsch Dir einen schönen Urlaub, viel Erholung und schönes Wetter in Italien.

    VG,
    Sebastian

    ReplyDelete
  11. Was mir noch nicht klar ist: Was trägt man
    in die settings.php unter dem Parameter
    $baStreamingUrl ein ?

    LG
    Bernd

    ReplyDelete
  12. Dieser Wert muss richtig gesetzt sein, wenn Du ein Video im Browser (IPhone oder PC) angucken willst. Manchmal ist das ganz nützlich.
    Folgendes musst Du dabei bedenken: Der Browser kann nur per http auf das File zugreifen. Wie aber lautet der http-Pfad zu den Files ? Angenommen auf der Synology liegen die Files in /volume1/Video/bong/. Der Webserver kann normalerweise nicht auf alle Verzeichnisse zugreifen. Normalerweise nur auf /volume1/web welches sein 'root'-Verzeichnis ist (ist bei meiner DS209 so). Deswegen musst Du das Verzeichnis mit den Videofiles in das Web-Verzeichnis einblenden. Das geht mit
    "ln -sf /volume1/Video/bong /volume1/web/bong" wenn Du jetzt in das Web-Verzeichnis guckst, siehst Du dank des Links im Verzeichnis bong alle Deine Aufnahmen. Der http Pfad auf Deine Dateien lautet nun: http://serveradresse/bong/ -> Das musst Du in $baStreamingUrl eintragen. In $baRealUrl trägst Du den pysikalischen Pfad auf die Files ein. Das wäre dann /volume1/Video/bong/. Die php-software kann nun einfach den pysikalischen Pfad mit dem http-pfad ersetzten und der Browser gibt Dir dein Video wieder.

    ReplyDelete