makeAvis vs VFapi discussion

This forum is for questions and discussion of all the aspects of handling your footage. If you have questions about capturing/ripping footage, AviSynth, or compression/encoding/converting, look here.

makeAvis vs VFapi discussion

Postby taifunbrowser » Sat Jun 30, 2007 11:10 am

k, after using Vfapi for the past year or so, I tried makeavis today and its 1000000x faster(yes, I'm exited)


...



How come noone warned me before?

oh well, does anyone have any factors to add to my argument for switching most of my footage to makeavis fakes?

Oh, and I'm trying to use makeavis on the commandline... anyone know how? I have a huge directory of matroskas I'm trying to frameserve to vegas (previously in vfapi, but my production is slowing to halt from speed)
User avatar
taifunbrowser
 
Joined: 11 Sep 2004
Location: DDR ARCADES

asdf

Postby taifunbrowser » Sat Jun 30, 2007 11:19 am

:heh: after researching this topic since last night, after posting the above post, I stumbled upon this:

http://hmd.c58.ru/files/avs2avi-0.3.zip

it works :P just as fast as makeavis, and its obviously command-line able.


brb making a java batch script to test
User avatar
taifunbrowser
 
Joined: 11 Sep 2004
Location: DDR ARCADES

Postby Scintilla » Sat Jun 30, 2007 6:27 pm

Wait, you're talking about DGVFAPI, the one that was supposed to have fixed the big problems of old regular VFAPI?
ImageImage
:pizza: :pizza: Image :pizza: :pizza:
User avatar
Scintilla
(for EXTREME)
 
Joined: 31 Mar 2003
Location: New Jersey
Status: Quo

Postby Tab. » Sat Jun 30, 2007 8:55 pm

I'm profoundly curious -- what's the use for VFAPI nowadays? :| Just about any program you'd be using accepts AVS input (some -- MeGUI and WMNicEnc, to name a few, only support avs input.)
User avatar
Tab.
 
Joined: 13 May 2003
Location: gayville
Status: SLP

Postby WC Annihilus » Sat Jun 30, 2007 8:59 pm

I use it to be able to edit with AVS in Vegas to avoid clip-making <shrugs>
User avatar
WC Annihilus
 
Joined: 17 Jan 2007

Postby Zarxrax » Sat Jun 30, 2007 9:50 pm

Tab. wrote:I'm profoundly curious -- what's the use for VFAPI nowadays? :| Just about any program you'd be using accepts AVS input (some -- MeGUI and WMNicEnc, to name a few, only support avs input.)

Almost no editing software supports AVS. Well, actually, I dont know of a SINGLE commercial editing application that supports it :\
User avatar
Zarxrax
 
Joined: 01 Apr 2001
Location: Concord, NC

Postby Tab. » Sat Jun 30, 2007 10:04 pm

Zarxrax wrote:Almost no editing software supports AVS. Well, actually, I dont know of a SINGLE commercial editing application that supports it :\
Point. Forgot about that whole... editing thing. I was never too into that stuff anyway :|
User avatar
Tab.
 
Joined: 13 May 2003
Location: gayville
Status: SLP

Postby taifunbrowser » Sun Jul 01, 2007 7:47 am

Scintilla wrote:Wait, you're talking about DGVFAPI, the one that was supposed to have fixed the big problems of old regular VFAPI?


Hmm ya I guess I was using old regular vfapi :O

Well, nevertheless, I made a batch script in java that converts a directory of mkv, ogm, divx avi, or whatever the hell other formats that vegas isnt liking first to avs and then to avi through avi2avs (NOT the moirin one, see my second post up for a link)

The syntax of the avs2avi I use is just avs2avi.exe <avs> <target>

Code: Select all
import java.io.File;
import java.io.FileWriter;
import java.io.FilenameFilter;
import java.io.IOException;

/**
 * A class that allows you to convert all DirectShow'able videos in a directory to vegas-importable avis.
 * @author Ben Braun
 */
public class batchANYtoAVI {
   public static void main(String[] args){
      String absPath = "C:/Users/Ben Braun/Videos/AMVable Footage/Haruhi";
      File in = new File(absPath);
      if (!in.exists())
         System.out.println("absPath invalid!");
      Prepare(in);
      for (File a : in.listFiles(new FilenameFilter(){
         public boolean accept(File dir, String Filename){
            String[] temp = Filename.split("\\.");
            if (temp.length == 0)
               System.out.println("In trying to test for directshowability, "+Filename+" had no extension." + temp.length);
            String extension = temp[temp.length-1].toLowerCase(); //Note lower case
            if (Filename.toUpperCase().contains("-FAKE"))
               return false;
            if (extension.equals("avi"))
               return true;
            if (extension.equals("mpg"))
               return true;
            if (extension.equals("mkv"))
               return true;
            if (extension.equals("ogm"))
               return true;
            return false;
         }
      })){
         String namewext = a.getName();
         String name = stripExtention(namewext);
         String avsName = name + "-GENERATED.avs";
         String aviName = name + "-FAKE.avi";
         try {
            File dir = new File("C:/Program Files/Avs2Avi");
            File exe = new File(dir.getAbsolutePath()+File.separator+"avs2avi.exe");
            if(!exe.exists())
               System.err.println("Couldn't find avs2avi.exe" + exe.getAbsolutePath());
            String targetAvs = absPath+"/"+avsName;
            makeAvs(targetAvs, absPath+"/"+namewext);
            if (!new File(targetAvs).exists())
               System.err.println("Avs does not exist.");
            String targetAvi = absPath+"/"+aviName;
            File output = new File(targetAvi);
            if (!output.exists()){
               String Command = ""C:/Program Files/AVS2AVI/avs2avi.exe" ""+targetAvs+"" ""+targetAvi+""";
               System.out.println(Command);
               Process p = Runtime.getRuntime().exec(Command);
               Thread.sleep(1000);
            }
         } catch (IOException e){
            e.printStackTrace();
         } catch (InterruptedException e){
            e.printStackTrace();
         }
      }
   }
   public static String stripExtention(String FileNamewExtension){
      char[] name = FileNamewExtension.toCharArray();
      int lastLoc = -1;
      for (int i = 0; i < name.length; i++)
         if (name[i]=='.')
            lastLoc = i;
      if (lastLoc == -1)
         return "";
      else
         return FileNamewExtension.substring(0,lastLoc);
   }
   public static void makeAvs(String avsFile, String srcFile){
      try {
         File target = new File(avsFile);
         target.delete();
         target.createNewFile();
         FileWriter fw = new FileWriter(target);
         fw.append("DirectShowSource(""+srcFile+"", audio=false, fps=29.970, convertfps=true)"+System.getProperty("line.separator"));
         fw.append("Lanczos4Resize(720,480)"+System.getProperty("line.separator"));
         fw.close();
      } catch (IOException e){
         e.printStackTrace();
      }
   }
   public static void Prepare(File directory){
      for (File a : directory.listFiles()){
         String name = a.getName();
         int lastLoc = -1;
         char[] chars = name.toCharArray();
         for (int i = 0; i < chars.length; i++){
            if (i=='.')
               lastLoc = i;
         }
         if (lastLoc == -1)
            continue; //No periods in file, thats ok... I guess...
         name = name.substring(0,lastLoc).replace('.', '_') + name.substring(lastLoc);
         //System.out.println(name);
         a.renameTo(new File(directory.getAbsolutePath()+"/"+name));
      }
   }
}



and this avs2avi is REALLY FAST :D I'm editing like a speed demon~ *happiness*
User avatar
taifunbrowser
 
Joined: 11 Sep 2004
Location: DDR ARCADES

asdf

Postby taifunbrowser » Sun Jul 01, 2007 7:51 am

if you want to run the above code, just download eclipse, make a new java project, make a new class, and hit ALT+SHIFT+X to run.

My case is that avs2avi is better than makeavis because makeavis sometimes gives me "frame jiggle" on this computer, whereas I havent had this problem (yet) with avs2avi...

and, mainly that avs2avi is commandline usable, so batchscripts like the one I posted are easy.

I.E., someone add avs2avi to the guides :P because it works

OH and it has this cool feature where after installing the plugin, if you right click on any .avs file, it says "Wrap to avi" as a right-click option :D that makes it worthwhile right there (of course, as posted above, batching whole folders of all the eyeshield 21 ever existant in full HD format is much more fun :D)
User avatar
taifunbrowser
 
Joined: 11 Sep 2004
Location: DDR ARCADES

Postby Zarxrax » Sun Jul 01, 2007 10:49 am

Um, avs2avi and makeavis/vfapi are completely different things. Makeavis/vfapi just wrap the avs script inside an avi container. Avs2Avi actually ENCODES the avs into an avi file. Its the same as loading the avs into virtualdub and encoding it.
User avatar
Zarxrax
 
Joined: 01 Apr 2001
Location: Concord, NC

Postby Zarxrax » Sun Jul 01, 2007 10:56 am

Oh, just noticed that new one you posted. Interesting. Whats most interesting is it was created in 2003(:?:) And I have never heard of this before.
Might be a nice tool, I'll run it through some testing when I get a chance.
User avatar
Zarxrax
 
Joined: 01 Apr 2001
Location: Concord, NC

Postby Zarxrax » Sun Jul 01, 2007 11:03 am

Oh, and by the way... I can't imagine that either makeavis, vfapi, or this avs2avi wrapper would be faster than any other. None of them are really adding any processing overhead onto the avs script except maybe colorspace conversions. If one is significantly slower than another, I can only imagine that something has gone terribly wrong, because they are all going to be limited by the speed of the underlying avs script.
User avatar
Zarxrax
 
Joined: 01 Apr 2001
Location: Concord, NC

Postby taifunbrowser » Sun Jul 01, 2007 11:36 am

Zarxrax wrote:Oh, and by the way... I can't imagine that either makeavis, vfapi, or this avs2avi wrapper would be faster than any other. None of them are really adding any processing overhead onto the avs script except maybe colorspace conversions. If one is significantly slower than another, I can only imagine that something has gone terribly wrong, because they are all going to be limited by the speed of the underlying avs script.


hmm interesting. I really have no idea how they worked O.o

either way, vfapi runs snail-speed At least on my comp, so I'll stick with my current method :bwehaahahahaha: (Yes, I'm having a good editing day : 2:13 added to my amv ^_^)
User avatar
taifunbrowser
 
