viele kleine MPEG2 Dateien in einem Video

  • Das hab ich ja vor, indem ich das Video erst als utvideo AVI speichere und dann in MeGUI lade. Wenn der 32bit Quatsch keine Probleme machen würde, könnte ich es ja direkt in MeGUI laden. Das wäre natürlich super!
    Aber um es in VirtualDub zu laden, muss ich doch auch ein AVISynth Script erstellen... oder nicht?

  • Meine eigentlich eine große MOV ohne Neukodierung von Video und Audio.
    Alle Clips einfach Z.B in MPEG Streamclip öffnen (werden alphabetisch nach Namen sortiert angeordnet) und mit "save as" als ein großes MOV gespeichert.

  • Also mit VirtualDub 64bit bekomme ich die 33 MOVs (und hoffentlich auch mehr!) gut als eine große AVI Datei gespeichert. Zum Glück meckert das Programm nur beim abspielen, nicht beim speichern rum.
    Mir ist aufgefallen, dass die MOV Dateien mit einem + auch asynchron werden. Der Effekt fällt aber erst weiter hinten stärker auf. Lässt sich aber auch mit ++ beheben. Das nur am Rande.

    Propaganda
    Meinst du so?
    SetMTmode(2,0)
    SetMemoryMax(768)
    Das funktioniert auch nicht.

  • Mir ist aufgefallen, dass die MOV Dateien mit einem + auch asynchron werden. Der Effekt fällt aber erst weiter hinten stärker auf. Lässt sich aber auch mit ++ beheben. Das nur am Rande.

    Genau darum geht es ja bei dem Unterschied zwischen UnalignedSplice() = + und AlignedSplice() = ++:

    Mit + werden die Videostückchen nahtlos aneinandergefügt, und davon unabhängig die Audiostückchen nahtlos aneinandergefügt. Manchmal ist das nützlich, wenn man Segmente zusammenfügen will, die eben so getrennt wurden.

    Mit ++ werden die Video-Audio-Clips so zusammengefügt, dass eventuell Stille eingefügt wird, falls das Audio eines Clips kürzer als das Video sein sollte, oder das überstehende Audio wird abgeschnitten, falls es länger sein sollte, damit die Stückchen auch nach dem Zusammenfügen weiter hinten immer noch synchron bleiben.

    SetMTmode(2,0)
    SetMemoryMax(768)

    Im Grunde eher anders herum; SetMemoryMax() möglichst als allererste Zeile. Ist aber eventuell nicht wirklich ausschlaggebend.

  • Und dann würde ich es eher anders versuchen:


    Edit:
    Kann es sein,wenn Du mit ++ arbeitest das nach jeden Videoeintrag ein (,atrack=-1,threads=1) hinter muß.Sonst ist die Funktion ja garnicht aktiv

    2 Mal editiert, zuletzt von LigH (23. September 2012 um 16:50) aus folgendem Grund: () auch nach AssumeTFF()

  • Und dann noch mal sauber; macht im Grunde das gleiche, aber durch die Clipvariablen bekommt man als Mensch vielleicht etwas mehr Übersicht, und AviSynth vielleicht die Chance, genauer anzugeben, an welcher Stelle es echt nicht mehr geht:

    Nur allein das Zusammenfügen von Clips gewinnt allerdings durch Parallelisierung keinerlei Geschwindigkeitsvorteile, weil das Video ja sequentiell angefordert wird. Einen wirklichen Nutzen bringt die Parallelisierung nur bei Filtern, die den Videoinhalt tatsächlich verändern.
    __

    Heute wurde übrigens r722 von FFMS2 fertiggestellt.

  • LigH: kleine Frage am Rande: Macht MT bei soetwas überhaupt Sinn? Wäre es nicht zumindest Speichertechnisch mehr Sinn MT nicht zu nutzen. Eventuell geht es sogar flotter. Hab in letzter Zeit öfter mal gemerkt, dass gerade bei einfachen es durchaus manchmal flotter ist wenn man MT nicht nutzt.

  • Wow, Leute ihr seid echt super! Ich weiß gar nicht, wie ich euch danken soll! Sollte man sich mal begegnen, gebe ich einen aus :)
    Habe jetzt LigH Script übernommen und das funktioniert wirklich klasse! Die 33 Clips starten sofort und VirtualDub belegt über 300MB RAM.
    Für meine 5D Mark II Videos habe ich das Script soweit eingeschrumpft

    Code
    global MeGUI_darx = 16global MeGUI_dary = 9SetMemoryMax(768)clip01 = FFmpegSource2("MVI_0001.MOV", atrack=-1, threads=1)clip02 = FFmpegSource2("MVI_0002.MOV", atrack=-1, threads=1).ColorYUV(gain_v=10, gain_u=-10)AlignedSplice(clip01, clip02)__film = last__t0 = __film.trim(0, 5816)__t1 = __film.trim(6010, 20788)__t2 = __film.trim(20915, 21251)__t3 = __film.trim(21294, 54960)__t0 ++ __t1 ++ __t2 ++ __t3

    Und für meine MPEG2:


    Sind natürlich jetzt nur Beispiele, aber ich konnte schon problemlos 104 Clips laden :) Jetzt brauch ich kein 64bit AviSynth mehr und auch das Zwischenspeichern als AVI fällt komplett weg. Klasse!
    Auf ffms2 r722 habe ich auch schon aktualisiert und MeGUI erhält ja in letzter Zeit auch Updates im Sekundentakt.
    Von meiner Seite aus ist keine Frage mehr offen ;)

  • Wahrscheinlich das Laden in Clip-Varianten. SetMTmode habe ich ja bei meinen MOV Dateien weg gelassen. Das Bild ist schon progressive und das funktioniert ja nun auch problemlos! :)

  • Zitat

    aber ich konnte schon problemlos 104 Clips laden


    Tja, das galt dann aber auch nur für MP4 Dateien. Da geht mit FFMS2 ruck zuck! Ganz anders leider bei den MPEG2 Dateien. Da erstellt er nur im 1-2 Sekunden Takt eine ffindex Datei. Das dauert dementsprechend lange, wenn man ein Script öffnet. Das macht besonders in MeGUI Spaß:
    AviSynth Script laden. Warten...
    AutoEncode. Warten... Fenster öffnet sich
    Queue. Warten............
    Start! ..... "warten" und irgendwann startet er das encoding ^^

    Mein Projekt mit 103 MPEG2 Dateien dauerte dann selbst FFMS2 zu lange und brach immer nach ca. 75-80 geladenen Videos ab und denkt sich irgend eine Fehlermeldung aus, z.B. Dass die Audio- oder Videospur eines Clips nicht geladen werden kann. Hier blieb mir also doch erstmal nichts anderes übrig, als das Projekt zu teilen und wieder 2 avis zu erstellen.

    EDIT: Schade, das Ergebnis mit den 2 ut AVIs ist unbrauchbar. Das Bild ist zwar hauptsächlich flüssig, aber zittert immer mal kurz hin und her. Als ob Zwischendurch zwei falsche Interlaced Bilder zusammengerechnet wurden. Jetzt bin ich wieder ratlos, wie ich das bewerkstelligen soll :(

    EDIT2:
    Das Problem scheint wohl wieder mein guter alter Freund, der RAM zu sein. Mit VirtualDub 64bit kann man das Projekt öffnen... nach ca. 3 Minuten Wartezeit. Der RAM Verbrauch sagt wieder alles.
    [Blockierte Grafik: http://img6.imagebanana.com/img/z1l535uu/Unbenannt4.png]

    Irgend jemand ne Idee?

    EDIT3: So, mal schauen, was hier so kommt: http://forum.doom9.org/showthread.php?t=165993

    4 Mal editiert, zuletzt von Morku (26. September 2012 um 18:19)

Jetzt mitmachen!

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