Silent NAS als Zentrum eines kleinen Audio-Video-Multiroom-Systems

Dieses Testsystem wurde zur Lösung für die Aufgabe, "einen Drei-Zonen-Multiroom zu einem vernünftigen Preis für leise Geräte herzustellen".

Leise Ausrüstung ist ein Schlüsselkonzept. Die Wohnung bietet keinen Platz für laute Geräte.
Ein weiterer Wunsch war es, keinen Dateiordner, sondern eine vollwertige Medienbibliothek für die Auswahl von Filmen - TV-Shows - Musik zu verwenden. Mit der Aufteilung von Genres, Künstlern, Regisseuren. Und mit einer Auswahl von Arbeiten auf Plakaten - Covers.
Eine Zone (Wohnzimmer) erforderte die höchstmögliche Qualität der Video- und Audiowiedergabe, die anderen beiden waren für die Formate von Audio-Video-Inhalten nicht so kritisch.

Ich wollte das System aus einer minimalen Anzahl von Komponenten bauen, daher wurde ein kleines lüfterloses NAS mit den Funktionen eines Mediaplayers - QNAP HS-251 - ausgewählt.

HS-251

Das Gerät unterscheidet sich nicht in der Superleistung des Festplattensubsystems, aber es ist, wie sich als Ergebnis von Tests herausstellte, für eine solche Aufgabe völlig ausreichend.
Es gibt jedoch fast alle Schnittstellen:

Bild

Es gibt zwei HDMI-Anschlüsse, der zweite kann jedoch noch nicht verwendet werden. Soweit ich verstehen kann, ist beabsichtigt, in zukünftigen Firmware-Versionen zu arbeiten.

Für die erste Zone (Wohnzimmer) wurde der eingebaute XBMC / Kodi-Player verwendet, der für seine "Allesfresser" bekannt ist. Die neuesten Versionen können sogar ausschließlich "krumm" vorbereitete Videos abspielen.
Das HDMI-Kabel vom NAS wurde an den Empfänger angeschlossen, vom Empfänger an das Fernsehgerät.

Auf dem NAS wurden Kodi Autologin und Autostart ausgewählt.

Die Fernbedienung für Kodi ist aktiviert, damit IP-Befehle gesendet werden können.
Steuerbefehle an Fernseher, Empfänger und NAS wurden von Universalfernbedienungen und Tablets über das Savant-System gesendet.

Falls gewünscht, ist es ohne möglich, nur die Fernbedienungen müssen ein wenig jongliert werden.

Auf dem Fernsehbildschirm wird ein Bild angezeigt, das jedem bekannt ist, der mit dem XBMC-Player zu tun hat:

Bild

Beim Abspielen von FullHD-Filmen aus Dateien mit einer Größe von 20 bis 30 Gigabyte wurde der Prozessor nicht merklich belastet.

Bild

In den Player-Einstellungen wurde festgelegt, dass "alle Audio- und Videoformate ohne Transcodierung zur Ausgabe übersprungen werden". Bei Audiostreams verschiedener Typen bis zum DTS-Master wurde der Empfänger erfolgreich behandelt.

Die Aufgabe bleibt, Inhalte vom NAS auf zwei anderen Fernsehgeräten abzuspielen. Niemand hatte auf eingebaute Player gehofft (Fernseher waren nicht die neuesten), daher stellte sich die Frage nach der Auswahl externer Mediaplayer.

Apple TV wurde ausgewählt. Hauptsächlich aufgrund der guten Möglichkeiten, mit Medienverzeichnissen zu arbeiten. Niemand wollte Filme nach Dateinamen auswählen und sie in Ordnern suchen.

Es ist seit langem bekannt, Apple TV mit Inhalten aus dem lokalen Speicher zu „füttern“. Und dieser Name ist Plex / PlexConnect.

Zunächst wurde Plex Server auf dem NAS installiert. Aber nicht aus dem QNAP-Repository (oft ist die neueste Version vorhanden), sondern aus plex.tv/downloads
Der nächste Schritt ist die Installation von Python. Die Version 2.7 befindet sich im QNAP-Repository. Python wird benötigt, damit PlexConnect funktioniert, das als Gateway zwischen Plex Server und Apple TV fungiert.

