☰
Eduard Prezer Logo
DJ Fotografie Über mich Links Blog Gästebuch Impressum

Blog

<  1  2  3  4  > 

Odroid XU4 und Plex Media Server Transcoding unter Openmediavault 2

Nach einigen Updates seitens Openmediavault und dem Plugin Repository omv-extras funktionert das Transkodieren mit Plex Media Server 0.9.12.4 zunächst einmal nicht mehr. Grund dafür ist, dass der Plex Transcoder glibc bzw. libc6 in Version 2.15 oder neuer benötigt. Openmediavault 2 basiert aber auf Debian Wheezy, wofür es momentan libc6 nur in Version 1.13 gibt. Der plexmediaserver aus dem omv-extras Repository wird zwar mit dem passendem Modul libm-2.19.so ausgeliefert, dieses läuft allerdings nicht auf Debian Wheezy bzw. Openmediavult Stone Burner 2.x.

Faktisch ist das Transcodieren auf dem Odroid XU4 unter Openmediavault 2.2.14 mit Plex 0.9.12.4 möglich.
Dazu müssen folgende Änderungen durchgeführt werden:

Achtung, damit das Transcodieren auf dem Odroid XU4 funktioniert, muss nach wie vor die plex.js angepasst werden. Siehe dazu die beiden anderen Anleitungen Odroid XU4 und Plex Media Server Transcoding mit Openmediavault und nginx Reverse-Proxy für Plex Media Server.

Zunächst muss man sich die richtige libc6 besorgen (libc6-armhf-cross_2.15-0ubuntu9cross1.82_all.deb for 12.04 LTS) und dessen Inhalt In einen vorher erstellen Ordner extrahieren. (Alternativ die benötigte Datei direkt libm-2.15.so)

mkdir libc6-2.15-ubuntu
dpkg -x libc6-armhf-cross_2.15-0ubuntu9cross1.82_all.deb libc6-2.15-ubuntu/

Nun Kopiert man die benötigte libm-2.15.so in das richtige Verzeichnis für Plex Media Server und setzt den Symbolischen-Link.

cp libc6-2.15-ubuntu/usr/arm-linux-gnueabihf/lib/libm-2.15.so /usr/lib/plexmediaserver/
ln -s /usr/lib/plexmediaserver/libm.so.6 /usr/lib/plexmediaserver/libm-2.15.so 

Nun Muss man die beiden Transcoder nur noch überreden die richtige Bibliothek zu verwenden. Dazu bennen wie die Binärdateien um und erstellen kleine Scripte die auf die Originale verweisen.

mv "Plex New Transcoder" "Plex New Transcoder Original"
mv "Plex Transcoder" "Plex Transcoder Original"


vi "Plex New Transcoder"

mit folgendem Inhalt:
#!/bin/sh
export LD_LIBRARY_PATH=/usr/lib/plexmediaserver/
exec /usr/lib/plexmediaserver/Resources/Plex New Transcoder Original "$@"


vi "Plex Transcoder"

mit folgendem Inhalt:
#!/bin/sh
export LD_LIBRARY_PATH=/usr/lib/plexmediaserver/
exec /usr/lib/plexmediaserver/Resources/Plex Transcoder Original "$@"

Rechte anpassen

chmod a+x "Plex New Transcoder" "Plex Transcoder"

Anschließend Plexmediaserver Neustarten und Filme geniesen =)

service plexmediaserver restart


Datum: 17.05.2017     Zuletzt aktualisiert: 18.05.2017
Tags: Heimserver, Plex, Transcode, Openmediavault, Odroid, XU-4, ARM, Stoneburner, Stone Burner, Wheezy, Debian, pms, plexmediaserver

nginx Reverse-Proxy für Plex Media Server

Möchte man seinen lokalen Plex Media Server auch von außen zugreifbar machen, geht dies am besten über einen Reverse-Proxy. 
Der folgende Teil meiner nginx Konfiguration, sorgt für reibungslosen betrieb auf meinem Odroid XU4. Man beachte dass hier der Rumpf mit den Listenern auf Port 80/443 fehlt. Sowie die Umleitung von Port 80 auf 443.

