View Full Version : Where to find "complete guide" to AVIsynth
stannmaple
17th April 2007, 00:52
Hi,
I've searched these forums and the internet and AVIsynth looks like a great tool and some have gone so far to say you can do with AVIsynth things that you can do with very expensive software like magic bullet. That is kind of what I'm going for. There is a program called DVfilm maker (http://www.dvfilm.com/maker/) and I'm trying to duplicate what that program does (deinterlacing, 24fps conversion and some extra features)
The problem is, no matter how much I search, I cannot seem to figure out how to use this program (AVIsynth) Now, I'm not a genius, I'm a video guy. I need someone to lay it out for me simply. Here is what I've figured out so far:
AVIsynth acts as a program that essentially creates "fake AVIs" that will open in programs like Windows Media Player, Adobe Premiere ect.
It is script based, but from what I understand, there are GUIs out there that are compatible.
So, I hate the idea of learning scripting just to work with video, but it seems like a decent program, so I've found some GUIs, downloaded them and tried them out. I can't even figure out how to use these things. It won't recognize any of my files. Maybe they are in the wrong format. I've got AVI files which are essentially DV streams and I've got MPEG2 files and it won't recognize them. So, my first question, is what am I doing wrong? What format do I need them to be in?
Second, once I have my AVS file, what do I do with it? I can open it in Windows Media Player, but I would like to turn it into a REAL video file like AVI or MPEG. How can this be done?
Third, what is the BEST GUI out there for this program that will make it usable to someone like me? Thanks. I think that's it for now.
Dann
~bT~
17th April 2007, 02:15
Happy reading! http://avisynth.org/
Blue_MiSfit
17th April 2007, 03:24
Yes, it's script based. A simple NTSC 60i DV -> 24p script would be as follows:
(# lines are comments)
#Load the TDeint plugin
LoadPlugin("C:\avs_plugins\tdeint.dll")
#Load an AVI (Assume 29.97fps interlaced DV)
AVISource("C:\foo.avi")
#Set field order (DV is bottom first)
AssumeBFF()
#Bob-deinterlace 29.97 interlaced to 59.94 progressive
TDeint(Mode=1)
#Convert frame-rate to 23.976 progressive (Film - 24p)
ConvertFPS(23.976)
This script is saved as a simple text file with an AVS extension. For example foo.avs. This is now an AviSynth script, and for AviSynth aware programs like VirtualDub, AVS2AVI, and many many more, it will appear as uncompressed video - in whatever colorspace your source video is. Usually DV (4:1:1) gets decoded as YUY2 (4:2:2). This script is a very basic example, and to get really good (magic bullet or Snell & Wilcox Alchemist) quality, you need to use more advanced functions like MVBob to deinterlace, and MVTools to do the frame rate conversion.
Anyway, I know it's pretty confusing at first. I remember I couldn't wrap my mind around the idea that a script "pretends" to be the uncompressed video result of itself to an encoder program, but you will get it :)
As far as testing various scripts, most people use VirtualDub to preview scripts (Drag and drop the AVS on VirtualDub's window). Once you are happy with the results, you can worry about feeding the script to an encoder. VirtualDub itself is a very popular VFW (AVI) encoder. HC is a very popular, free MPEG-2 encoder that takes AviSynth scripts as input. It only accepts the native YV12 colorspace of MPEG-2, so be sure to add ConvertToYV12() at the end of any script that you feed to HC, or it will complain :)
Welcome to Doom9. And please, read the rules, and don't ask what's best :) That's frowned upon here, because "best" is a highly subjective term.
~MiSfit
stannmaple
17th April 2007, 13:40
Hey guys,
Thanks for the help.
bEnGaLi tHuG, I assure you I've read everything on the avisynth page and like I said I searched the internet for about a week and a half to gather as much info as I know before posting here.
Blue_MiSfit,
what you told me helped a lot. I still have a lot of questions though. For some reason, my source files aren't working with AVIsynth. Like I said, I've tried various GUIs for it. The one that makes the most sense to me is AVSgenie. It won't recognize most of my files though whether they be MPEGs, AVIs compressed with XVID, DV streams, or whatever. So, I'm kind of stuck there. Once I get past that, from my understanding, AVSgenie will write the script for me based on the options I select. Then I simply save the file and it is saved as and .avs file.
I've got virtualdub which is a whole lot easier to use. So why don't they just make all these options and filters available in virtualdub. Of course, I've had my own problems with that as well. I've got a lot to learn here and like I said, I'm looking for an easy to use interface that will make the scripting part easy, so I can mess with video and not spend hours learning code.
Thanks again for all the help. I must admit, some of what you wrote is like reading a foreign language to me, because I just don't get it. For some of it I don't even have a point of reference (YV12 for example) and I'm having a hard time knowing where to start. Thanks so much for taking the time to help me and I hope to "get it" soon enough.
Dann
Guest
17th April 2007, 14:36
You have to get specific if you want help! Pick one source file that you are having trouble with and tell us everything you know about it. Run GSPot on it and post the screenshot of the results. Then we will take it from there.
It's better IMHO to learn scripting before going to the GUIs.
Zarxrax
17th April 2007, 16:27
Yep, if you want to learn avisynth, you probably shouldn't start out with a gui. This will keep you from learning avisynth as thoroughly, then when you run into a problem through the gui, you wont know what to do. Once you have a handle on things, a gui can be useful to help speed up the process and simplify things for you.
AviSynth can seem complex at first, and actually, it IS complex. There is a lot of stuff that you can do with it! However, the basic things are actually quite simple, and once you learn the basics, its not too hard to expand your knowledge of avisynth over time.
Your computer essentially has two common methods of decoding video files, DirectShow and VFW. DirectShow is what is used by most media players, but it is not as good to use as VFW in most situations where you want to mess with the video. When you use the command AVISource(), then avisynth will try to load the video file using VFW. This will not work unless you have the VFW version of the codec installed on your computer.
For your dv files, it may be the case that you dont have a VW codec for it, so you probably need to load them using directshow. You would do it with a command like this:
Directshowsource("c:\some\path\to\the\filename.avi")
If you want to load an mpeg-2 file, then the process is a little more complex. You can technically use directshowsource, but it is not recommended. For mpeg-2 files, you should check out the program DGIndex. You run the mpeg-2 file through dgindex to create a "d2v" file. Dgindex includes an avisynth plugin "dgdecode.dll". You copy this plugin into your avisynth\plugins directory, and then you can now load an mpeg2 into avisynth with a command like:
MPEG2Source("c:\some\path\to\mpeg2file.d2v")
You should check out the avisynth documentation. After installing avisynth you find it under start>programs>avisynth 2.5>Avisynth documentation.
It should open up to a "getting started" page which really should do a good job of telling you how to get your files loaded, and a lot of other basic stuff.
videoFred
17th April 2007, 16:59
Welcome here:p
I strongly recommand you to download VirtualDubMod.
Then 'file' + 'open video file'
At the bottom you will see 'use Avisynth template'
You can use there 'Avisource' or 'DirectshowSource'
Try both. If your DV files are still not loading, ask again here.
Could it be the installed DV codec?
The free Panasonic DV codec works fine with both Avisynth and VirtualDub.
VDubMod will then create a simple Avisynth script in the directory where your video file is.
If the video can be loaded, you are in VdMod again.
Hit ctrl/E and your script pops up.
Change the script, hit f7 and your modified script is saved and reloaded again in VdMod.-again from the beginning-
This is the best way to learn and understand Avisynth.
Fred.
Terranigma
17th April 2007, 19:17
stannmaple & videoFred, you both used a forbidden word in those posts. Check the rules to figure out what word that'd be exactly, and edit before a mod warns you. :)
Guest
17th April 2007, 19:21
@Terrignama
The word best is not forbidden. Please re-read the rules and seek a keener understanding of them.
tranfa
17th April 2007, 20:33
:)
I love you guys...!
kevo777
17th April 2007, 22:43
I found this website awhile back. Did some tests that turned out really well.
http://www.aqua-web.com/avisynth_24p.php
Check out his samples, too.
stannmaple
18th April 2007, 14:12
Yes,
I found that website in searches also (http://www.aqua-web.com/avisynth_24p.php.) I loved the results, but the way they did it made no sense to me (still kind of figuring it out here) but the answers you all gave me have explained a lot. Thanks for the help (to those of you that actually took the time to help and not just point out what "illegal words" I was using) and thank you to those of you who were gracious enough to realize it was my first time posting here and to lend your knowledge to the newbie.
I will continue to try to learn and I will work on learning the scripts and see how far I get. I wish it was as simple as a program like DVfilm maker or even Magic Bullet, but I'm pretty convinced now that I can get similar results for free if I'm willing to put in the effort. Thanks again and I may be posting back soon if I get stuck.
Dann
videoFred
18th April 2007, 14:23
Thanks for the help
You are welcome.
Soon you will discover it is not that difficult at all.
Soon you will discover the power of scripting :)
Fred.
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.