Matroska Headercompression vs. WDTV

Seit geraumer Zeit bin ich Besitzer eines oder einer WDTV Live. Das Gerät steht unter meinem Fernseher und dient nur dem Zweck Filme die auf dem NAS abgelegt sind auf meinem Fernseher abzuspielen. Das Gerät kommt mit so ziemlich allen Formaten klar – abgesehen von manchen Mkv Dateien. Nach kurzer Recherche stand fest, dass dies mit der Headercompression zusammenhängt, doch was hat es damit auf sich?

Matroska ist ein Containerformat, das heißt in einem Matroska Container liegen die eigentlichen Dateien wie Audio und Videospuren, Untertitel usw. Im Header des Containers wird beschrieben welche Dateien enthalten sind und von welchem Typ sie sind. Die Matroskaspezifikation besagt, daß dieser Header auch komprimiert werden kann. Leider ist dieses Feature in den meisten Hardwareplayern anscheinend nicht implementiert obwohl die Spezifikation schon recht alt ist. Das war nie ein Problem bis sich Matroska entschloss die Headercompression standardmäßig in der aktuellen Version ihrer Tools zu aktivieren. Wenn man nun vergisst beim Mergen das entsprechende Flag zu setzen oder ein Mkv File von einem Bekannten bekommt, der solche Sorgen sieht man nur einen schwarzen Bildschirm.

Abhilfe schafft bei mir dieses kleine Bashscript. Die Mkv Tools müssen installiert sein. Die paar Zeilen machen nichts anderes als eine Prüfung auf Headerkomprimierung und ggfs. den Container ohne Kompression nochmal zu mergen. Das kann erfahrungsgemäß ein wenig dauern:

#!/bin/bash

function hascompression()
{
en=’Algorithm: 3 (header removal)‘
de=’Algorithmus: 3 (Entfernen von Kopfdaten)‘
mkvinfo $1 | grep -e „$en“ -e „$de“ &>/dev/null
ret=$?
if [ $ret -eq 0 ]
then
echo „komprimierte Header in $1“
return 0
else
echo „nichts komprimiertes gefunden in $1“
return 1
fi
}
#function
function removecompression()
{
hascompression $1

if [ $? -eq 0 ]
then

mv $1 $1.bak
mkvmerge -o „$1“ –engage keep_bitstream_ar_info -A -S –compression -1:none „$1.bak“ -D -S –compression -1:none „$1.bak“ -A -D –compression -1:none „$1.bak“
rm $1.bak
echo fukr
fi

}
#function

onlyinfo=false
while getopts ‚:i‘ OPTION; do
case „$OPTION“ in
i) onlyinfo=true && shift;;
*) echo „Unbekannter Parameter“

esac
done

for ARG in $@
do
if [ -f $ARG ]
then
if [ $onlyinfo == true ]
then
hascompression $ARG
else

removecompression $ARG
fi
else
echo $ARG isn’t a file
fi

done

WordPress versaut leider die Einrückungen aber ein ordentlichen Texteditor sollte das wieder zurechtrücken. 🙂

Matthias hat sich die Mühe gemacht und ein Applescript erstellt um dem Matroska Container auch unter MacOS die Komprimierung zu rauben:

on open someDroppedAliases
set theAlias to first item of someDroppedAliases
tell application „Finder“
set filename to name of theAlias
set ParentFolder to container of theAlias
set the item_count to the number of items in the ParentFolder
set parentFolderAlias to ParentFolder as alias
end tell
set parentFolderPath to POSIX path of parentFolderAlias
set ausgabe to do shell script „mkvinfo “ & quoted form of POSIX path of someDroppedAliases
if ausgabe contains „Content compression“ then

do shell script „mkvmerge -o “ & quoted form of parentFolderPath & „clean_“ & quoted form of filename & “ –compression 1:none “ & quoted form of POSIX path of someDroppedAliases

tell application „GrowlHelperApp“
set the allNotificationsList to ¬
{„Reparieren“}

set the defaultNotificationsList to ¬
{„Reparieren“}

register as application ¬
„Growl AppleScript Sample“ all notifications allNotificationsList ¬
default notifications defaultNotificationsList ¬
icon of application „Mkvtoolnix“

— Send a Notification…
notify with name ¬
„Reparieren“ title ¬
filename description ¬
„Kompression erfolgreich entfernt.“ application name „Growl AppleScript Sample“
end tell
else
tell application „GrowlHelperApp“
set the allNotificationsList to ¬
{„Nichts zu reparieren“}

set the defaultNotificationsList to ¬
{„Nichts zu reparieren“}