#Die folgende Regex Regel setzt eine Alias für die Datei plex.js. 
#Dies ist nötig, um Plex Transcoding auf ARM-basierter Hardware 
#zu aktivieren. (Die referenzierte plex.js muss ebenfalls modifiziert werden)
location ~ ^/web/js/plex.js(.*)$
{
  alias /usr/lib/plexmediaserver/Resources/Plug-ins/WebClient.bundle/Contents/Resources/js/plex.js;
}

location / {
#Die folgenden Regeln sorgen dafür, dass ihr automatisch auf /web/index.html umgeleitet werdet
#Umleiten, wenn kein OPTIONS request
  if ($request_method != OPTIONS ) {
    set $test A;
  }
  if ($http_x_plex_device_name = '') {
    set $test "${test}B";
  }
  if ($arg_X-Plex-Device-Name = '') {
    set $test "${test}C";
  }
  if ($test = ABC) {
    rewrite ^/$ https://$http_host/web/index.html;
  }

#Folgende Adresse:Port, ist die Adresse eures lokalen PlexMediaServers
  proxy_pass http://127.0.0.1:32400;
  proxy_set_header    Host            $http_host;
  proxy_set_header X-Real-IP $remote_addr;
  proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
  
  proxy_redirect      off;
  proxy_buffering     off;
  
  proxy_http_version      1.1;
  proxy_set_header        Upgrade         $http_upgrade;
  proxy_set_header        Connection      "upgrade";
  proxy_read_timeout      36000s;         # Timeout nach 10 Stunden

#Setzt eine HTTP Authentifizierung
  auth_basic "Bitte Anmelden";
  auth_basic_user_file /etc/nginx/htpasswd;
}

Die hier gezeigte Konfiguration verwendet auth_basic zur einfachen HTTP Authentifizierung. Dies ist nur empfehlenswert, wenn man über SSL(443) auf Plex zugreift. Das auth_basic_user_file kann dabei mithilfe einer der folgenden Befehle generiert werden. Weitere Informationen zu Auth Basic

htpasswd -nbd myName myPassword

openssl passwd -crypt myPassword

 

Datum: 20.02.2017     Zuletzt aktualisiert: 02.03.2017
Tags: nginx, Reverse-Proxy, reverseproxy, plex, Plex-Media-Server, PMS, rewrite, ssl, internet-zugriff, web-zugriff

Odroid XU4 mit Zalman ZM-NB47J Kühlkörper und runtertakten der GPU

Der Standard Kühlkörper des Odroid XU4 Boards ist leider alles andere als gut. Doch zum Glück lässt sich dieser tauschen, wobei es wirklich gute Alternativen gibt. Ich habe selbst eine weile recherchiert und bin am ende beim Zahlman ZM-NB47J Chipsatzkühler hängen geblieben. Diesen findet man allerdings leider fast nur noch bei eBay.

Zahlman ZM-NB47J Kühlkörper

Dieser etwas betagte Zahlman ZM-NB47J Chipsatzkühler, aus früheren Zeiten in denen Mainboards noch eine Northbridge hatten, ist der perfekte Ersatz, da er verstellbare Befestigungen und eine ordentliche Kühlleistung hat. Da dieser Kühler schon lange nicht mehr produziert wird, sollte man mit der mitgelieferten Wärmeleitpaste aufpassen. Diese kann sehr alt und eingetrocknet sein. Besser sollte man sich eine Tube frische, elektrisch nicht leitende Wärmeleitpaste besorgen.

Die Montage des Kühlers ist in der beiliegenden Anleitung hinreichend gut beschrieben.
Fertig montiert sieht der Kühlkörper so aus:

Die Kühlleistung mit dem Zahlman Kühlkörper ist so gut, dass sich die Temperatur im normalem Betrieb irgendwo zwischen 40°C und 50°C einpendelt (Passiv ohne Belüftung). Den Standart Lüfter habe ich trotzdem angeschlossen gelassen und am Kühler befestigt, falls die Temperatur unter Volllast doch mal zu hoch sein sollte. Der Lüfter läuft erfahrungsgemäß erst irgendwo bei knapp 60° an. Wer die PWM Lüftersteuerung trotzdem manuell anpassen möchte, kann hier nachlesen wie das funktioniert.

