4K Inhouse Streaming mit Plex

Verdammte Axt! Ich hätte erwartet, dass sich der Umgang mit 4k inzwischen soweit etabliert hat, dass es sich dabei um eine reine Plug&Play Technik handelt. Weit gefehlt!

Versuch 1: 2,5″ Festplatte mit 4K Film direkt an den 4K Fernseher

Man dürfte meinen, dass eine schnelle Direktverbindung von einer externen 2,5″ USB 3.0 Festplatte am Ferneseher auf jeden Fall funktioniert aber nein, der Fernseher liefert auf KEINEM USB Port genug Leistung, dass die 2,5″ Festplatte anläuft.

Versuch 2: 3,5″ Festplatte mit 4K Film direkt an den 4K Fernseher

Die Festplatte läuft an, der Fernseher erkennt die Medieninhalte. Das war es aber auch schon mit der Euphorie. Nativ kann der Fernseher keine 10bit Inhalte in HEVC (h.265) Codierung wiedergeben. Die Wiedergabe ruckelt weil die Decodierung wegen dem 10bit nicht in Hardware geschehen kann.

Klar, das Panel meines Fernsehers kann keine 10bit Darstellung aber wenigstens die Verarbeitung der Inhalte sollte doch möglich sein.

Versuch 3: DLNA Streaming

Gigabit Ethernet im ganzen Haus ist verfügbar aber der TV kann über die hauseigene DLNA App keine(!) HEVC codierten Filme wiedergeben. Normale FullHD (h.264) codierten Formate gibt er problemlos wieder. Super ärgerlich. Dem DLNA Streaming weine ich aber nicht nach weil die Audiokanal- und Untertitelauswahl damit jedes Mal „pain in the ass“ ist und nur selten so funktioniert wie ich das will. Das ist eine Eigenheit von DLNA wo das Quellgerät nur den ersten verfügbaren Audiokanal auswählt und diesen dann streamt. Keine Möglichkeit diesen Kanal am Zielgerät zu ändern.

Versuch 4: Amazon Fire TV Apps & SMB Freigabe

Die Amazon Fire TV Box sollte mit der Decodierung von 4K Videoinhalten problemlos klarkommen. Leider bietet die Fire TV Box selbst keine App an, die auf eine SMB Freigabe zugreifen kann. Eine App wie z.B. der VLC Mediaplayer kann das. Er kann auch die 4k Videos ruckelfrei wiedergeben. Wenn man aber genau hinsieht, startet sich die VLC (wie jede andere App, die ich getestet habe) im normalen 1080p-Modus. Die VLC App selbst ist also noch nicht 4K fähig. Die Videos werden zwar ruckelfrei wiedergegeben, sehen aber nach matschigem HD aus. Argh!

Versuch 5: Amazon Fire TV Plex Direct Stream

Plex ist seit Jahren mein lieblings Mediatool. Es indiziert Medieninhalte, reichert sie mit Metadaten aus dem Internet an und konvertiert mir auch seltene Videocodecs auf meine Ziel Endgeräte und das bei FullHD Inhalten verzögerungsfrei. Hier kommt aber die Krux.

4K ist im Plex Universum noch nicht vollkommen angekommen. Selbst wenn die Android App auf der Fire TV Box im 4K Modus startet, erkennt der Transcoder Dienst vom Plex Server am anderen Ende nur ein 1080p Gerät. Das führt dazu, dass der Plex Server ein Transcoding von dem 4K h.265 Film auf ein 1080p h.264 vornimmt, was meine Hexacore CPU vollkommen überlastet und im Endergebnis zu einem ruckelnden und matschigen FullHD Film führt. Unbrauchbar!

Versuch 6: Google Chromecast Ultra mit modifiziertem Plex Media Profil

Der Google Chromecast Ultra ist der erste Chromecast, der auch 4k fähig ist. Wenn man von Plex auf den Chromecast streamen möchte steht man aber vor dem gleichen Problem wie bei der Amazon Fire TV Box. Der Plex Server erkennt am anderen Ende nur ein FullHD Gerät und transcodiert die Medieninhalte.