register as application ¬
„Growl AppleScript Sample“ all notifications allNotificationsList ¬
default notifications defaultNotificationsList ¬
icon of application „Mkvtoolnix“

— Send a Notification…
notify with name ¬
„Nichts zu reparieren“ title ¬
filename description ¬
„Keine Kompression vorhanden“ application name „Growl AppleScript Sample“
end tell
end if
end open

Hf^^

Ein wenig Heimkino

TV
Attribution-NonCommercial-NoDerivs License by Melissa Segal

Es scheint schier unmöglich Produktvorstellungen von Apple zu verpassen.Ungefähr zwei-, dreimal im Jahr steht Steve Jobs auf einer Bühne und zieht neue IPods, Phones oder Pads aus seiner Hose und so ziemlich jede Nachrichtenseite berichtet darüber. Bemerkenswert fand ich bei der aktuellen Vorstellung das überarbeitete Apple TV. Bei dem Gerät handelt es sich um eine sogenannte Set-Top-Box. Sinn und Zweck des Teils ist das Abspielen von Musik und vor allem bewegten Bildern. Das Gerät kommt ohne Lüfter und Festplatte aus. Sehr lobenswert ist das integrierte Netzteil. Der Preis ist mit 120€ auch mehr als OK. Leider kann das Gerät kein Full HD abspielen. Die Wiedergabe von Medien aus dem eigenen Netzwerk scheint nur via Airplay zu funktionieren. Die eigentliche Bestimmung des Geräts ist es glaube ich in Online Stores Medien zu erwerben oder zu mieten.

Auch wenn das Gerät nichts für mich ist, hat es mich dazu gebracht mir mal wieder Gedanken über mein Home Entertainment zu machen. Momentan sieht es bei mir so aus was den Datentransfer betrifft. Das Bild soll keine Netzwerk Topologie darstellen.

so siehts aus

Herzstück meines Systems ist mein Slug, ein kleiner Server der mir als NAS und Printserver dient. Das Teil ist nicht wirklich schnell, dafür funktioniert es tadellos. Um den Punkt Unterhaltung kümmert sich meine Nintendo Konsole mit Homebrew. Klingt merkwürdig, klappt aber ausgezeichnet. Mit dem Programm WiiMC „konsumiere“ ich Bilder, Musik und Filme, die auf meinem Slug liegen. Die Steuerung mit der Wii Fernbedienung ist ausgezeichnet. Man zeigt einfach auf den Bildschirm und wählt aus, was man sehen will. Einfacher geht es wirklich nicht. Leider hat die Wii keinen HDMI Ausgang. Darum bleibt mir der Konsum von HD Material verwehrt.

Da es inzwischen eine große Auswahl an HD Filmen gibt, will ich hier mal ein kleines Update machen. Ein PC unter dem Fernseher kommt für mich nicht in Frage und auf meiner X-Box kann ich leider kein Homebrew Zeug installieren . Abgesehen davon ist die 360 auch viel zu laut. Ein neues Gerät muß also her.

Ideal wäre eine Wii mit HD Ausgang. Leider wird es noch einige Jahre dauern, bis es sowas gibt. Ich brauche ein Gerät, das

  • Full HD wiedergeben kann
  • entsprechend einen VGA, DVI oder HDMI Ausgang hat
  • eine Netzwerkkarte oder WLAN Apdater besitzt
  • einigermaßen leise ist
  • 3,5mm Klinken oder Chinch Ausgang hat

Ein Laufwerk benötige ich nicht, da ich nur Sachen aus dem Netzwerk  anschaue und höre. Richtig cool wäre es, wenn man eine Linux Distribution darauf installieren kann. Damit wäre ich unabhängig von Firmware Updates des Herstellers und hätte das gute Gefühl ein weiteres Gerät mit ordentlichem Betriebssystem in meinem Haushalt zu haben.

Vor geraumer Zeit hatte ich schon einmal nach einer eierlegenden Wollmilchsau gesucht und sie nicht gefunden.

Das WD TV Live von der Firma Western Digital kommt meinen Wünschen noch am nächsten. Ich habe zwar schon recht viel Gemecker über die Firmware gehört und das WD bei der Pflege ein wenig faul ist, aber die von B-Rad angebotene Custom Firmware soll sehr gut sein.

Ich mach mich jetzt noch ein wenig schlau und bestell mir dann so ein tolles Gerät.

Wie konsumiert Ihr zuhause Filme? Habt Ihr ein ähnliches Gerät, vielleicht sogar das Gleiche oder funktioniert das bei Euch ganz anders?

Nachtrag

Ich hab gerade den Player von WD bestellt.. Wenn die Kiste da ist werde ich ein wenig damit spielen und an prominenter Stelle darüber berichten :).