Runtertakten der Odroid XU4 GPU

Betreibt man das Odroid XU4 Board als Server, also ohne Bildschirmausgabe, macht es nicht viel Sinn die Mali-T628 Grafik permanent auf maximaler Frequenz mit 600MHz laufen zu lassen (Standartverhalten). 
Wie hier (auf English) beschrieben, lässt sich die Grafikkarte dauerhaft auf den Minimaltakt heruntertakten. Dabei senkt man nicht nur die Taktrate der Grafikeinheit auf minimale 177MHz, sondern auch die Betriebsspannung. Somit sinkt die Betriebstemperatur nochmal um ein paar Grad und verringert den Stromverbrauch.

Um die Änderung durchzuführen sollte man sicherstellen, dass das Paket sysfsutils installiert ist:

apt-get install sysfsutils

Anschließend editiert man die Datei /etc/sysfs.conf und ergänzt diese um folgende Zeile:

devices/11800000.mali/dvfs_max_lock = 177

Ob die Änderung erfolgreich war, lässt sich mit folgenden Befehlen ausführen (davor, danach):

cat /sys/devices/11800000.mali/clock
cat /sys/devices/11800000.mali/vol

 

Ein typischer Temperaturverlauf mit dem Zalman Kühler und heruntergetakteter GPU sieht anschließend so aus:


Datum: 30.09.2016     Zuletzt aktualisiert: 15.01.2019
Tags: Odroid, XU4, Zalman, ZM-NB47J, Kühlkörper, Chipsatzkühler, Kühlung, Temperatur, Lüfter, Lüftersteuerung, Mali-T628, Frequenz, GPU, Grafik

Odroid XU4 und Plex Media Server Transcoding mit Openmediavault

Die Vermutung liegt nahe, dass die Hardware des Odroid XU4 mit seinem 8-Kern ARM Prozessor dazu in der Lage ist Videomaterial on-the-fly mithilfe des Plex Media Servers zu Transkodieren. Installiert man sich die ARM Variante des Plex Media Servers (z.B. als openmediavault plugin), ist das Transcodieren allerdings ab werk erst einmal deaktiviert. Hier zeigt der Plex Media Server die Fehlermeldung "Der server ist nicht leistungsfähig genug um videos zu konvertieren". Mithilfe einiger kleiner Modifikationen, lässt sich Plex allerdings doch dazu überreden auf einem Odroid XU4 zu Transkodieren.

Diese Anleitung funktioniert exemplarisch mit Openmediavualt 2.2.7 und Plex Media Server Version 0.9.12.4

Vorraussetzungen

Zunächst sollte man sicherstellen dass das Paket libexpat1 installiert ist:

sudo apt-get install libexpat1 -y

Modifikationen

Nun müssen wir die zu modifizierenden Dateien (plex.js und index.html) lokalisieren. Wir wechseln dazu ins root Verzeichnis und suchen nach der Datei plex.js. Die Ausgabe dazu sollte in etwa so aussehen.

# cd /
# find -name plex.js
./usr/lib/plexmediaserver/Resources/Plug-ins/WebClient.bundle/Contents/Resources/js/plex.js
./media/cdd7bebd-29e1-44d5-84e4-6c126ba92770/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/WebClient.bundle/Contents/Resources/js/plex.js
./export/root/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/WebClient.bundle/Contents/Resources/js/plex.js

Unter /usr/lib/plexmediaserver liegen die eigentlichen Dateien die wir modifizieren möchten. Unter /export/root/plexmediaserver liegt eine Art Cache dieser Dateien der momentanen Plex Media Server Konfiguration. Unter /media liegt euer Backup der Plex Media Server Konfiguration falls ihr das konfiguriert habt.

Für die Modifikation reicht es die Dateien in  /usr/lib/plexmediaserver und /export/root/plexmediaserver/ zu modifizieren. Die index.html liegt dabei immer ein Verzeichnis weiter oben im Verzeichnis "Resources".

In der plex.js suchen wir nach der Funktion validateTranscoder:function und fügen direkt nach der "{" Klammer "return false;" ohne Zeilenumbrüche oder Leerzeichen ein.
Das Ergebnis sollte in etwa so Aussehen