Wenn man etwas tiefer in die Plex Materie einsteigt, bemerkt man irgendwann, dass Plex die Auflösung mit dem Endgerät nicht aushandelt sondern auf Medienprofile zurückgreift in denen Parameter für die Zielgeräte hinterlegt sind. Hier findet man z.B. Profile für die Wiedergabe an einer XBOX oder auf Android Geräten.

U.a. findet sich auch ein Medienprofil für den Google Chromecast. Jetzt gibt es vom Google Chromecast mehrere verschiedene Ausführungen. Das Medienprofil kann diese Versionen aber nicht voneinander unterscheiden und macht damit quasi einen Fallback auf das erste Chromecast Modell, welches nur FullHD h.264 wiedergeben kann. Die Ursache der Missere ist also endlich gefunden.

Ziel ist es also das Medienprofil so umzuändern, dass der Plex Transcoder nicht einspringt und das 4K Video via Direct Stream auf dem Google Chromecast Ultra wiedergibt.

Vor meinem Problem standen erfreulicherweise schon einige andere Leute und diese haben inzwischen herausgefunden, wie man Medienprofil für den Google Chromecast Ultra abändert, dass die direkte Wiedergabe funktioniert.

Der Plex Ordner für die Medienprofile liegt unter:

Plex\Resources\Profiles

Hier findet man z.B. das Profil für den Google Chromecast.

Chromecast.xml

Vielen Dank an das Plex Forum, und den User „Snail02“, der eine passende Konfiguration für den Chromecast Ultra ausgetüftelt hat:

<?xml version=“1.0″ encoding=“utf-8″?>
<Client name=“Chromecast“>
<TranscodeTargets>
<VideoProfile protocol=“http“ container=“matroska“ codec=“h264,Hevc“ audioCodec=“eac3,ac3,aac,mp3″ context=“streaming“>
</VideoProfile>
<MusicProfile container=“matroska“ codec=“mp3″/>
<PhotoProfile container=“jpeg“/>
</TranscodeTargets>
<DirectPlayProfiles>
<VideoProfile container=“mp4″ codec=“Hevc,mpeg1video,mpeg2video,h264,mpeg4″ audioCodec=“eac3,ac3,aac,mp3,mp2″/>
<VideoProfile container=“mkv“ codec=“vp9,Hevc,mpeg1video,mpeg2video,h264,mpeg4″ audioCodec=“eac3,ac3,aac,mp3,mp2,pcm,flac,alac“ subtitleFormat=“srt,ass“/>
<MusicProfile container=“mp3″ codec=“mp2,mp3″/>
<MusicProfile container=“ac3″ codec=“ac3″/>
<MusicProfile container=“mp4″ codec=“aac“/>
<MusicProfile container=“flac“ codec=“flac“/>
<MusicProfile container=“wav“ codec=“pcm“/>
<PhotoProfile container=“jpeg,png,gif“/>
</DirectPlayProfiles>
<CodecProfiles>
<VideoCodec name=“Hevc,vp9″>
<Limitations>
<UpperBound name=“video.width“ value=“3840″/>
<UpperBound name=“video.height“ value=“2176″/>
</Limitations>
</VideoCodec>
<VideoCodec name=“h264,mpeg4″>
<Limitations>
<UpperBound name=“video.width“ value=“1920″ isRequired=“true“/>
<UpperBound name=“video.height“ value=“1080″ isRequired=“true“/>
<UpperBound name=“video.bitrate“ value=“18000″/>
</Limitations>
</VideoCodec>
</CodecProfiles>
</Client>

Ich habe mir eine Kopie der alten .xml gemacht und die neue Konfiguration hineinkopiert. Danach Plex einmal neu starten und man kann über den Browser die 4K Videos an den Chromecast streamen und das ohne Transcodierung 🙂 ENDLICH!

[twoclick_buttons]