Multi-Thread-Encodierung für XviD

  • Hallo zusammen,

    ich bin auf der suche nach einer möglichkeit XviD ecoding durch mehere CPU´s zu beschleunigen.

    Encoden tue ich mit Avisynth und Vitula Dub.

    Das diese Tools von Haus aus nur 1 CPU unterstützen weiß ich. Das man das auch nicht einfach ändern kann ist mir auch klar.

    Da ich aber mehrere CPu´s zu verfügung habe und auch über genügent Arbeitsspeicher verfüge würde ich einfach ein paar Filme gleichzeitig encoden. Das währe schon eine starke reduzierung der benötigten zeit.

    So lange ich kein Codec nutze der log Dateien anlegt klappt das auch wunderbar.
    Da kan ich dann einfach Virtual Dub mehrfach starten, und jeweils über die Job Control Arbeit verteilen. das Klappt wunderbar.

    Das Problem ist das 2 pass encoding bei dem der Codec *.stats datein anlegt in den ja die Infos über den 1 pass gespeichert werden.

    Ich nutze die Aktuelle XviD Beta, die super läuft.

    Das Problem ist das XviD diese Stats Datei immer an die gleiche stelle legt, somit ist die stats Datei immer von dem letzten encoding vorgang, die anderen vorangegangenen wurden einfach überschrieben.

    Leider hab ich auch keine möglichkeit gefunden XviD Dazu zu bringen alle Daten die es für ein encode benötig in ein bestimmtes verzeichnis zu schreiben. Wenn das ginge könnte ich encoden wie ich wollte.

    Ich kan zwar XviD sagen das er die stats immer in den aktuellen Orner legen soll, leider merkt sich XviD immer nur den letzten Ordner den ich in die Job Control rein tue.

    Das ende vom Lied ist das ich also die Jobs nicht auf mehere CPU´s verteilen kann.

    Kennt jemand von Euch eine lösung?


    cu


    Massaguana

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

  • Zitat von Massaguana

    Das Problem ist das XviD diese Stats Datei immer an die gleiche stelle legt, somit ist die stats Datei immer von dem letzten encoding vorgang, die anderen vorangegangenen wurden einfach überschrieben.

    Leider hab ich auch keine möglichkeit gefunden XviD Dazu zu bringen alle Daten die es für ein encode benötig in ein bestimmtes verzeichnis zu schreiben. Wenn das ginge könnte ich encoden wie ich wollte.

    Hä? Man kann doch den Ort angeben, wo die video.pass abgelegt wird. Sogar den Dateinamen kann man ändern. Musst halt nur beim 2nd pass die richtige angeben.

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Lese einmal bitte genau was ich geschrieben habe...


    Klar kann man den Pfad ändern sowie auch den Dateinamen.

    Allerdings Funktioniert das nur so lange man nicht die Job Contriol verwendet.
    Weil die einstellungen zum stats Pfad werden nicht in der Job Control gespeichert sondern in den einstellungen des Codecs.

    Wenn ich also ein job erstelle in dem ich den Pfad so eingestellt habe:

    f:\TNG\1x01\1x01.stats

    Und sas ganze dann in die Job Control tue.

    Und dann das nächste File einstelle auf den Pfad:

    f:\TNG\1x02\1x02.stats

    und das dann auch in die Job Control tue.

    Und dann das encoden Starte, dann landen alle stats Files in dem Ordner den ich als letztes eingestellt habe also f\TNG\1x02\

    Denn wie gesagt wird der Pfad nicht in der Job Control gespeichert.

    Klar was ich meine?


    cu


    Massaguana

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

  • Das ist aber sehr merkwürdig. Denn die Position der Statistikdatei gehört zu den Codec-Optionen, und die muss eigentlich von Job zu Job mit abgespeichert werden - in Zeilen mit dem Inhalt

    VirtualDub.video.SetCompData(Base64-encodierte Binärdaten...)

    in der Job-Datei. Zumindest tauchen diese Zeilen auch in *.vcf-Dateien auf, wenn man VirtualDub-Settings speichert (Strg+S).

  • nun ja ich habs mehrfach Probiert, er macht es nicht.

    ich habe in den Settings einfach nur der Dateinamen eingetragen.

    Somit sollte der Codec sich immer den Aktuellen Pfad raussuchen.


    cu


    Massaguana

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

  • Zitat von Massaguana

    Klar was ich meine?

    Nicht wirklich. Das liegt aber da dran, dass ich mich vorhin verlesen habe. Dachte du meinst die video.pass.

    Woher hast du eine .stats Datei?

    Edit: Man kann seine Posts auch "Ändern" ;)

    Edit2: Welche XviD-Version benutzt du?

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • stats und die video.pass ist ein und das selbe

    die Datei heißt video.pass

    Bezeichnet wird die aber als STATS, also zu Deutsch Statistik.


    Sorry wenn ich mich undeutlich ausdrücke


    cu


    Massaguna

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

  • Früher gab's beides ("external").

    Also bei mir werden die video.pass-Dateien im richtigen Verzeichnis gespeichert, auch bei mehreren Jobs (Anfang der Woche gemacht).

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • was genau trägst du denn in das fenster von Xvid ein?

    möglicherweise mach ich da was falsch

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

  • also wenn ich für jeden File den Pfad Manuell einstelle dann geht das bei mir auch.

    Praktischer währe es wenn Xvid das selbst machen würde.


    cu


    Massasguana

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

  • Na ich drücke auf "...", dann erscheint der "Speichern unter"-Dialog, ich navigiere in das gewünschte Verzeichnis und klick auf "Speichern" (Standardmäßig heißt die Datei "video.pass").

    Zu deinem Post von 19:13: Heißt das es geht jetzt? Falls ja, was war der Fehler?

    Edit: Was meinst du mit "manuell einstellen"?

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Vielleicht ist es ja sinnvoll, als Pfad die Angabe ".\video.pass" zu verwenden. Dann bedeutet der Anteil ".\" inhaltlich "im aktuellen Verzeichnis" - und das sollte hoffentlich jeweils das Verzeichnis sein, wo die AVI-Datei entsteht.
    __

    Ansonsten hast du's ja erfasst: Wenn du in jedem Projekt den vollständigen Pfad angeben möchtest, musst du auch den XviD-Codec "komplett" für den 1st- und 2nd-pass jeweils neu konfigurieren, kurz bevor du den jeweiligen Job hinzufügst.

  • der "Fehler" wahr das ich den Pfad zu der video.pass nicht manuell eingestellt habe sondern in das Fenster nur "video.pass" eingestellt habe.

    Normalerweise sollte Xvid nun den Pfad jedes mal anpassen, automatisch.


    cu


    Massaguana

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

  • also das

    .\video.pass

    habe ich schon Probiert, das Funktioniert nicht. Da ist dann der gleiche Efekt das nur das letzte gemerkt wird.


    cu


    Massaguana

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

  • Hm, ok. Absoluten Pfad angeben ist gesagt. Oder du probierst mal den Tipp von LigH.

    "sollte" als: nach deiner Meinungs, sollte XviD das können oder: das ist ein Bug?

    "Diejenigen, die grundlegende Freiheiten aufgeben würden, um geringe vorübergehende Sicherheit zu erkaufen, verdienen weder Freiheit noch Sicherheit."
    Benjamin Franklin (1706-1790)

    Meine Erfahrungen in der Open Source-Welt: blog.bugie.de

  • Es kann auch bedeutet:

    Solange XviD initialisiert wird, hängt das Programm immer noch im alten Verzeichnis - die AVI wird erst danach angelegt. ".\" hängt also immer etwas hinterher.

    Dann ist ein vollständiger Pfad wohl doch notwendig.

  • Es wird zeit das wo es nun vermehrt Multi CPU Rechner gibt das die Software angepasst wird.

    Am besten auch gleich 64 Bit fähig.

    Avisynth würde von mehreren CPU´s sehr Profitieren.

    Aber das dauert wohl noch ne weile bis die das hingebastelt bekommen.


    cu


    Massaguana

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

  • Tja, das sag ich schon seit einigen Jahren, es ist jedoch teilweise echt die Hölle zu versuchen (soweit sinnig und möglich) Code der für Single CPUs optimiert ist auch für Multiple CPUs zu optimieren,.. :)

    " Am besten auch gleich 64 Bit fähig."
    Da bräuchte es erstmal ein ordentliches 64Bit System, die Lösungen von Windows und Linux basieren momentan meist darauf, dass 32bit code gepached wurde um unter 64bit zu laufen,.. wirkliche Optimierungen findet man seltenst.

    Cu Selur

Jetzt mitmachen!

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