VirtualDubMod Script Fehler?

  • Hallo,

    habe nach längerer Zeit auch mal wieder ein Problem:

    Ich habe ein Script für VirtualDubMod erstellt um eine Tonspur in ein vorhandenes AVI mit Tonspur zu muxen und die vorhandene Tonspur zu ersetzen. Das funktioniert soweit auch ganz gut, nur werden alle ausgegebenen Videodateien mit diesem Script genau 22:03 Min. lang :nein:, egal wie lang das Source-Video ist. Hier mal das Script, vielleich findet jemand den Fehler (VirtualDubMod Version ist die 1.5.10.2):

    // VirtualDub job list (Sylia script format)
    // This is a program generated file -- edit at your own risk.
    //
    // $numjobs 1
    //

    // $job "Job 1"
    // $input "..\Temp\Source.avi"
    // $output "..\Temp\Final.avi"
    // $state 0
    // $start_time 0 0
    // $end_time 0 0
    // $script

    VirtualDub.Open("..\\Temp\\Source.avi","",0);
    VirtualDub.RemoveInputStreams();
    VirtualDub.stream[0].SetSource("..\\Temp\\Audio.mp3",0x00000202,1);
    VirtualDub.stream[0].DeleteComments(1);
    VirtualDub.stream[0].AdjustChapters(1);
    VirtualDub.stream[0].SetMode(0);
    VirtualDub.stream[0].SetInterleave(1,500,1,0,0);
    VirtualDub.stream[0].SetClipMode(1,1);
    VirtualDub.stream[0].SetConversion(0,0,0,0,0);
    VirtualDub.stream[0].SetVolume();
    VirtualDub.stream[0].SetCompression();
    VirtualDub.stream[0].EnableFilterGraph(0);
    VirtualDub.stream[0].filters.Clear();
    VirtualDub.video.DeleteComments(1);
    VirtualDub.video.AddComment(0x00000002,"ISFT","");
    VirtualDub.video.AddComment(0x00000003,"INAM","");
    VirtualDub.video.AdjustChapters(1);
    VirtualDub.video.SetDepth(24,24);
    VirtualDub.video.SetMode(0);
    VirtualDub.video.SetFrameRate(0,1);
    VirtualDub.video.SetIVTC(0,0,-1,0);
    VirtualDub.video.SetRange(0,0);
    VirtualDub.video.SetCompression();
    VirtualDub.video.filters.Clear();
    VirtualDub.subset.Clear();
    VirtualDub.subset.AddRange(0,33086);
    VirtualDub.SaveAVI("..\\Temp\\Final.avi");
    VirtualDub.Close();

    // $endjob
    //
    //--------------------------------------------------
    // $done

  • Raus!

    Funzt leider nicht, dann erhalte ich nur ein 12 kb großes File ohne Inhalt...
    __

    Ich habe festgestellt, dass schon das Audiofile beim demuxen mit folgendem Script nur 22:03 Min. lang wird (vielleicht liegt ja hier der Fehler):

    // VirtualDub job list (Sylia script format)
    // This is a program generated file -- edit at your own risk.
    //
    // $numjobs 1
    //

    // $job "Job 1"
    // $input "..\Temp\Source.avi"
    // $output "..\Temp\Audio.mp3"
    // $state 0
    // $start_time 0 0
    // $end_time 0 0
    // $script

    VirtualDub.Open("..\\Temp\\Source.avi","",0);
    VirtualDub.RemoveInputStreams();
    VirtualDub.stream[0].SetSource(0x73647561,0,1);
    VirtualDub.stream[0].DeleteComments(1);
    VirtualDub.stream[0].AdjustChapters(1);
    VirtualDub.stream[0].SetMode(0);
    VirtualDub.stream[0].SetInterleave(1,500,1,0,0);
    VirtualDub.stream[0].SetClipMode(1,1);
    VirtualDub.stream[0].SetConversion(0,0,0,0,0);
    VirtualDub.stream[0].SetVolume();
    VirtualDub.stream[0].SetCompression();
    VirtualDub.stream[0].EnableFilterGraph(0);
    VirtualDub.stream[0].filters.Clear();
    VirtualDub.video.DeleteComments(1);
    VirtualDub.video.AddComment(0x00000002,"ISFT","");
    VirtualDub.video.AddComment(0x00000003,"INAM","");
    VirtualDub.video.AdjustChapters(1);
    VirtualDub.video.SetDepth(24,24);
    VirtualDub.video.SetMode(0);
    VirtualDub.video.SetFrameRate(0,1);
    VirtualDub.video.SetIVTC(0,0,-1,0);
    VirtualDub.video.SetRange(0,0);
    VirtualDub.video.SetCompression();
    VirtualDub.video.filters.Clear();
    VirtualDub.subset.Clear();
    VirtualDub.subset.AddRange(0,33086);
    VirtualDub.stream[0].Demux("..\\Temp\\Audio.mp3");
    VirtualDub.Close();

    // $endjob
    //
    //--------------------------------------------------
    // $done

    Ich hab auch hier mal die Zeile "VirtualDub.subset.AddRange(0,33086);" rausgenommen, das Ergebnis ist auch hier ein 0 kb File ohne Inhalt :hm:.
    __

    Vielleicht muss man vorher die Länge des Source-Videos bestimmen und VirtualDubMod dies übergeben, hab aber leider keine Ahnung wie...

  • Wenn du dir selber antwortest, bitte statt dessen [Blockierte Grafik: http://forum.gleitz.info/images/buttons/edit.gif] benutzen.
    __

    Vielleicht ist das Skripting von AviMux-GUI hier geeigneter.

    Oder "VirtualDub.subset.Clear();" muss auch noch raus... Ich hoffe, es steht in der Sylia-Dokumentation. Im Moment weiß ich das nicht auswendig.

  • Wenn du dir selber antwortest, bitte statt dessen [Blockierte Grafik: http://forum.gleitz.info/images/buttons/edit.gif] benutzen.

    Hatte ich nur der Übersicht wegen nicht gemacht...

    Vielleicht ist das Skripting von AviMux-GUI hier geeigneter.

    Uaah, bleib mir weg mit AviMux-GUI Skripten, sowas von unausgereift und verlangt komplette Pfadangaben (für mich nicht geeignet). Demuxen geht übrigens mit AviMux-GUI per Skript nicht, glaub mir, hab lange mit AviMux-Gui experimentiert...

    Oder "VirtualDub.subset.Clear();" muss auch noch raus...

    Danke, ich glaub das wars!


    Ich hoffe, es steht in der Sylia-Dokumentation. Im Moment weiß ich das nicht auswendig.

    Wo finde ich denn diese Dokumentation?

Jetzt mitmachen!

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