Wie mehrere Videos mit und ohne Ton verketten?

  • Ein herzliches "Hallo erstmal" von einem neuen AviSynth-Jünger. :)

    Ich versuche diverse Video-Clips per AviSynth zu einem Stream zusammenzufügen, um diesen dann in VDM in XviD rendern zu lassen.

    Das Problem: Die einzelnen Clips haben verschiedene Auflösungen und Frameraten. Außerdem gibt es Clips mit und ohne Ton und mit undecodierbaren Tonspuren (alles AVI-Dateien)

    Das unterschiedliche Videoformat ist kein Problem, da ich die Clips vor dem Verketten resizen und die FPS converten kann (das klappt bestens).
    Nur die Mischung von Video mit und ohne Tonspur scheint mir ein unüberwindliches Problem zu sein. AviSynth mag sowas nicht verketten.

    Hat jemand eine Idee wie man diese Problemstellung am besten löst?
    Ich habe auch schon nach einem Tool gesucht, welches einen Dummy-Ton in die Dateien implantiert, die keine oder eine defekte Tonspur haben.

    Was ich nicht möchte: Jede Datei einzeln anfassen.

    Schon einmal vielen Dank für Tips und Hinweise.

    PS: Mein AV-Script habe ich leider momentan nicht zur Hand.

    Erschwerden kommt auch noch hinzu, daß es Clips gibt, die nicht mit AVISource, sondern mit DirectShowSource geöffnet werden müssen, eben weil es Probleme mit dem Codec für den Ton gibt. Dabei will er dann aber eine manuelle "fps-rate" vorgesetzt haben. :(

  • Zitat von kurzer

    die Mischung von Video mit und ohne Tonspur scheint mir ein unüberwindliches Problem zu sein. AviSynth mag sowas nicht verketten.

    Hat jemand eine Idee wie man diese Problemstellung am besten löst?
    Ich habe auch schon nach einem Tool gesucht, welches einen Dummy-Ton in die Dateien implantiert, die keine oder eine defekte Tonspur haben.

    :welcome:

    Ohne es jetzt versucht zu haben - hier so aus dem Bauch raus - sollte aber ein Ansatz sein:

    Statt
    vb=BlankClip(length=l2,width=w2,height=h2,fps=f2,audio_rate=a2,stereo=true)
    müsste vmtl. auch das hier gehen:
    vb=BlankClip(v2,audio_rate=48000,stereo=true)

  • grua, danke für die Mühe, aber da kommt nur Schrott raus.
    * Resize nach XY Ohne Analyse == stimmt das Ratio nicht.
    * Changefps nach XY Ohne Analyse == währe zu leicht.

    und Deine Möglichkeit den Sound anzupassen ist zu umständlich.
    Wenn das v1 das Quell und v2 das Ziel sein sollte, ist einfacher so:

    l2=Framecount(v2)
    vb=BlankClip(v1,length=l2)
    v2=AudioDub(v2,vb)

    # das ++ nicht vergessen, sonst wird es unsyncron.
    return v1++v2

  • Zitat von katjarella

    grua, danke für die Mühe, aber da kommt nur Schrott raus.
    * Resize nach XY Ohne Analyse == stimmt das Ratio nicht.
    * Changefps nach XY Ohne Analyse == währe zu leicht.

    ist ja ganz klar - ich wollte damit nur andeuten, dass an dieser Stelle die Auflösungen und Frameraten der einzelnen Videos anzupassen sind. Da kurzer geschrieben hatte, dies bereits im Griff zu haben ging ich darauf nicht näher ein, sondern setzte dies voraus. Mein Beispiel sollte nur verdeutlichen, wie er Clips mit und ohne Ton miteinander verknüpfen kann und dass dies möglich ist, das hast du ja nun ebenfalls erkannt - man sollte nicht gleich sagen "das geht nicht"!

    Zitat

    und Deine Möglichkeit den Sound anzupassen ist zu umständlich.

    Ist im Grunde genau das selbe. Nur verdeutlicht diese Vorgehensweise einem Neuling vielleicht eher, was BlankClip so tut - aber du hast schon recht ;)

    Zitat

    # das ++ nicht vergessen, sonst wird es unsyncron.
    return v1++v2

    kann es unsynchron werden (kann - nicht muss).

  • Zitat von grua

    ist ja ganz klar - ich wollte damit nur andeuten, dass an dieser Stelle die Auflösungen und Frameraten der einzelnen Videos anzupassen sind. Da kurzer geschrieben hatte, dies bereits im Griff zu haben ging ich darauf nicht näher ein, sondern setzte dies voraus.

    Zitat von grua

    Mein Beispiel sollte nur verdeutlichen, wie er Clips mit und ohne Ton miteinander verknüpfen kann und dass dies möglich ist, das hast du ja nun ebenfalls erkannt - man sollte nicht gleich sagen "das geht nicht"!


    für manche ist das nicht klar und das Resizen und die FPS Änderung ist wichtiger, als Video mit Audio und Video Ohne Audio zu verbinden. Und ich schrieb ja, auf die schnelle geht es nicht. Besonders wenn ich mit manche Scripte anschau, wo von PAL nach NTSC oder andersrum Pro Film, mehrere Zeilen Code und xPlugins gebraucht werden um nur EINEN Film zu wandeln.

    Zitat von grua

    Ist im Grunde genau das selbe. Nur verdeutlicht diese Vorgehensweise einem Neuling vielleicht eher, was BlankClip so tut


    Nicht ganz. Bei Deinem zweiten (audio_rate=48000,stereo=true) erzeugst Du Stille mit 48kHz und in Stereo. Und schon dieses kann zum ersten Clip nicht passen.

    Für Neulinge ist sowas so oder so nicht. :nein: Ansonsten gibts ja noch das Deutsch Handbuch/Doku.

    Zitat von grua

    kann es unsynchron werden (kann - nicht muss).


    wenn schon richtig, dann richtig richtig! :ja:

  • Zitat

    Nicht ganz. Bei Deinem zweiten (audio_rate=48000,stereo=true) erzeugst Du Stille mit 48kHz und in Stereo. Und schon dieses kann zum ersten Clip nicht passen.

    Korrekt, aber das sollte nach einem Blick in die Avisynth-Doku kein Problem mehr darstellen. Wie ich anfangs geschrieben habe hab ich nur "aus dem Bauch raus" was "auf die Schnelle" geschrieben und wollte nur die richtigen "Weichen stellen", nicht aber alles komplett vorkauen.

    Zitat

    Für Neulinge ist sowas so oder so nicht. Ansonsten gibts ja noch das Deutsch Handbuch/Doku.

    Ja, vielleicht setze ich wirklich manchmal zuviel voraus - aber dazu ist ja IMO das Forum auch da um Denkanstösse zu liefern, zum Experimentieren anzuregen und dann in der weiteren Diskussion gemeinsam eine Lösung zu finden. Aber jetzt werden wir ziemlich OT...

    Und

    Zitat von kurzer

    Das unterschiedliche Videoformat ist kein Problem, da ich die Clips vor dem Verketten resizen und die FPS converten kann (das klappt bestens).

    lässt ja wirklich darauf schließen, dass er das zumindest in einer ihn zufriedenstellender Weise bereits gelöst hat.


    Wäre interessant, ob kurzer jetzt wie gewünscht weiterkommt.


    katjarella:
    :cheers:

  • Hallo ihr Zwei,

    besten Dank für Eure Denkanstösse.
    Ich bin jetzt wieder am heimischen Rechner und werde Eure Vorschläge gleich mal in mein Script einarbeiten.

    Ich hoffe nur, daß ich noch mehr Infos über Fehlerabfangen finde, denn
    ich weiß nicht unbedingt im voraus, welches Clips ohne Ton codiert sind.
    Ich möchte hier ganze Verzeichnisse voller unterschiedlicher Clips joinen.

    Aber ich mache erstmal Schritt für Schritt weiter... man muß ja nicht gleich das ultimative Killerscript schreiben. :)

    Nochmals besten Dank. Ich werde Euch auf dem laufenden halten.

    Kurzer

  • Ja schreibe mal Deine Erfahrungen... was mich aber brennend interressiert:
    *was wachst Du dann mit dem großen Clip? Aufn PC abspielen?
    *warum willst du ReEncoden, macht doch alles nur schlechter?
    *was hast Du für Quellen? Nur Avis oder auch MPEGs?
    *was für Fehler bekommst Du wegen dem Audio?

  • Zitat von katjarella

    Ja schreibe mal Deine Erfahrungen...


    Also ich komme voran. Ziel ist erreicht. Zwar noch optimierungsbedürftig, aber es läuft gut.
    Hier mein bisheriges Ergebnis (Testscript für nur 2 Videos):

    Erst ermittle ich die fps für jedes Video mittels AVISource(file, false).Framerate.
    Dann öffne ich das Video mittles DirectShowSource, weil es dabei keine Fehlermeldungen wegen Audio gibt.
    Dann teste ich, ob das Video Audio hat oder nicht. Wenn nicht, dann erzeuge ich eine stille Tonspur
    Dann Audio und Video wieder zusammenpappen und zuletzt die einzelnen, bearbeiteten Videos zusammenfügen.

    Das klappt gut.

    Man könnte die Bearbeitung jetzt noch als eigene Funktion schreiben, daß machts übersichtlicher. Werd ich auch tun, denn das soll ein Bulk-joiner für 30 Clips werden.

    Zitat von katjarella

    was mich aber brennend interressiert:
    *was wachst Du dann mit dem großen Clip? Aufn PC abspielen?
    *warum willst du ReEncoden, macht doch alles nur schlechter?
    *was hast Du für Quellen? Nur Avis oder auch MPEGs?
    *was für Fehler bekommst Du wegen dem Audio?

    1) Teils teils... PC und evtl. mal TV, wenn nen XviD-tauglicher Player angeschafft wurde.
    2) Die Qualität ist eh schon schlecht, das macht aber nix. Es handelt sich um Clips, die mit der Videofunktion von div. Digitalen Fotokameras gemacht worden sind. Also meist 15 fps Geruckel mit buntem Pixelbrei. ;)
    3) AVI und teilweise auch MPG, da ich einige Clips seinerzeit schon mal in MPG konvertiert habe (VCD)
    4) Uh, aus dem Kopf: Er meckerte, daß er Videos mit und ohne Ton nicht zusammenfügen kann. Bei anderen meckert er, daß kein passender Codec gefunden wurde. Aber letzteres nur, wenn man Video und Audio mit AVISource öffnen möchte.

    Soweit die Infos von mir.
    Ich werde das Script noch mit einer eigenen Funktion zum Bearbeiten versehen und dann bin ich eigentlich auch schon rundum zufrieden.

    Nochmals schönen Dank... und immer dran denken "geht nicht -gibts nicht" ;)

    Gruß Kurzer

  • Du bist ja lustig. :)

    Code
    [B]Price (Download version only)
    
    
    ·TMPGEnc 3.0 XPress
    	US$ 58.00
    ·TMPGEnc 3.0 XPress + TMPGEnc Sound Plug-in AC-3
    	US$ 79.00
    ·TMPGEnc 3.0 XPress + TMPGEnc DVD Author 1.6
    	US$ 110.00[/B]

    Da fummle ich lieber noch ein bißchen am Script
    oder: Für 58 US$ konvertiere ich die auch alle von Hand einzeln. ;)

    Gruß Kurzer

  • Trial gibts schon... aber gerade die Batchfunktion scheint disabled zu sein:

    Code
    TE3XP-trial-3.1.5.82-install-EN.exe
    Size: 9.86 Mibytes (10,347,544 bytes)
    2005.3.23 UP
    
    
    ■This software is a trial version freely usable for 14 days.
    ■After the installation, an Internet connection is required to receive your temporary license validation.
    ■Limitation: All functions and options are usable excepted the Batch encode tool and the Project Open/Save options.

    Davon ab, wäre mir eine unbeschränkte Möglichkeit schon lieber.
    Aber angesichts der qualitativ minderwertigen Clips (die "Spatzen") wäre TMPEG die "Kannone", mit der geschossen wird. :)

    Ein Resize mit korrektem Aspect/Ratio bekommt man mit per AVS sicherlich auch hin.

    Gruß Kurzer

  • hier mal ein kleiner Gedanke, es fehlt aber noch soooooo einiges, besonders MPEG als Source.

    wenn ich Lust und Zeit habe, mach ich weiter.

  • total überlesen :(

    Zitat von kurzer

    A:Trial gibts schon... aber gerade die Batchfunktion scheint disabled zu sein.

    B:Aber angesichts der qualitativ minderwertigen Clips (die "Spatzen") wäre TMPEG die "Kannone", mit der geschossen wird. :)

    C:Ein Resize mit korrektem Aspect/Ratio bekommt man mit per AVS sicherlich auch hin.

    A: die Batchfunktion brauchst Du garnicht.
    B: was für Spatzen? Seih doch fröh, das Du dort ein bissl was verschlimmbessern kannst.
    C: ich sehe das als SEHR schwer an, besonders wenn Du noch analysieren mußt, was die Source für ein AR hat. Frage: willst Du bei 16:9 zu 4:3 schwarze Ränder oder das Bild rechts links schneiden?

  • Hallo katjarella,

    Zitat


    A: die Batchfunktion brauchst Du garnicht.
    B: was für Spatzen? Seih doch fröh, das Du dort ein bissl was verschlimmbessern kannst.
    C: ich sehe das als SEHR schwer an, besonders wenn Du noch analysieren mußt, was die Source für ein AR hat. Frage: willst Du bei 16:9 zu 4:3 schwarze Ränder oder das Bild rechts links schneiden?

    Vielen Dank für Deine guten Tips und auch daß Du Dich schon selbst an ein Script gemacht hast. Ich werde Teile daraus sicherlich gut gebauchen können, wenn ich meines erweitern möchte.

    Danke auch für den Hinweis mit dem TMPEG Encoder.
    Jedoch mußt Du wissen, daß ich zu der komischen Spezies gehöre, die sich bei der Installation von neuer Software ziert wie die Zicke am Strick. ;)

    Da ich den Encoder nach 14 Tagen eh wieder deinstallieren müsste, möchte ich mir mein System nicht mit DLLs oder anderen Dateien "verunreinigen", die der Uninstaller evtl. vergisst. Da bin ich wirklich "komisch".
    Zumal ich mit dem bereits erreichtem Ziel zufrieden bin. Auch der A/R muß in meinem Fall nicht unbedingt korrigiert werden, da die Digitalkameras alle sehr ähnliche Seitenverhältnisse haben.

    Nimms mir also bitte nicht übel, wenn ich mich zum TMPEG nicht überreden lasse. Es liegt jedenfalls nicht an Dir. ;)
    Außerdem liegt ja auch ein gewisser Reiz darin, es in einem AVS zu realisieren.

    So, dann wollen wir mal unsere erste AVS-Funktion coden.

    Gruß Kurzer

  • Hi

    naja da gibs doch die wunderbare Funktion der Systemwiderherstellung :kotz: (ich selbst habe sie noch nie genutzt - nutze bessere Tools) , oder für besondere Zicken, wo ich mich mit einschließe, ein vernünftiges Backuptool, ich nutze Drive Image .

    Da kann man sein System so richig voll müllen und hat mit ein paar Klicks den Urzustand wiederhergestellt. :D

    Also Zumüll Ausrede kann nicht anerkannt werden ;)


    max

  • Hallo Max,

    Zitat von max

    ...und hat mit ein paar Klicks den Urzustand wiederhergestellt. :D
    Also Zumüll Ausrede kann nicht anerkannt werden ;)

    Nagut, dann nicht. ;)

    Aber ich bin halt jetzt schon zufrieden mit dem Ergebnis und wollte katjarella nicht vor den Kopf stossen. Deshalb habe ich meine Entscheidung ein bißchen erläutert.

    Ich freue mich, daß man hier "so schnell geholfen wird" und daß ich jetzt genau das machen kann, was ich vorhatte.
    Aber deshalb muß man ja nicht alle Ratschläge ausführen, die in so einem Thread gegeben werden. ;)

    Gruß Kurzer...

    PS: Das Script sieht dank Eurer Hilfe mittlerweile so aus:


    PS2: Zum Thema Systemwiederherstellung: Ich nutze Win98SE... ich sag ja, ich bin komisch. ;) (aber jetzt bitte keine OS-Diskussion anfangen)

  • Ich gebe Dir in vielen recht kurzer. Auch ich bastel lieber.

    was mir bei deinem Script aufgefallen ist:
    * wenn beim Import irgendwas Fehlschlägt, wird ein blank mit der länge 0 erzeugt.
    > wau, feine Sache das, aber wenn Du den alten Clip übergeben würdest (also ab Film2) brauchste das nicht und Du kannst das ++ in die Funktion mit einbaun.

    * Du verwendest ChangeFPS?
    > da wird der Clip aber nur schneller oder langsamer Abgespielt (Pieps-Stimme?)

    nochwas zu DirectShowSource. Seit der letzten Avisynth Beta, brauche ich KEINE FPS mehr angeben, weil der DirectShowDecoder die FPS zurückliefert (sollte).
    Und nochmal die Frage, wegen der AR. möchtest Du Zoomen oder dürfen Ränder ins Video rein?

Jetzt mitmachen!

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