MythTV

Modified: 

Wer Mediendateien mit Sonderzeichen oder Umlauten unter MythTV wiedergeben will muss damit rechnen dass diese Probleme bereiten. Während über MythWeb noch alle Dateien ordnungsgemäß aufgelistet werden, sieht das im MythFrontend schon ganz anders aus. Hier werden unter “Videos” zwar die Dateien meistens noch aufgeführt, abgespielt werden können diese jedoch nicht.

Nach etwas Recherche konnte ich die Problematik dahingehend weiter eingrenzen, dass die Locale-Einstellungen, sowie das verwendete Charset in der MythTV-Datenbank dieses fehlerhafte Verhalten auslösen und damit ein Abspielen unmöglich machen. Auch gibt es im Internet von verschiedenen Seiten Bemühungen dieses Fehlverhalten zu beheben.

Ein vielversprechender Ansatz war z.B., seine Locale-Einstellungen im System zu überprüfen und die MythTV-Datenbank dieser Einstellung anzupassen. Mit dieser Lösung und den damit verbundenen tiefgreifenden Änderungen an der Datenbank geht man jedoch das Risiko ein seine MythTV-Installation kaputt zu spielen. Also im Endeffekt auch nicht überzeugend.

Letztendlich entschied ich mich für eine Lösung, welche die internen Strukturen von MythTV nicht antastet. Dazu habe ich ein kleines PHP-Script geschrieben, welches auf die Originaldateien einfach Symlinks legt und sämtliche Sonderzeichen rausfiltert. Eine kleine Konfiguration muss in dem Script jedoch vorgenommen werden. Hier eine kleine Checkliste:

  • Symlinker runterladen
  • Archiv entpacken
  • Symlinker mit einem Texteditor öffnen
  • $strAllowedChars ggf. um zusätzlich erlaubte Zeichen ergänzen
  • $strReplace ggf. anpassen (Sonderzeichen werden durch dieses Zeichen ersetzt, deutsche Umlaute hingegen werden gesondert transilteriert)
  • $readDir angeben (Verzeichnis mit Originaldateien, welche gesymlinked werden sollen)
  • $symlinkDir angeben (in dieses Verzeichnis werden die Symlinks angelegt)
  • im MythTV Backend Setup die neuen Medienpfade bekanntgeben

Das Script benötigt eine aktuelle PHP-Version (CLI) und kann in Crontab eingetragen werden, so dass die Symlinks automatisch erstellt werden. Dabei kann die Ausgabe problemlos in eine Logdatei geleitet werden, sämtliche Operationen werden über die Standardausgabe dokumentiert.

php symlinker_pub.php > symlinker.log

Die Prozedur läuft folgendermaßen ab:

  • Verzeichnis mit Symlinks rekursiv löschen
  • Rekursives durchwandern des Originalverzeichnisses undfür jede Datei:
  • Anwenden der Filter
  • Erstellen eines Symlinks

Ganz unten im Script gibt es die Funktion “filter($string)”, wo anhand von regulären Ausdrücken zusätzliche Filter definiert werden können. Ein Filter für den Online TV Recorder Save.tv ist bereits angelegt. Dieser entfernt die unschönen Zahlenfolgen, die von dem Online TV Recorder Save.tv bei den Aufnahmen in die Dateinamen gewutzt werden.

Symlinker:
mythtv_symlinker.tar
MD5 Summe : fa67223f1b1314c089626ba6c16a2cbc mythtv_symlinker.tar.gz

Das Script kann frei verwendet werden und steht unter der GNU General Public License. Viel Spaß damit :)

Be Sociable, Share!

Leave a comment

© 2012 » MythTV - Software | Solutions | Juergens by WebDev | SEO