Schließlich beginnt das interessanteste Verfahren - die Installation von PlexConnect.
Es benötigt einen freien Port 80, um zu funktionieren. Für diesen Port beginnt Apple TV mit der Kommunikation mit PlexConnect und "denkt", dass dies ein Server von Apple ist. Port 80 wird standardmäßig vom integrierten NAS-Webserver belegt. Sie können es entweder deaktivieren oder an einen anderen Port verschieben. Dies ist ein separater Webserver und nicht die administrative Weboberfläche für die Verwaltung von NAS.

Wenn alles gut gegangen ist, können Sie den Ordner mit PlexConnect-Skripten auf den NAS kopieren und dann über SSH zur Linux-Befehlszeile auf dem NAS wechseln, zu dem Ordner gelangen, in dem PlexConnect abgelegt wurde, und Sicherheitszertifikate generieren.

Sie können Zertifikate im Verzeichnis PlexConnect / assets / certificates mit den folgenden Befehlen

generieren: openssl req -new -nodes -newkey rsa: 2048 -out trailers.pem -keyout trailers.key -x509 -days 7300 -subj "/ C = US / CN = trailers .apple.com ”
openssl x509 -in trailers.pem -outform der -out trailers.cer && cat trailers.key >> trailers.pem

Und schließlich versuchen Sie, PlexConnect manuell auszuführen:

python PlexConnect.py

Möglicherweise müssen Sie einen Skriptpfad angeben PlexConnect Es

kann zwei Ergebnisse geben - entweder funktioniert es oder nicht.
Wenn dies funktioniert, wartet das System auf Anrufe von Apple TV, verarbeitet sie und gibt entweder Informationen zum Status der Medienbibliothek aus oder empfängt Befehle zum Abspielen von Dateien oder leitet Anforderungen an Apple Server weiter.

Und wenn es nicht funktioniert, erhalten Sie eine Nachricht, dass es nicht funktioniert hat.
Meistens handelt es sich entweder um "keine Zertifikate" - wenn Sie vergessen haben, sie zu generieren, oder um "Port 80 ist ausgelastet".

Die letzte Nachricht ist die unangenehmste. Sie müssen verstehen, welche Art von Dienst dieser Port belegt, und diesen Dienst deaktivieren. Am einfachsten ist es, wenn Sie vergessen, den Webserver auf dem NAS zu deaktivieren. Schlimmer noch, wenn es bereits deaktiviert ist und der Port noch belegt ist.

Wie auf forums.plex.tv zu finden ist, wird der Qthttpd-Prozess am häufigsten ausgeführt.

Warum läuft es auf einigen NAS-Modellen immer noch, wenn der Webserver ausgeschaltet ist, habe ich keine Antwort.
Wenn Sie es manuell mit dem
Befehl killall Qthttpd beenden, wird
es meistens nach ein oder zwei Minuten automatisch neu gestartet .

Es ist wichtig, dass PlexConnect gestartet wird, bevor dieser Prozess neu gestartet wird.
Ich habe kein Muster gefunden, bei dem sich dieses Problem bei NAS-Modellen manifestiert, aber es passiert.

Die Lösung könnte darin bestehen, das Skript für den PlexConnect-Autostart zu verwenden, das von den Teilnehmern des plex.tv-Forums geschrieben wurde:
********************** autorun.sh ******** ******************************************
#! / bin / sh
killall Qthttpd
/ usr / bin / python /root/Library/PlexConnect/PlexConnect.py -d
******************************************************** ****************************
Es ist klar, dass die Dateipfade festgelegt werden müssen.

Damit Apple TV mit Plex arbeiten kann, muss es konfiguriert werden, indem die NAS-Adresse als DNS-Server angegeben wird:
Einstellungen-> Netzwerk-> Ethernet (wenn Apple TV über Ethernet funktioniert) -> DNS (manuell)