Joined: 11 Sep 2004
Location: DDR ARCADES

Postby taifunbrowser » Sun Jul 01, 2007 6:05 pm

damnit, nevermind. Dont use this method (the avs2avi. IT TAKES UP ALOT OF RAM...

yes, I ran out of ram... and I have 2 gig... in vegas...

*sad day*

any ideas? Oh well... I'll convert all my footage BACK to vfapi tonight :( at least I've got so much of my amv edited :D (and the footage should just be plug-and-replaceable)


seriously though anyone have any ideas of why the avs2avi method takes up so much ram? Specifically in vegas, I suppose, after I added about 150+ "events" , everything began to slow and I got random exceptions because I ran out of memory.
User avatar
taifunbrowser
 
Joined: 11 Sep 2004
Location: DDR ARCADES

Postby taifunbrowser » Sun Jul 01, 2007 6:14 pm

ALSO, a side effect of using this method is that your taskbar turns into this:

Image

Yes, it shoved my computer clock off the side of the screen :(
and my amv is going really well though, albeit I can't stop vegas from crashing long enough to make a render now :(

which is why I'll stop using it now :(
User avatar
taifunbrowser
 
Joined: 11 Sep 2004
Location: DDR ARCADES

Next

Return to Footage Help

Who is online

Users browsing this forum: No registered users and 0 guests