Multithreading und Zufallbilder speichern zusammen funktioniert nicht (SGM + Megui)

  • Hallo,
    wenn ich in Sagaras Scriptmaker einstelle, dass es beim encodieren Zufallsbilder speichern soll und Multithreadin anhake, passiert beim encodieren mit Megui nichts, das encodieren bliebt bei 0%. Multithreading alleine und Zufallsbilder alleine funktionieren.
    Muss ich bei multithreading irgendwas anders einstellen oder so? hab es so eingestellt:


    Sourcen 3 Threads 2
    Trim 2


    Liebe Grüße

  • An der Stelle wo Trim mit Mode 2 laufen soll erfolgt im Nachhinein die Erzeugung der Zufallsbilder. Und die Zufallsbilder werden unter anderem via einem Overlay Filter vertuscht. Und Overlay verträgt kein Mode 2.


    Probiere es mit Mode 3 oder 4, dann sollte es laufen.

  • Mit 3 und 4 bei Trim Mode bleibt es trotzdem bei 0%


    Mit mode 3 erstellt er wenigstens 5 Bilder in dem festgelegtem Ordner, aber dann passiert auch nichts mehr

  • Wenn das nicht mit MT läuft, dann musst du halt MT abschalten


    Multithreading ist an sich sehr Unstabil bei einigen Filtern.



    Kompromiss:
    Speichere ein Skript wo das mit den Zufallsbildern aktiv ist und MT aus und cutte das Skript im SSM auf die Framelänge dessen Anzahl an Bildern du angegeben hast. Weil länger muss es nicht sein. Und dann aktivierst du die Vorschau über VirtualDub. Und dann gehst du in VirtualDub unter Video -> Scan video stream for errors ...
    Damit fragt er nun das gesamte Video ab Frame für Frame, während das das Skript auch Frame für Frame arbeitet und somit nun die Zufallsbilder erstellt.


    Und dann speicherst du ein Skript mit SSM wo das mit den Zufallsbildern deaktiviert ist und MT an. Und das kannst du dann für MeGUI nutzen.
    Dann hängt er sich nicht daran auf.



    Beides kannst du parallel nebeneinander machen.

  • Macht es was an der Qualität aus, wenn ich MT abschalte, oder ist das nur für den Encodeprozess wichtig?


    Wenn ich das Video cutte, dann krieg ich ja nur die Bilder aus dem gecutteten Bereich und nicht aus dem ganzen video zufällig oder?


    EDIT: Nur zufallsbilder anhaken, dann Auf Vorschau und auf play klicken, dann speichert er aus dem gesamten Video 30 zufallsbilder, so wie ich es wollte :) Man muss also nicht extra auf Stream for errors. Danke, klappt also so wie ich es will :)


    Andere Frage: Wieso gibt es in VDUB 2 Play Tasten, eine mit einer 1 und eine mit einer 0?

  • Andere Frage: Wieso gibt es in VDUB 2 Play Tasten, eine mit einer 1 und eine mit einer 0?

    Einmal für den Input Plane und einmal für den Output Plane.


    Du selbst siehst aber nur den Input Plane. Der Output Plane wird via SSM automatisch abgeschaltet, damit nicht unnötig 2 Videos dargestellt werden müssen.


    Beide Planes kannst du unter View -> Pane layout -> both plane aktivieren.


    Und dann machen die 2 Tasten schon mehr Sinn. Einer für den Input Plane und einer für den Output Plane.


    Wenn du die Maus mal auf die Tasten drüber hältst, bekommst du sogar eine Hilfe angezeigt. ^^

  • Andere Frage: Wieso gibt es in VDUB 2 Play Tasten, eine mit einer 1 und eine mit einer 0?

    Input und Outputwiedergabe. Letzteres wären dann auch etwaige Filter etc sichtbar (hat vdub ja auch sowas).


    Zu den Zufallsbildern noch einen Hinweis: Die sind nicht 100% random, sondern fortlaufend random leider.


    Sprich du wirst nie das 1. bild aus dem ende des videos zb kriegen.



    sprich kein 90005, 8004, 25200 etc
    sondern immer 20, 5070, 20005, 50000 usw

  • was ja im ersten Moment nicht all zu tragisch klingt. Aber wenn man jetzt zb nur 3 Bilder generieren lässt, werden es immer Frames aus dem Anfangsbereich des Videos sein und niemals aus der Mitte oder so.
    So zumindest konnte ich das beobachten.

  • was ja im ersten Moment nicht all zu tragisch klingt. Aber wenn man jetzt zb nur 3 Bilder generieren lässt, werden es immer Frames aus dem Anfangsbereich des Videos sein und niemals aus der Mitte oder so.
    So zumindest konnte ich das beobachten.

    Jein. Also der arbeitet schon zufällig. Das Problem ist, da es kein Taktgeber gibt. Das heißt, wenn das Skript einmal durchläuft bekommt man immer den gleichen Start-Seed.


    Das heißt auf klar Deutsch: Er nimmt schon Zufällig aus dem Video irgendwelche Frames. Wird das Skript noch mal geöffnet und abgespielt auf irgendeine Weise, sind es dann leider die gleichen zufälligen Frames, da gleicher Seed.


    Wenn man das Skript mit VDub oder was weiß ich wieder zurückspult (Da wo die Bilder erzeugt werden (die ersten Frames des Skriptes)), dann verändert sich der Seed und du bekommst auch andere Frames gespeichert.


    Das Problem ist also wirklich das der Start Taktgeber zur Initialisierung eines anderen Seeds fehlt.


    Das hatte ich dir mal bei deiner Excel-Tabelle erklärt gehabt. Als Taktgeber haben wir in deinen Tabellen die Uhrzeit genommen gehabt, da diese sich bei jedem Neustart der Excel Tabelle entsprechend anders ist und somit jedesmal einen anderen Seed auswirft.


    Und das geht halt bei AVISynth nicht. Ich kann bei AVISynth kein Zufallsgenerator aktivieren, so das er die Uhrzeit nimmt. Einfach auch weil AVISynth dafür gar nicht vorgesehen war ^^


    Der Seed kann lediglich nur durch das Spulen des Videos geändert werden.

    Sprich du wirst nie das 1. bild aus dem ende des videos zb kriegen.



    sprich kein 90005, 8004, 25200 etc
    sondern immer 20, 5070, 20005, 50000 usw

    Bei der Funktion des SSM wird ersteres passieren, das was du verneint hast. ^^


    Der Start-Seed richtet sich nach der Länge des Videos.
    Sieht man auch im Skript entsprechend mit dieser Zeile:



    Code
    clip1 = ScriptClip(Trim(clip0a, 0, picnumber - 1), "Trim(clip0a, Rand(clip0a.framecount), -1)")

    Am Ende steht bei Rand (Randomize) die gesamte Clip Länge drin.


    Der AVSPmod nutzt für seine Review irgendein besonderen Taktgeber, denn genau dort entstehen immer unterschiedliche Bilder bei jedem Neuladen des Skriptes.

  • kann natürlich sein das ichs mit der blend.avsi oder so verwechsel. ka mehr.^^

    Bestimmt die Funktion SaveEveryPic


    Die speichert in gewissen Frame Abständen ein Bild. Das wäre nicht Zufällig, sondern hat ein Muster. Die Funktion wäre in der Blend.avsi enthalten.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!