Der x265-Encoder entwickelt sich...

  • Wenn ich mich recht erinnere, hat es etwas mit dem Unterschied zwischen Darstellungs- und Decodier-Reihenfolge zu tun, wo genau eine offene GOP beginnt.

    Illustrierende Grafiken: AX-Comp / Apple

    Bei einer geschlossenen GOP ist es relativ eindeutig: Aus der vorherigen GOP gibt es keine B-Frames, die Bezug auf das I-Frame der aktuell betrachteten GOP nehmen, mit dem die Decodierung dort beginnen kann; dazu wird die geschlossene GOP beispielsweise mit einem P-Frame abgeschlossen. GOP-Grenzen sind scharf definiert. Man kann den Videostream an GOP-Grenzen ohne Sorgen schneiden, sowohl Anfang als auch Ende sind sicher.

    Eine offene GOP aber hat am Ende B-Frames, die zukünftigen Bezug auf das nächste I-Frame nehmen. Dazu muss also das I-Frame der nächsten GOP bereits decodiert worden sein, bevor noch die B-Frames der eigentlich letzten GOP dargestellt werden können. Die GOP-Grenzen werden hierbei also logisch etwas aufgeweicht. Zählen nun die B-Frames, die sich vorwärts auf das I-Frame beziehen, logisch zur aktuellen GOP, dann muss der Decoder hier schon um diese Anzahl B-Frames in den Strom hinein decodieren, wenn er "den Anfang dieser GOP" statt "das I-Frame" als Sprungziel ansieht.

  • Jo, dann hast Du vielleicht 3 B-Frames am Ende einer z.B. 120 Frame-GOP, die Daten aus dem nächsten (einem!) I-Frame benötigen. Die Chance genau dahin zu seeken ist also 3:117. Schlimmstenfalls mußt Du einen einzigen (I-)Frame zusätzlich dekodieren. Wobei zusätzlich auch nicht wirklich stimmt, da wäre sonst halt ein P-Frame. Wodurch soll da nun die Seekgeschwindigkeit merklich sinken?

    Einmal editiert, zuletzt von sneaker2 (26. November 2015 um 17:05)

  • grummel hab momentan das Problem, dass wenn ich 2pass Encoding in Kombination mit '--pme' verwende es immer zu einem Crash kommt. :(

    Zitat

    Wodurch soll da nun die Seekgeschwindigkeit merklich sinken?


    Kommt auf die Decoder an, zumindest als HEVC noch neuer war hatten einige Decoder Probleme damit, weshalb ich in Hybrid standardmäßig open gop deaktiviert habe. :)

  • Ok, Fehler mag ich nicht ausschließen. Insbesondere mp4box macht bekanntlich in einigen Playern Probleme (im Gegensatz zu L-Smash). Bei der Frage, was genau richtig ist, scheint man sich nicht einig zu sein. Die MP4-Spezifikation ist auch leider nur käuflich zu erwerben und Open-Gop in MP4 war schon immer ein Thema für sich. Zumindest LAV scheint keine Probleme zu haben, egal welche Variante man nimmt. Langsameres Seeken ergibt sich dann nur aus dem generell langsameren Decoder.

    Einmal editiert, zuletzt von sneaker2 (8. Dezember 2015 um 08:00)

  • Ich hab mal mit den L-Smash-Entwicklern gesprochen. Die haben sich das nochmal angeschaut und sagen, daß es derzeit ein Problem mit der MP4-Spezifikation in Sachen HEVC und Open-GOP gibt, was dazu führt, daß man die nächste Revision der Spezifikation abwarten sollte. Die Empfehlung wäre also tatsächlich, vorerst --no-open-gop zu verwenden, solange mp4 das Ziel ist. Zumindest L-Smash muxt derzeit falsch (nach vermuteter zukünftiger Spez.), womit ironischerweise aber alle Player gut zurechtkommen. Ob mp4box geändert werden muß, weiß ich nicht - möglicherweise nicht, auch wenn Player Probleme haben.
    Schon schräg, daß die das schon wieder verbockt haben. Bei AVC gab es damals auch Probleme.

  • Habe jetzt auch mal ein paar Testversuche gemacht und bekam diese Warnung bei Staxrip:

    log:
    x265 [warning]: Specifying a decoder level with constant rate factor rate-control requires
    x265 [warning]: enabling VBV with vbv-bufsize=20000kb vbv-maxrate=20000kbps. VBV outputs are non-deterministic!

    woran kann das liegen?

    Mit BDtoAVCHD bekam ich diese wiederum nicht.

    Danke für eine eventuelle Info.

  • :welcome:

    Entschuldige das späte Freischalten, bekomme darüber leider keine Nachricht; wieso hat hier unser Anti-Spam-Plugin überhaupt zugeschlagen? Weder Links noch Bilder zu sehen...

    Wenn du was testest, dann brauchen wir möglichst die komplette generierte Kommandozeile mit allen Parametern. Anscheinend hat StaxRip hier sowohl Profile@Level als auch CRF eingebaut, aber nicht gleichzeitig die dazu passenden VBV-Parameter übergeben. Nun ja, das ist nur eine "Warnung". Am PC wird das Ergebnis schon abspielbar sein. Nur Consumer-Player könnten da empfindlicher reagieren.
    __

    ^ davon unabhängig:

    :wall: Sie haben es getan. Sie reiten tote Pferde. Und wundern sich, dass sie liegenbleiben.

  • Version 1.9 wurde als neuer Meilenstein veröffentlicht.

    x265 1.9+3-548a45bbf223
    __

    Mittlerweile berichtet auch Fefe über x265. :sly: Er findet, x265 ist mittlerweile schnell genug für praktische Nutzung.

  • Mal ne Frage wie muss ich unten stehendes ändern um eine bestimmte Version von x265 zu bauen?

    Code
    # libx265
    cd ${CMPL} 
    hg clone https://bitbucket.org/multicoreware/x265
    cd x265/source
    cmake -DCMAKE_INSTALL_PREFIX:PATH=${TARGET} -DENABLE_SHARED=NO .
    make -j 4 && make install

    Habe das nun unschön gemacht indem ich die source manuell ausgetauscht habe, das hat aber zu Folge das x65 ohne Versionsinfo gebaut wird..


    Grüße
    Massaguna

     MacBookPro 15" 2017 | 4 x 3,1 Ghz | 16 GB Ram | 1TB SSD NVME |

  • man 1 hg als HTML

    Für den Befehl "clone" gibt es u.a. die Option -u (--updaterev), mit der man direkt eine Revision mit einem Tag (z.B. "1.8" und "1.9") oder einem Patch-Hash frisch herunterladen kann. Wenn du relativ zu einem bereits vorhandenen Stand die Quellen laden willst, dann verwende z.B. den Befehl "update" statt "clone".

  • Kann es sein das sich die "Qualitätsstufen" bei CRF mal wieder geändert haben (gegenüber ver. 1.8)
    Ich habe die ganze Zeit mit CRF 22 gearbeitet was plötzlich weit größere Files produziert ...

  • Also ich bekomme das nicht hin eine bestimmte Version zu bauen...

    Code
    Mac-Pro:compile Massaguana$ cd ${CMPL}
    Mac-Pro:compile Massaguana$ hg update -r 1.8 https://bitbucket.org/multicoreware/x265
    abort: no repository found in '/Volumes/Ramdisk/compile' (.hg not found)!
    Mac-Pro:compile Massaguana$ hg clone -r 72005f2c0acda56913c0eae4562dc5ad https://bitbucket.org/multicoreware/x265
    warning: bitbucket.org certificate with fingerprint 46:de:34:e7:9b:18:cd:7f:ae:fd:8b:e3:bc:f4:1a:5e:38:d7:ac:24 not verified (check hostfingerprints or web.cacerts config setting)
    destination directory: x265
    abort: unknown revision '72005f2c0acda56913c0eae4562dc5ad'!
    Mac-Pro:compile Massaguana$

     MacBookPro 15" 2017 | 4 x 3,1 Ghz | 16 GB Ram | 1TB SSD NVME |

Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!