Anbei Poste ich mal eine kleine Anleitung welche bei meinem Philips BDP schon das eine oder andere mal geholfen hat.
Chris
--------------
Manche h264 files können auf manchen derzeitigen HD playern nicht abgespielt werden, auch wenn diese player h264 fähig sind. Eine Ursache kann darin liegen, dass diese Files nach dem h264 profile Level High@5.1 codiert wurden (z.B. mit StaxRip), die player aber einen Chip enthalten, der h264 nur bis Level 4.1 unterstützt. Meistens koennen diese Files aber trotzdem abgespielt werden, wenn man im file header einfach die Level Information austauscht.
Dieser Austausch kann z.B. mit einem Hex-Editor (z.B. xvi32
http://www.heise.de/software/download/h ... xvi32/3138 ) erfolgen. Man sucht im File nach einem Byte mit dem Hexadezimalwert "33" (=51 dezimal) und tauscht es durch den Hexwert "29" (=41 dezimal) aus. Damit wird dem player vorgegaukelt, es handele sich um ein h264 file, das mit Level 4.1 anstatt 5.1 codiert wurde.
Natürlich kann in einem Video file ein Byte 33 nicht nur im Header, sondern auch irgendwo im Datenbereich auftauchen. Daher sollte man nach einer laengeren Bytefolge um die 33 herum suchen, um die Wahrscheinlichkeit zu minimieren, die falschen Bytes auszutauschen. Man sucht am besten nach der Bytefolge 61 76 63 43 01 (ASCII: "avcC "), die kurz vor dem entsprechenden Byte 33 stehen muss.
Bei meinen mit StaxRip erzeugten mp4 files muss man beispielsweise immer die Folge 61 76 63 43 01 64 00 33 gegen die Folge 61 76 63 43 01 64 00 29 austauschen, die ziemlich nah am Anfang des Files steht (Adresse Hex 205).
Der Patchvorgang lässt sich auf einfache Weise automatisieren. Man braucht dazu nur das Tool "Swiss File Knife" sfk (z.B.
https://sourceforge.net/project/showfil ... _id=556019 ). Im Internet gibt es gute Anleitungen zu diesem Tool. Hier moechte ich nur das Beispiel für meine mit StaxRip erzeugten mp4 files geben. Die Kommandozeile
sfk143.exe rep -binary /6176634301640033/6176634301640029/ -dir . -file .mp4 -yes
ersetzt in allen .mp4 Files im aktuellen Directory die oben angegebene Bytefolge mit der 33 durch eine solche mit der 29. Lässt man das letzte Argument "-yes" weg, wird diese Aktion nur simuliert, sodass man sehen kann was ersetzt würde. Aber auch wenn es ok aussieht, sollte man die Ersetzung besser nur auf Kopien der Originalfiles durchführen.
------------