langsames Encodieren dank overlay?

  • Ich möchte mit folgendem Skript

    einen Ausschnitt des Originalvideos in das eigentlich Video einblenden. Das funktioniert soweit ganz gut, doch die Encodingrate geht voll in den Keller. Kodiere ich nur das gecropte Video ohne Overlay habe ich ca. 17fps, mit Overlay ca. 1fps.

    Kann man das Beschleunigen bzw. habe ich einen Fehler in meinem Skript?

    Im Anhang mal ein Bild von Original und gewünschtem Ergebnis.

  • Es liegt nicht am Overlay-Befehl als solchem. Es liegt an dem "trim(200,0)", in Verbindung mit dem Quellmaterial, das (vermutlich) in DivX/XviD o.ä. vorliegt. Avisynth muss ja "gleichzeitig" von dem Input-Material "jetzt" und "200 Frames später" auslesen. Da die I-Frames typischerweise hunderte von Frames auseinanderliegen können, ist es in dieser Form nicht möglich, beide Ströme linear bereitzustellen, es werden andauernd Frames out-of-order angefordert, also wird jedesmal aufs neue vom vorherigen Keyframe bis zur aktuellen Anforderung dekodiert, und so weiter.

    Kannst ja mal spaßeshalber das Video (oder einen Teil davon) mit einem reinen I-Frame Codec verlustlos kodieren (z.B. Huffyuv), und das Skript dann mal darauf loslassen. Die Geschwindigkeit wird sehr viel höher sein.


    Übrigens ist es recht sinnfrei, zuerst die Auflösung des Inputs zu verändern, und erst danach deblock_qed() aufzurufen. Das ist wie wenn Du vor Deiner Haustür den Schlüssel verlierst, und ihn dann unter einer fünfzig Meter entfernten Straßenlaterne suchst, weil dort das bessere Licht ist ...
    (Resize bevor Deblock heißt: den Deblocker böse zu verar***en. Zum Deblocken müssen alle 8x8-Päckchen auf einem 8x8-Raster ausgerichtet sein/bleiben, alles andere wäre Käse.)

  • Hallo Dideé, danke für deine Analyse, leuchtet ein. :ja:

    Deblock hatte ich nach dem resize eingesetzt um Rechenleistung zu sparen, werde ich dann mal korrigieren. :D

    mawi2006

    Intel Q9550@2500 MHz / Motherboard Name Asus P5N-VM WS / Grafikkarte NVIDIA Quattro FX470 / 4x2 GB 800 MHz / DVD-RAM DVR-216DBK / LiteOn IHas 322 / HDD: 500 GB HD502HJ / SSD: Solidata K5 64GB

Jetzt mitmachen!

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