[...]validateTranscoder:function(e,t){return false;[...]

In der index.html suchen wir nach der Zeile 

<script id="plex-script" src="js/plex.js?hash=3d1c5d7&version=2.4.9"></script>

und ändern diese zu 

<script id="plex-script" src="js/plex.js"></script>

Plex Media Server überschreibt normalerweise die Dateien unter /export/root/plexmediaserver/, womit unsere Modifikationen bei änderung der Plex Einstellungen wieder weg wären. Um dies zu verhindern entziehen wir plex die Schreibrechte für die Dateien index.html und plex.js indem wir den Dateibesitzer auf root stellen und plex somit nur noch leserechte hat.
Achtung: Diese Modifikation kann unter Umständen Probleme nach Software Updates für Plex verursachen.

# cd "/export/root/plexmediaserver/Library/Application Support/Plex Media Server/Plug-ins/WebClient.bundle/Contents/Resources"
# ls -la index.html js/plex.js
-rw-r--r-- 1 plex nogroup    2409 Sep 15 11:11 index.html
-rw-r--r-- 1 plex nogroup 2156175 Sep 15 11:14 js/plex.js
# chown root index.html js/plex.js
# ls -la index.html js/plex.js
-rw-r--r-- 1 root nogroup    2409 Sep 15 11:11 index.html
-rw-r--r-- 1 root nogroup 2156175 Sep 15 11:14 js/plex.js

Um die Änderungen zu Übernehmen müssen wir den Plex Media Server Dienst nur noch neu starten.

service plexmediaserver restart

Nachtrag: Bei einem Reboot werden wohl seitens Plex komischerweise die geänderten Dateien in /media sowie /export überschreiben. Ich habe keine effektive Möglichkeit gefunden dies zu Unterbinden. Allerdings kann man, wenn man Plex sowieso über einen nginx Reverseproxy bereitstellt auf die modofizierte plex.js verweißen. Mithilfe der Regex Regel muss man nicht mal mehr die index.html ändern.

location ~ ^/web/js/plex.js(.*)$
{
  alias /usr/lib/plexmediaserver/Resources/Plug-ins/WebClient.bundle/Contents/Resources/js/plex.js;
}

Leistungsfähigkeit

Die Leistung des Odroid XU4 Boards reicht auf jeden Fall um ein 1080p 4:2:0 high h264 Kodiertes Video mit einer Bitrate von über 2000kpbs und 5.1dts Sound im MKV Container on-the-fly in Webfähige 720p 3Mbps zu Transkodieren. Dabei pendelt sich die durchschnittliche CPU Last auf etwa 50-60% ein. Das sollte gerade so reichen um auch zwei parallele Streams mit Quellmaterial in dieser Qualität zu Transkodieren. Zur Veranschaulichung hier nochmal die Darstellung der CPU Auslastung aus Openmediavault während des Transcodierens.

 


Datum: 16.09.2016     Zuletzt aktualisiert: 15.01.2019
Tags: Heimserver, Plex, Transcode, Openmediavault, Odroid, XU-4, ARM

Sicherheit von Passwörtern - Ein kleiner Ratgeber

Passwörter verwendet jeder von uns mehrmals täglich. Meistens ohne sich viel Gedanken um die Sicherheit zu machen. Dieser kleine Ratgeber soll helfen sich sichere Passwörter auszudenken und sich auch merken zu können.

Schlecht:

  • länge bis zu 6 Zeichen
  • Wörter, Namen und Bezeichnungen die im Sprachgebrauch oder Wörterbüchern Vorkommen.
  • Zahlen wie Geburts-, Jahresdaten oder Hausnummern (z.B. 1987)
  • Wörter die sich aus dem eigenem Namen, Spitznamen, Benutzernamen oder anderen personenbezogenen Bezeichnungen zusammensetzen (z.B. Dr., Chef)

Gut:

  • länge ab 8, besser 10  oder 12 Zeichen
  • augenscheinlich zusammenhangslose Buchstaben in Groß- und Kleinschreibung.
  • Ziffern oder Zahlen die sich nicht direkt mit Ihnen in Verbindung bringen lassen (Geburtsdaten, Alter, Hausnummer o.ä.)
  • Sonderzeichen wie ^@°!"§$%&/()=?#+-_.:,;'*~><|. Am besten nicht nur am Ende oder Anfang des Passworts

Niemals Passwörter verwenden, welche man bereits woanders mal gesehen hat (die Beispiele auf dieser Seite)

Tipp 1 - Passwörter aus Sätzen:

Am einfachsten kann man sich gute Passwörter ausdenken, indem man die Anfangs- oder Endbuchstaben eines Satzes verwendet, den man sich leicht merken kann. Man sollte jedoch darauf Achten dass der Satz kein bekanntes Zitat oder eine Redewendung ist.

Bespiele für Passwörter aus Sätzen mit 10 Stellen:
IsjMu8:25a = Ich stehe jeden Morgen um 8:25 auf
MAim33JeO! = Mein Auto ist mit 33 Jahren ein Oldtimer!
Msabm3,8%F = Milch schmeckt am besten mit 3,8% Fett
!Nv13Jan.H = ! Nicht vergessen 13 Jan. Hochzeitstag (hat auch den Nebeneffekt dass man ihn wirklich nicht vergisst)
Wisfbi5,6L = Wenn ich sparsam fahre brauche ich 5,6 Liter

Tipp 2 - Ersetzen von Zeichen:

Um die Sicherheit zu erhöhen kann man einzelne Begriffe oder Zeichen durch ähnlich aussehende Zeichen oder Ziffern ersetzen.
Beispiele:
aus "und" wird "&" oder "+"
aus "Ein" oder "eines" wird "1"
aus "s" wird "5"
aus "l" wird "1"
aus "K" wird "|<"
aus "a" wird "@"

Tipp 3 - Passwort Varianten:

Um sich nur ein Passwort merken zu müssen und trotzdem für alle Dienste ein eigenes Passwort verwenden zu können, kann man den Namen des Dienstes zum kleinen bestandteil des Passworts machen. So hat man den Vorteil, dass das eigene Passwort weiterhin weitestgehend sicher bleibt falls das Passwort bei einem Dienst ausgespäht wird. Man sollte jedoch nur so wenig (max. 2 Zeichen) für diesen Bestandteil verwenden, dass man es sich selbst merken kann. Sonst könnte jemand der solch ein Passwort erbeutet leicht auf das Schema schließen dass man verwendet.

Beispiel 1 für Passwort "IsjMu8:25@ = Ich stehe jeden Morgen um 8:25 auf" und zweistelligem Bestandteil:
IsjMu8:25@eb - Passwort für Ebay
IsjMu8:25@Am - Passwort für Amazon
IsjMu8:25@Wi - Passwort für Windows

Beispiel 2 für Passwort "Wi5fbi5,6L = Wenn ich sparsam fahre brauch ich 5,6L" und einstelligem Bestandteil und zusätzlichem Sonderzeichen =:
e=Wi5fbi5,6L - Passwort für Ebay
A=Wi5fbi5,6L - Passwort für Amazon
W=Wi5fbi5,6L - Passwort für Windows

Tipp 4 - Passwörter Wechseln:

Natürlich empfiehlt es sich auch lange und sichere Passwörter hin und wieder zu wechseln. 
Bei einem geschickt gewählten Passwort wie "Wisfbi5,6L = Wenn ich sparsam fahre brauche ich 5,6 Liter" kann man beispielsweise monatlich das Passwort seinem aktuellem Spritverbrauch anpassen. Oder man zählt bei "MAim33JeO! = Mein Auto ist mit 33 Jahren ein Oldtimer!" jedes Jahr eins weiter. Bei kritischen Passwörtern sollte man sich jedoch ein komplett neues Passwort überlegen.

Weitere nützliche Informationen und Hinweise zu diesem Thema gibt es beim Bundesamt für Sicherheit in der Informationstechnik:
​https://www.bsi-fuer-buerger.de/BSIFB/DE/Empfehlungen/Passwoerter/Umgang/umgang_node.html


Datum: 03.02.2016     Zuletzt aktualisiert: 02.03.2017
Tags: Ratgeber, Sicherheit, Passwort, Passwörter, sicher, Kennwort, Kennwörter, Tipps, Tip

<  1  2  3  4  >