CCE langsam + avisynth Vorschau

  • Hallo,

    ich benutze avisynth 2.52 und mein script sieht so aus:

    AviSource("G:\capture\Frasier 09x08 Besessen.AVI")
    Trim(476,28342) ++ Trim(39029,52010)
    SeparateFields()
    Weave()
    FieldDeinterlace()
    Convolution3D (0, 32, 128, 32, 128, 10, 0)

    Wenn ich mir jetzt das Video über die VirtualDubMod ansehe, laufen Bild und Ton extrem langsam.
    Der Ton fängt schon nach dem schneiden an zu knacksen und nachdem deinterlaced wurde hängt auch das Bild. Nach dem Rauschfilter geht allerdings gar nichts mehr.
    Da ich sowieso in YUY2 gecaptured habe, kann ich mir die convertToYUY2 Zeile sparen. Auch benutze ich die convolution3d_25.dll, die anscheinend nur mit YUY2 arbeitet. Wenn ich die convolution3dYV12 benutze und vorher in YV12 umwandele, sind die Farben extrem verschoben aber der Film läuft trotzdem nicht schneller.


    Mein zweites Problem ist CCE. Ich nehme CCe Sp 2.67. Darin hab ich alles so eingestellt wie im Guide, also auch MPEG-2 (ES, Multipass, VBR).
    Beim encoden hat er mir erstmal pass 1/1 angezeigt mit einer Dauer von 1:40:00. Damit hat er anscheinend die .vaf (10MB) Datei geschrieben.

    Danach zeigt mir CCE 1/3 pass mit einer Dauer von 06:10:00. Hier gab ich dann abgebrochen.
    Insgesamt also knapp 8 Stunden um 30 Min Film zu encoden auf einem P4 2.66 Ghz?
    Was mache ich falsch?

    cheers
    Bake

  • Kein Wunder: AviSynth ist zuerst auf Qualität optimiert, und erst danach auf Geschwindigkeit. Wenn du dir einen Film anschauen willst, dann benutze DirectShow-Filter, aber keinen Frameserver!

    Am langsamsten ist der Convolution3D - hier werden die Videodaten so langsam geliefert, dass der schnelle MPEG2-Encoder auf sie warten muss. Dass es länger als erwartet dauert, ist also insofern normal; ob 6 Stunden bei dem Filter möglich sind, kann ich aber nicht aus eigener Erfahrung sagen...

    Grundsätzlich ist es übrigens immer empfehlenswert, bei der Video-Konvertierung nicht auch noch gleichzeitig das Audio zu konvertieren - so was sollte man getrennt tun.

  • arlsair
    danke für den Tip


    LigH
    Es liegt bei mir aber nicht unbedingt an avisynth. Wenn ich ein avi ganz ohne Filter und avisynth encode komme ich maximal auf realtime. CCE kommt zwar am anfang auf 2x, fällt dann aber wieder auf 0.9.
    Die Prozessorauslastung liegt nur bei 40%

  • Wieviel Speicher hast Du in Deinem System?

    Wenn meiner einer CCE auch nur startet, ohne dabei eine Datei zum bearbeiten auch nur aufzurufen, belegt es schon ca 250 MB RAM (hab' 512 MB drinne), und wenn dann das Bearbeiten losgeht, dann sind es ca. 400 MB.

    Könnte mir vorstellen, daß bei "ungenügendem" RAM-Ausbau der Rechner wie wild mit Lesen und Schreiben in der Auslagerungsdatei beschäftigt ist, die Daten zum Bearbeiten nicht schnell genug heranschaffen kann und so der Prozessor aufgrund Datenmangels eben nur Däumchen dreht.

    Leider habe ich CCE bislang nur mit 512 MB RAM benutzt, ist daher auch nur 'ne Vermutung.

  • Nur 40% Auslastung... Wir hatten mal Beiträge von Laptop-Nutzern, bei denen es nach und nach immer langsamer wurde, weil der Prozessor aufgrund Überhitzungsschutz seine Leistung gedrosselt hat.

  • Wie LigH schon sagt, liegen diese 6h an Convolution3d. Nehm den Filter mal raus und du wirdst sehen, dass sich die Zeit zum Encoden um mind. die Hälfte reduzieren wird.

    arlsair

    Zitat von arlsair


    Zitat:Original von Bake

    SeparateFields()
    Weave()

    Dies hat überhaupt keinen Zweck und kann weggelassen werden.


    Kannst du mir das näher erläutern, denn so stehst doch in dem Guide von Gleitz.

    MfG raschi


  • @ raschi:

    Dennoch ist eine Verlangsamung während der Encodierung ein Zeichen für Hardware-Drosselung. Oder wie materialabhängig ist Convolution3D - wird der bei mehr Bewegung/Details langsamer?

    Und zum "überflüssigen" Teil: Kann das damit zusammenhängen, dass danach noch ein FieldDeinterlace() folgt? Nur so als Idee, mit Deinterlacing hab ich's nicht so...

  • Wo kommt es denn zu einer Verlangsamung der Encodierzeit?

    Beschäftige mich noch nicht so lange mit AVISynth, kann so nur aus meiner Erfahrung sprechen, dass bei Benutzung von Convolution3d die Encodierzeit um das 2- bis 3-dreifache ansteigt.


    Den "überflüssigen" Teil hab ich mir soeben selbst beantwortet. Normalerweise müsste zwischen den beiden Befehlen noch eine Farbraumkonvertierung. Wenn also diese nicht vorhanden ist, sind die Befehle auch überflüssig.

    MfG raschi


  • Zitat von Bake

    Es liegt bei mir aber nicht unbedingt an avisynth. Wenn ich ein avi ganz ohne Filter und avisynth encode komme ich maximal auf realtime. CCE kommt zwar am anfang auf 2x, fällt dann aber wieder auf 0.9.
    Die Prozessorauslastung liegt nur bei 40%

    Das klingt also so, als ob der CCE anfangs Vollgas gibt und dann später auf die Bremse tritt...

  • Könnt mir vorstellen, dass das nur in der ersten Minute abläuft. Weiß nicht mehr ganz genau, aber hab mal testweise nen reinen Quicktimeclip (ohne Verwendung von nem Frameserver) umgewandelt und da ist die Geschwindigkeit auch erst ziemlich hoch gewesen und ist dann in den ersten 1-2min auf Normalniveau für meinen Rechner abgesackt.gesackt.

    MfG raschi


  • Das würde dann dafür plädieren, dass einige Filter recht materialabhängig sind (ähnlich dem VHQ-Modus im XviD-Codec): Solange noch alles schwarz ist, werden die Thresholds nicht erreicht, der Filter schaltet auf "Durchzug"; aber sobald etwas Bewegung in die Sache kommt, fängt er an zu rechnen.

  • Zitat von raschi

    arlsair
    Kannst du mir das näher erläutern, denn so stehst doch in dem Guide von Gleitz.

    Zitat von raschi

    Den "überflüssigen" Teil hab ich mir soeben selbst beantwortet. Normalerweise müsste zwischen den beiden Befehlen noch eine Farbraumkonvertierung. Wenn also diese nicht vorhanden ist, sind die Befehle auch überflüssig.


    Mit "SeparateFields()" werden die Frames in seine Felder aufgeteilt. Mit "Weave()" werden zwei Felder zu einem Frame zusammengesetzt.
    Normalerweise werden man dazwischen die Filter ausgeführt, damit man die Kamm-Artefakte nicht zerstört, wie sie bei Interlaced, Feldverschiebung und Telecine auftreten.
    Mit Farbraumkonvertierung hat das überhaupt nichts zu tun (welcher Guide).

    Von materialabhängigen Filtern in diesem Umfang habe ich selber nichts erlebt noch gehört.

    Gruß
    Arlsair

  • Intel hat ab Penntüte 4 diesen Überhitzungsschutz drin, der die CPU soweit Drosselt, daß die Temperatur unterhalb des Limits bleibt, und so selbst dann, wenn man den Kühler abreißt, nicht gegrillt wird.

    Und wenn ich mich recht entsinne, lastet gerade CCE die CPU ziemlich stark aus (liegt vielleicht daran, daß es von Leuten, die Ahnung haben, in Assembler geschrieben wurde). Daß Auslastung laut Taskmanager 100% beträgt, heißt noch nicht unbedingt viel, da dies auch denn der Fall ist, wenn nur auf Daten gewartet wird. (Is' wie mit den Beamten: Ist jeder Schreibtisch besetzt, wird von Vollbeschäftigung geredet, ohne daß auch nur jemand einen Handschlag tut. ;) ) Bei CCE wird dann wohl mehr gerechnet, als auf Daten gewartet, was auch erklärt, warum es so schnell ist. Und rechnen produziert mehr Wärme als Warten.

    Bei Overclockern ist z.B. Prime95 sehr beliebt, um die Stabilität eines übertakteten Systems auch unter Vollast zu testen, weil dieses Programm wohl auch so gut wie "alle Register zieht" und somit die CPU die max. thermische Leistung erreicht.

    Schau doch mal nach, ob Du mit irgendeinem Tool die Die-Temperatur der CPU auslesen kannst, wenn da was von >70 °C steht, wenn CCE mit 40% läuft, dann könnte das vielleicht die Erklärung sein.

  • Ah ja. Nun kann eine Möglichkeit gewesen sein, allerdings gibt seit AviSynth 2.5x den optionalen boolschen Parameter "interlaced". Wenn man interlaced Material hat, sollte man nun "ConvertToYUY2(interlaced=true)" anwenden.

    Gruß
    Arlsair

  • Daß die Geschw. Einbuße an irgendwelchen Filtern liegt, glaube ich nicht, denn die CPU ist ja nur zu 40% ausgelastet, zumindest, wenn man dem Taskmanager glauben schenkt.

Jetzt mitmachen!

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