VirtualDubMod - Audio Header bei vbr nicht neu schreiben

  • Hi,

    ich brauche dringend Hilfe:

    Es geht um das bekannte Problem mit vbr Audiodateien unter VirtualDubMod. Also ich möchte via Script ein Avi-File mit 2 vbr Mp3 Tonspuren demuxen. Das Script ist fertig und es funktioniert auch. Nur folgendes Problem ergibt sich:

    Mal sind die demuxten Audiodateien zu kurz, mal hört man am Ende nix mehr.

    Wenn ich die Datei manuell demuxe kommt am Anfang immer der bekannte Hinweis:

    "VirtualDub has detected an improper VBR Audio encoding in the source AVI file (audio stream 1 / 2).
    The current preference is to rewrite the audio header with standard CBR values during processing for better compatibility.

    [...]

    Do you really want to rewrite the header?"

    Klicke ich hier auf "Nein" un demuxe dann manuell funzt alles korrekt. Also denke ich, dass ich irgendwo in den Einstellungen ändern muss, dass der Header standardmäßig nicht neu geschrieben wird damits auch mit dem Script funzt. Nur finde ich nirgendwo eine solche Einstellung. Kann mir jemand sagen wo sich diese verbirgt?

    Oder gibts evtl. ein anderes Programm mit dem man Avi's automatisch (Script / Batch) demuxen kann? Nandub habe ich probiert, aber hier gibts keine Möglichkeit die Audiodateien zu demuxen.

  • AviMux-GUI hat anscheinend auch eine Skript-Steuerung, habe ich hier gerade gestern gelesen. Die müssen wir aber auch erst mal erforschen...

    In VirtualDubMod kann man in den Optionen einstellen, dass VBR-Streams "wie in Nandub" behandelt werden sollen.


  • In VirtualDubMod kann man in den Optionen einstellen, dass VBR-Streams "wie in Nandub" behandelt werden sollen.

    Diesen Haken habe ich gesetzt, das bringt aber leider nix, da dies sich ja nur auf Encoding Vorgänge auswirkt, es geht ja aber um den "Direct Stream Copy" - Modus.

    AviMux-GUI hat anscheinend auch eine Skript-Steuerung, habe ich hier gerade gestern gelesen. Die müssen wir aber auch erst mal erforschen...

    Ja, das hast Du von mir gelesen :). Habe damit auch schon rum experimentiert, nur leider fehlt ein Befehl fürs demuxen (in der GUI kann man ja "extract binary" auswählen, dieser Befehl fehlt per Script, leider :(). Und ein Scipt zum Muxen habe ich auch schon erstellt, es funktioniert auch alles, nur leider habe ich hier immer eine sehr komische Fehkermeldung und zwar erscheint immer eine Dialogbox, die mich darauf aufmerksam macht, dass nicht genug Festplattenspeicherplatz vorhanden ist und der Vorgang nicht fortgesetzt werden sollte (obwohl über 10 GB Speicherplatz frei sind und die Datei nur 200 MB groß ist). Kanns Dir bei Interesse gern mal zukommen lassen.

  • Diesen Haken habe ich gesetzt, das bringt aber leider nix, da dies sich ja nur auf Encoding Vorgänge auswirkt, es geht ja aber um den "Direct Stream Copy" - Modus.

    Ja, eben. Video laden, VBR-MP3 dazu, Video - Direct Stream Copy, speichern. Dass diese Option hier keine Auswirkungen haben soll, kann ich nicht glauben ... die beiden Buttons "Save" und "Accept" sind eventuell etwas verwirrend.

  • Ich habe es jetzt auf eine andere Weise hinbekommen:

    Mit VirtualDubMod hatte ich immer ein corruptes Audio nach dem Demuxen (mal zu kurz, mal am Ende nur noch Stille etc.) - egal was ich eingestellt habe. Also habe ich mich nochmal Nandub zugewendet und folgende Lösung erarbeitet:

    Source-Video mit 2 Audio-Streams (meist Deutsch und Englisch) in Nandub geladen:

    1. Audiospur 2 deaktiviert ("No Audio"), Audiospur 1 auf AVI-Audio gelassen, Video auf "Direct Stream Copy" gestellt und das Ganze abgespeichert.

    2. Audiospur 1 deaktiviert ("No Audio), Audiospur 2 auf AVI-Audio gelassen, Video auf "Direct Stream Copy" gestellt und das Ganze abgespeichert.

    3. Audiospuren 1 & 2 deaktiviert ("No Audio"), Videospur auf "Direct Stream Copy" gestellt und das Ganze abgespeichert.

    4. Mittels Avi2Wavcmd aus den beiden Videos mit Audio (einmal Audio 1 und einmal Audio 2) die Audiospuren extrahiert (sind Mp3s)

    5. Alle nicht mehr benötigten Dateien gelöscht - somit habe ich jetzt 1 x Videodatei ohne Ton, 1 x Audiospur 1 und 1 x Audiospur 2 - bereit um weiterverarbeitet zu werden. Der ganze Vorgang ist zwar etwas aufwändiger, aber so funktionierts 100 % mit jeder VBR-Mp3 Avi-Datei (Kein async o.ä.).

    Habe ein Script für diesen Vorgang erstellt, so dass ich das nicht immer manuell machen muss.

    Das Ganze ist Teil eines Batch-Vorgangs, der folgendermaßen aussieht:

    1. Avi demuxen (wie oben beschrieben)
    2. Audiospuren normalisieren (mittels Mp3Gain)
    3. Dateien wieder muxen (mit jetzt einheitlicher Lautstärke der Audiodateien) (ebenfalls via Nandub-Script realisiert)

    Die Batch ist fertig und funktioniert einwandfrei. Bei Interesse kann ich gerne das komplette "Programm" hochladen.

    Eine Frage zum Schluss habe ich noch:

    Habe sonst immer die Audiospurem mit Avi-Mux GUI entsprechend der Sprache benannt (also Deutsch und Englisch z.B.). Dies wollte ich eigentlich auch implementieren, aber bei Verwendung eines Scripts kommt es immer zu dem o.g. Fehler mit dem Festplattenspeicherplatz. Daher meine Frage: Gibt es in Nandub auch eine Möglichkeit die Audiospuren zu benennen, so dass wenn ich die fertige Datei z.B. mit dem VLC Media Player abpiele unter "Audiospur" nicht einfach "Track 1" und "Track 2" steht, sondern eben "Deutsch" und "Englisch"?

    Greez WiZzardZz


  • [..]nur leider habe ich hier immer eine sehr komische Fehkermeldung und zwar erscheint immer eine Dialogbox, die mich darauf aufmerksam macht, dass nicht genug Festplattenspeicherplatz vorhanden ist und der Vorgang nicht fortgesetzt werden sollte (obwohl über 10 GB Speicherplatz frei sind und die Datei nur 200 MB groß ist). Kanns Dir bei Interesse gern mal zukommen lassen.

    Hab den Fehler gefunden. Man muss bei der Ausgabedatei die komplette Pfadangabe dazuschreiben, es reicht nicht, wenn man z.B.

    START Final.avi

    schreibt, man muss

    START c:\AviMuxGUI\Final.avi (z.B.)

    ins Script schreiben, dann funktionierts auch.

    Finde ich etwas schade, da mein Batch-Vorgang jetzt nicht mehr "universell" funktioniert, sondern die betreffende Zeile des Scriptes immer angepasst werden muss.

    Vielleicht kennt ja jemand einen Befehl um das Script automatisch ans aktuelle Verzeichnis anzupassen?

Jetzt mitmachen!

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