Der nächste Schritt ist die Installation eines Sicherheitszertifikats. Dies erfolgt direkt von Apple TV aus, ohne dass Software von Drittanbietern erforderlich ist:

Einstellungen-> Allgemein-> Daten an Apple senden (Setup / Allgemein / Daten an Apple senden) Als Nächstes

sollte "NEIN"
angezeigt werden, wobei diese Option mit "native" hervorgehoben wird »Fernbedienung, drücken Sie die Wiedergabetaste (keine Wahl, nämlich Wiedergabe).
Apple TV schlägt vor, ein neues Profil zu erstellen. Wir stimmen zu und geben die folgende URL an
trailers.apple.com/trailers.cer

Danach kann Apple TV eine sichere Verbindung mit unserem Plex Server herstellen.

Plex hat Einschränkungen bei der Wiedergabe von Mehrkanal-Audio. Wie die Foren sagen, keine DTS aus MP4 / MKV-Dateien und keine DD aus MKV.

Wenn alles gut gegangen ist, werden Sie nach Auswahl des Abschnitts "Trailer" zum Bildschirm weitergeleitet, auf dem Sie Materialien (Filme, Serien, Musik usw.) auswählen können. Es ist klar, dass Plex Server selbst vorher wissen muss, was Sie haben und wo es liegt:

Bild

Obwohl das Setup-Verfahren nicht sehr einfach aussieht, wird es nur einmal ausgeführt. Danach zerlegt Plex selbst die Dateien, die Sie in die entsprechenden Ordner hochladen.

Sie können Mediendateien auf jede mögliche Weise herunterladen, einschließlich der Synchronisierungsfunktion zwischen NAS (wenn Sie mehr als ein NAS haben und möchten, dass der Inhalt überall synchronisiert wird) oder mithilfe des integrierten Torrent-Clients.

Auswahlbildschirm für TV-Sendungen mit Apple TV.

Bild

Bildschirm zur Auswahl eines Films nach Genre.

Bild

Plex / PlexConnect transkodiert Videos im laufenden Betrieb. Eine solche Transcodierung belastet den NAS-Prozessor jedoch ernsthaft. Transkodieren Sie beim HS-251 keine Dateien mit einer Auflösung von mehr als 720p.
Gleichzeitig ist der NAS-Prozessor ziemlich gut ausgelastet:

Bild

Zum Testen habe ich mit dem deutlich leistungsstärkeren QNAP TS-870 begonnen, über Plex zu transkodieren. Auch er war nicht einfach, obwohl alles funktionierte:

Bild

Mögliche Probleme:

- Wenn der Name des Films transliteriert ist (russische Wörter auf Englisch), wird der Film nicht erkannt. Apple TV zeigt es als Rechteck mit einem Bild aus dem Film und einer Signatur - dem Namen der Datei. Sie können die Signatur bearbeiten und ein Bild über Plex Server einfügen. Es ist jedoch bequemer, einen Namen auf Englisch anzugeben.

- Audiospuren werden nicht immer richtig abgespielt. In einigen Fällen ist die Datei falsch codiert, anstatt dass die russische Spur Englisch ist, obwohl die Datei beides enthält. In meinem Fall ist dies kein Problem, aber einige sind anstrengend :-)
- Manchmal, wenn Sie Apple TV einschalten, wird die Meldung angezeigt, dass keine Verbindung zum Internet besteht. Sie müssen zur Apple TV-Startseite gehen und dann zum Abschnitt "Trailer" zurückkehren.

Ergebnisse
Für mich ist dies eine Lösung mit einem Mindestmaß an "hausgemacht". Fertiges stilles NAS, fertiges Apple TV. Inbegriffen. konfiguriert funktioniert es.

Es gibt Einschränkungen, aber wie Programmierer sagen: "Dies ist kein Fehler, dies ist eine Funktion."

Ist es möglich, das Problem billiger zu lösen - ist es möglich, wenn Sie alles selbst zusammenbauen. Wird es genauso elegant und zuverlässig ausfallen - ich bezweifle es.

Sacharow Alexander

All Articles