h.264, full-HD, was sollte die 7080 schaffen ?

  • Liebe Leute,


    war jetzt länger nicht mehr hier. Und zwar weil meine 7080 anstandslos arbeitet und ich nach wie vor viel Freude mit ihr habe. :) Bis heute ... :/


    Vor kurzem ließ ich wieder mal einen Sendersuchlauf laufen. Dann habe ich das Gefundene so durchgeblättert und siehe da, einige wenige Kanäle, die es vorher nur in SD gab gibt es jetzt plötzlich auch in HD. (Empfang hier über UPC Kabel. Das "kleinste" Paket mit den wenigsten HD Kanälen). Die Freude war groß, einige Serien kann ich jetzt in problemlos HD schauen. (Eigentlich nur in 1080i, weil mehr kann mein Fernseher nicht, ist aber trotzdem deutlich besser als SD. Aufnehmen und wiedergeben natürlich auch.


    Nun nehme ich seit langem einige Serien auf. Kopiere den .ts dann auf den PC hinüber (schneide die Werbungen raus :P ) Lass das Ganze dann noch auf h.264 umrechnen und in ein mkv packen und speichere es am PC ab.


    So weit alles bestens.


    Nun fällt mir jetzt bei meiner üblichen Verarbeitung auf, dass 2 dieser "neuen" HD Kanäle doch tatsächlich in 1920x1080 senden. (Alle anderen HD Kanäle die ich vorher schon hatte, liefern üblicherweise in 1280x720). Also noch eine freudige Überraschung. Auch wenn mein Fernseher nur 1080i wiedergeben kann, zumindest meine Aufnahmen-Sammlung wächst nun in 1080p weiter und irgendwann wird's ja wahrscheinlich auch ein neuer Fernseher werden.


    Die schlechte Überraschung kommt, als ich mir eines dieser "neuen" von mir produzierten mkvs nun anschauen will. Kaum bewegt sich etwas im Bild ein wenig schneller, gibt's jede Menge Artefakte. Irgendwer kommt da mit dem Rechenaufwand nicht zu Rande...


    Ich habe es ein wenig eingegrenzt:

    • die mkv Datei zuerst auf die 7080-HD hinüber kopiert und dann von dort wiedergegeben. Selber Effekt. Am LAN liegt's also nicht.
    • die Wiedergabe gestartet und über das Web-Interface einen screenshot gemacht. Auch im screenshot jede Menge Artefakte. Die Artefakte entstehen also scheinbar nicht erst im Fernseher sondern schon in der 7080
    • Der ursprünglich aufgenommene .ts wird fehlerfrei wiedergegeben. Es liegt also scheinbar an dem von mir encodierten h.264

    Daraufhin habe ich ein wenig mit den h.264 encoder optionen experimentiert. Erkenntnis:

    • Im baseline Profil encodiertes gibt die 7080 wieder, mit jeder menge Artefakten
    • Nehme ich das "main" profil läuft die Wiedergabe ca. 4-5 Sekunden (auch mit Artefakten), dann friert das Bild ein. Ton läuft weiter).
    • Nehme ich das "high" Profil, läuft die Wiedergabe noch kürzer (1-2 Sekunden) als bei "main", dann friert das Bild ein
    • Ob ich mit VBR oder CRF encodiere macht scheinbar keinen Unterschied
    • Ich kann auch beim Encoder ein Hakerl bei "fast decode" setzen, für rechenschwächere CPUs bei der Wiedergabe. Ebenfalls kein Unterschied ob mit oder ohne Hakerl.

    Daher frage ich mich, und Euch, was die 7080 eigentlich "theoretisch" schaffen müsste. Ich war immer der Meinung, full-HD, also 1920x1080, in h.264 gehalten, sollte problemlos gehen.


    Oder könnte das Problem vielleicht doch "indirekt" an meinem Fernseher liegen? Weil die 7080 "zweimal" rechnen muss. Zuerst h.264 decodieren und das Ergebnis dann von 1080p auf 1080i hinunter skalieren?


    Kann mich jemand von Euch erleuchten?


    Grüße,
    Norbert

  • Hallo Swiss-MAD,


    zuerst mal Danke für Deine rasche Antwort!


    Ja, am PC läuft die mkv ohne Artefakte und auch ohne sonstige Probleme. Das Wiedergabe-Fenster öffnet sich wie erwartet in der Größe 1920x1080. Ich habe es also auch nicht versehentlich unbemerkt auf "noch größer" encodiert.


    Ja, ich weiß dass der TS bei HD Sendern h264 enthält. Aber das Schneiden ist halt am PC um so vieles komfortabler als auf der Dreambox. Und beim recodieren kann ich dann immer noch kleine Veränderungen machen. z.B. die Dateigröße ein wenig ändern. Oder bei anderen Sendern das Bildformat, Oder, oder...


    Was mir einfach komisch erscheint ist, dass die 7080 full-HD nur mit Artefakten wiedergibt, wenn die Datei von mir encodiert wurde. Da wüsste ich einfach gerne woran das liegt.
    Weiß jemand von Euch wo für die 7080 das Limit bei der video-bitrate so ungefähr liegt?

  • Remuxe mal ein mkv nach mp4 und teste erneut ggf. liegts nämlich nur am Container.
    Ansonsten sind es falsch gewählte Encodersettings man kann nicht beliebige Einstellungen wählen weil die STB SoCs da gewisse Einschränkungen haben, die Bitrate wird es eher nicht sein.

  • komisch : bei den fraglichen mkvs meint der PC, die Bitrate liegt so um die 20 MB/s


    dhwz : habe ein fragliches mkv auf ein mp4 remuxt. Es macht keinen Unterschied. Das selbe Meer von Artefakten, kaum dass sich im Bild "mehr bewegt".


    Ich habe bei der remuxerei zufällig etwas entdeckt:


    Zum codiueren verwendet das Programm den "Mpeg4 AVC (x264)" encoder. Dieser hat eine riesige Menge an Parametern. Unter Anderem gibt es einen Parameter für die Codiergeschwindigkeit ("Preset": veryslow, slow, medium, fast, usw...). Niedrigere Codiergeschwindigkeit ergibt längere Codierdauer aber kleinere Dateigröße. Ich habe grundsätzlich immer veryslow verwendet, weil es mir egal ist ob der PC über Nacht 8 stunden an einem Film codiert. Wenn ich diesen Parameter hinaufdrehe, ich hab mal medium probiert, dann sind die Artefakte verschwunden. Offenbar schafft der SoC bei Full-HD besonders hohe x264 Kompressionen nicht mehr in Echtzeit rückzurechnen.


    BTW, kann mir jemand von Euch ein tool nennen (hier nur Linux vorhanden !), mit dem man in container (mp4, mkv, ...) "hineinschauen" kann und die diversen container-, videocodec-, audiocodec-, usw.. Parameter sieht, mit denen die Datei erstellt wurde?

  • handbrake zeigt kaum etwas. z.B. Gerade mal "1920x1080, 16:9, 25FPS, 3 Spuren, 3 Audio tracks, 0 subtitle tracks"


    Ich wüsste gerne, z.B. mit welchem h264 profil wurde codiert (baseline, main, high, ...), usw. usw
    Einfach, was der container genau enthält ...

  • mediainfo > https://mediaarea.net/en/MediaInfo


    Nachtrag :


    Ich würde das file auf der Box mit Merlin-Remuxer in mkv wandeln, da gleich Anfang und Ende beschneiden.
    Dann auf PC mit Linux mit AVIDemux noch die Werbung rausschneiden.Das könnte man auch gleich auf der DM7080 machen wenn man das Recordverzeichnis auf dem Linux-PC als NFS-Laufwerk mountet.


    Fertig :)

    *****************************************************************************


    ('''... Gruß Ketschuss ...''')
    DM920uHD, DM900uHD, DmONE
    Team-Member Project Merlin - we are opensource

    Edited 2 times, last by ketschuss: nachtrag ().

  • mkv´s erstelle ich damit (die Zeile habe ich irgendwo aus dem Internet)

    Code
    1. ffmpeg.exe -i infile.ts -map 0:v:0 -map 0:a:0 -c:a:0 ac3 -crf 23 -qmax 69 -c:v libx264 outfile.mkv


    crf ist für die Qualität zuständig, je grösser crf desto ist die Qualität schlechter (mkv´s aber kleiner)

  • 20MB/s für HDTV ist etwas viel würde ich sagen. Aber das wird kaum das Problem sein, da hat dhwz recht.

  • die Bitrate liegt so um die 20 MB/s

    Ich halte es immer noch für sehr fragwürdig, eine Aufnahme die je nach Sender so um die 7 - 15 Mb/s auf 20Mb/s rauf zu rechnen.
    Das Bild kann beim recodieren ja nur schlechter werden, und zudem werden die Files auch noch grösser als nötig.


    Wieso also nicht einfach lassen wie es ist, nur zurecht schneiden (egal ob an der Dreambox oder PC) und z.b. in ein mkv packen ?
    Funktioniert anschliessend garantiert, maximal mögliche Bildqualität, keine vergrösserten Dateien, und geht sehr schnell.


    Alles andere ist doch nur nach dem Motto "wieso einfach wenn es auch kompliziert geht" :D
    Einziger Grund zum recodieren sehe ich nur wenn man unbedingt Platz sparen will und es nach HEVC (H.265) rechnet. Das dauert aber dann auf dem PC noch länger. :sleeping:


    Aber das ist ja auch nur meine persönliche Meinung, du darfst natürlich damit anstellen was du möchtest. ;)

    >> Wir Schweizer haben die Uhren, aber keine Zeit ! <<

  • Hallo swiss-MAD!


    prinzipiell hast Du recht. Ich recodiere aber nicht damit die Dateien größer werden sondern damit sie kleiner werden.


    Die .ts Datei hat bei einem 90 Minuten Film meist so +/- 6 GB. Diese drücke ich ein wenig in der Größe runter.
    Dass die Bildqualität durch recodieren nur schlechter, aber niemals besser werden kann ist völlig klar.


    Aber die ursprüngliche Fragestellung dieser Diskussion war ja eine völlig andere. Nämlich wieso die 7080 eine full-HD Datei nur mit reichlich Artefakten wiedergeben kann wo sie doch "eigentlich" full-HD beherrschen müsste. Das hat mich gewundert....

  • Die Datei wird aber nicht kleiner wenn du die Bitrate erhöhst.
    Alleine wenn du schon das .ts in einen MKV Container packst, wird die Datei kleiner. Weil da schon mal Teletext, und den ganzen .ts overhaed raus fliegt.
    Fülldaten könnte man auch noch entfernen.


    Um auf deine Frage zurück zu kommen, wie dhwz schon schrieb. All zu exotische Einstellungen beim remuxen kann der SoC dann wohl nicht mehr bearbeiten.
    Liegt alles im üblichen Rahmen, klappt das eigentlich immer ganz problemlos. Ich habe schon massenhaft .mkv in HD abgespielt und das hat immer funktioniert.

    >> Wir Schweizer haben die Uhren, aber keine Zeit ! <<