Beiträge von WarpEnterprises

    LigH: rinks und lechts vertauscht? :lol:

    Audiolength liefert Anzahl samples (also sekunden * samplefrequenz)

    Also sowas wie

    audio = WAVSource(Audio_Source)
    video = AviSource(...)
    blend = AudioDub(video, audio)
    a_len = AudioLength(audio)*FrameRate(audio)/AudioRate(audio) #Reihenfolge ist wichtig, sonst gibt es Rundungsfehler
    black = BlankClip(blend,a_len)

    geht.

    ich meinte, entpacke NICHT alles ins Plugin-dir und NICHT die DLL aus WarpSharpYV12.

    Was du wegen Dust brauchst, ist ja nur LoadPluginEx.

    Und am allerbesten ist es, du kommst ohne Dust und damit auch ohne LoadPluginEx aus. (Dust ist ein Plugin für AviSynth 2.08.

    Der Kollege, der diese LoadPlugin-DLLs macht, bastelt offensichtlich intensiv herum (Aufrufe von VB-script,...), aber ohne dass mir die Details bekannt wären.

    nein, so schlau is er nicht, Pfadangaben braucht er normalerweise schon, ausser:
    1) alles ist im script-verzeichnis
    2) du nimmst SetWorkingDir (string)
    3) du tust PLUGINS (und nur solche!) ins plugin-directory. Dann kannst dir auch das LoadPlugin schenken!

    Übrigens: das plugin-dir wird in der Registry abgespeichert unter HKEY_LOCAL_MACHINE\SOFTWARE\AviSynth

    LigH: du lebst auch in der Zukunft oder seh das nur ich so? (meine dass dein Beitrag vor meinem kam aber mit einer Zeit nach meiner angezeigt wird)

    wieso soll das nicht gehen?
    Normalize(0.8) macht 0.8 max Lautstärke.

    Oder noch mal von vorne:
    1) du hast mehrere AVIs und willst auch mehrere mpegs draus machen -> musst jedesmal ein neues script verwenden
    2) du hast mehere AVIs und willst ein mpeg draus machen->
    AviSource("clip1.avi").Normalize() ++ AviSource("clip1.avi").Normalize() ++ ...

    3) oder du meinst wirklich die einzelnen SPUREN? (d.h. linker/rechter Kanal)

    die Doku ist an dieser Stelle FALSCH. Ich habe das zwar schon vor bald 2 Jahren gesehen, aber nachdem dieser Teil aus dem Original von Ben stammt, blieb er (bis vor kurzem) drin.
    Der Grund ist auch ganz einfach: in der Version 0.3 war das auch so, die Original-Doku passte dazu.

    Ich finde es halt witzig, dass bis dato keiner im source danach gesucht hat. obwohl schon oft über dieses Problem gejammert wurde. Und man findet es derart leicht, dass sogar ich es sah (und so gut kann ich kein C++).

    Escapes gibt es nicht in AviSynth.
    Ben hat wahrscheinlich dreifache genommen, da zweifache ja wieder als Leerstring in einem String vorkommen könnten (und Ben ist ein Computersprachen-Theorie-freak - noch immer !)

    Ich persönlich sehe auch in YV12 eher Risiken (wegen der interlaced-color-sampling-Thematik und der Tatsache, dass gerade diese Information weder in der AVI-Quelle und auch nicht AviSynth-intern mitgespeichert wird. Nicht verwechseln damit, ob das Video interlaced oder progressiv ist!)

    Die Filterunterstützung ist ganz unterschiedlich.

    Der Unterschied für den Entwickler ist hier etwa so gross wie zwischen RGB und YUY2, es ist zwar der Farbraum gleich wie YUY2, aber die interne Speicherung anders (planar = je Ebene ein Bereich und nicht je pixel), was aber manchmal angenehmer zum Programmieren sein kann (hängt vom Algorithmus des Filters ab).

    --> jedes Format muss für jeden Filter eigens codiert werden, da darf es nicht verwundern, dass nicht jeder Filter alles kann. Die allermeisten internen Filter können aber alle 4 (man beachte, dass auch RGB32 mit alpha-Kanal etwas anderes ist, wenn man den alpha verwendet).

    Manche Kollegen wünschen sich auch noch ein 4:4:4 YUV-Format, was zwar im YUV-Farbraum arbeitet aber mit voller Auflösung.

    1) der Schwerpunkt meiner Anmerkung war nicht die Umwandlung YV12<->YUY2, sondern mpeg<->normales YV12/YUY2 !
    2) eigentlich machst du nichts anderes, als eine Zwischendatei zu erzeugen, nur nicht mit einem verlustfreien Codec (wie die Vorposter erwähnten), sondern mit mpeg. Wenn du die vaf-Datei mit einer völlig anderen Bitrate erstellst als das Ergebnis sein soll, so wird das aber nicht optimale Ergebnisse liefern.
    3) hast du schon mal die Methode mit huffy ausprobiert? (diesen natürlich so konfigurieren, dass er NICHT YUY2 auf RGB wandelt) bei ~10.000kbit werden die Zwischenfiles ja auch nicht mehr wirklich klein.
    4) mpeg2dec3 IST der mpeg2-loader für AviSynth, und der lädt nicht nur YUY2, sondern YV12 (das ist das Format, indem das mpeg erstellt ist). AviSynth muss aber trotzdem immer das mpeg decodieren.

    Ich bin jetzt endlich draufgekommen, wie man auf einfache Weise in einen String Anführungsstriche reinbekommt:
    einfach am Anfang und Ende DREI Anführungsstriche machen,
    dann weiss AviSynth, dass innerhalb auch welche vorkommen können.

    z.B.:

    Subtitle(""" Das ist ein " - Anführungsstrich """)

    Besonders mit ScriptClip und ähnlichem ist das doch recht brauchbar.

    Im Prinzip funktioniert das schon, und die Idee ist recht kreativ.
    Du machst aber trotzdem zwei Umwandlungen mehr, und zwar m2v(mpeg!) -> decoden auf YV12 (KEIN mpeg) -> wieder encoden auf mpeg (mit dem CCE).
    Die folgenden Passe arbeiten dann mit dem mpeg vom ersten Pass, können also nix mehr besser machen ausser der Bitrate an sich.
    Da ist die Qualität nur schlechter oder gleich gut, wie wenn du gleich nur das erste m2v nimmst.

    Na gut, für gute Kundschaft eine Version, die auch YVYU und VYUY kann...probier mal.

    Bei solchen Fällen würde auch SwapUV() helfen.

    RGB sind die files sicher nicht, das drehen kommt daher, dass beim AviSynth-RGB die letzte Zeile als erstes kommt.

    Die Begrenzung kommt daher, weil ich zeilenweise einlese und dafür einen fixen maximalen buffer gemacht habe.

    - checked: diese Spalte gibts schon lange nicht mehr :)

    - mit den sequences: da meine ich folgendes: das plugin liest EINE Datei so als ob es ein AVI wäre. Diese Datei kann natürlich auch nur EINEN frame enthalten. Das Plugin kann aber nicht MEHRERE Dateien hintereinander hängen. Falls man das braucht, muss man für jede Einzeldatei ein RawSource() verwenden und mit "+" aneinanderstückeln.

    - was willst du mit dem einzelnen Frame denn machen? In AviSynth wird durch RawSource ein "ganz normales" clip ohne audio erzeugt, das du dann mit Trim usw. weiterverwenden kannst (z.B. filtern oder in VirtualDub laden und dort mit strg-1 einen screenshot machen, u.s.w.)

    Alles klar?