Avs

From SDA Knowledge Base

Revision as of 15:59, 19 April 2009 by Ballofsnow (Talk | contribs)

Jump to: navigation, search

quick link to old guide
quick link to wiki editing
Anchors


Snow's new AviSynth guide. Yeah, I hope I actually finish this.


Ideas for layout

  • Custom table of contents, not so linear.
  • Use PNG! Lossless is cool.
  • Color headings.

Ideas for guide

  • No more follow-these-steps-blindly instructions this time.
  • Include more pictures. Use thumbnails when necessary.
  • At the start of each section, show a typical script in progress.
  • Include exercises with downloadable packages containing a video and a partial script.


Stuff to do:

Getting setup

  • Introduction
  • Setting up a work environment
  • Installation

Walkthrough

  • Line by line through script with pictures.

The script

  • Loading the source files
  • Appending
  • Deinterlacing
  • Trimming
  • Resizing
  • Sharpening
  • Cropping / Adding borders
  • Color / Brightness
  • SDA StatID
  • QuickTime compatibility

Extras

  • Sample scripts
  • Script verification

Fixes

  • Fixing Constant audio desync
  • Fixing Progressive audio desync




Table of contents:

  1. Introduction
  2. Setting up your work environment
  3. Installation
  4. Walkthrough
  5. Loading the source files



 Introduction

IMPORTANT NOTE: AviSynth scripting is an advanced topic. All beginners are recommended to use Anri-chan instead.

Glossary of terms



 Setting up your work environment

File extensions

You'll very likely need to rename file extensions but they may be hidden by the operating system.

  1. open Windows Explorer
  2. open the Tools menu
  3. select Folder Options
  4. select the View tab
  5. choose to Show hidden files and folders
  6. uncheck Hide extensions for known file types
  7. click OK to apply changes.


AviSynth showhidden.png



Association of avs file extension with text editor

Now that you can see file extensions, let's associate the avs file extension with Notepad or other text editor of your choice.

  1. open Windows Explorer
  2. open the File menu
  3. select New
  4. select Text Document
  5. rename the new text file to New Text Document.avs. It should show up as an unknown type.
  6. open the avs file or right-click and select Open With. Windows will ask which program you want to use.
  7. select Notepad in the list
  8. place a checkmark in the box that says Always use the selected program to open this kind of file
  9. click OK


AviSynth avsnotepad.png



 Installation

Download and install a stable release version of AviSynth

The picture below identifes a stable release.
AviSynth download.png



Download and install necessary AviSynth plugins

  1. Go to Start menu
  2. [All] Programs
  3. AviSynth
  4. Plugin Directory. (This is where AviSynth stores its plugins.)
  5. Copy the files from inside the AviSynth plugins zip file to the Avisynth plugins directory window you just opened.

The plugins directory should look similar to what's shown in the picture. AviSynth will automatically load dll and avsi files.
AviSynth pluginsdir.png



Special instructions for those working with DVD sources
If you followed the instructions on the DVD page properly you should already have DGMPGDec installed. You need to copy a dll file from this directory to the AviSynth plugins directory in order for AviSynth to be able to load DVD video.

  1. navigate to the DGMPGDec directory. Should be C:\Program Files\DGMPGDec
  2. copy DGDecode.dll to the AviSynth plugins directory.



Download and install VirtualDub

This program will be useful for testing your script as you go along.



Verify that everything is installed properly

Download the following package and unzip the contents anywhere you'd like. Run VirtualDub and drag and drop the avs file into the window. You should see a frame that says "So far so good..".




 Walkthrough of a typical AviSynth script

Before starting your own script you should have an idea of how AviSynth operates. The following script is typical for DVD video. AviSynth will execute each line of code sequentially; in this walkthrough you will see what the video looks like after each step.

Ac3Source(MPEG2source("VTS_01_1.d2v", upconv=1),"VTS_01_1 T80 2_0ch 192Kbps DELAY 0ms.ac3")
mvbob()
trim(13801,13900)
Lanczos4Resize(640,480)


A glance at the work folder

As you can see, the VOB has already been processed by DGIndex generating the files:

  • VTS_01_1.d2v
  • VTS_01_1 T80 2_0ch 192Kbps DELAY 0ms.ac3

AviSynth walkthrough workfolder.png


Load audio/video

I open my_AviSynth_script.avs in Notepad and add the line below to load the Ac3 audio and MPEG2 video. VirtualDub shows that both have loaded succesfully.

Ac3Source(MPEG2source("VTS_01_1.d2v", upconv=1),"VTS_01_1 T80 2_0ch 192Kbps DELAY 0ms.ac3")

AviSynth walkthrough loadsource.png


Deinterlace

I've identified that the video is D1 F1 3D (will go into this later) so the appropriate deinterlacing method is mvbob. Notice how the number of frames has doubled from approximately 10000 frames to 20000.

mvbob()

AviSynth walkthrough deinterlace.png


Trimming the fat

I've decided, for the sake of this walkthrough, to keep only 20 frames.

trim(17451,17470)

AviSynth walkthrough trim.png


Resize

My NTSC DVD has a resolution of 720x480. I need to resize to 640x480 resolution so that the aspect ratio is correct and everything doesn't look so wide.

Lanczos4Resize(640,480)

AviSynth walkthrough resize.png


There are more commands you will use in your script, but the above are the essentials.



 Loading the source files

Let's start with a new AviSynth script. Remember when you created an avs text file back in Setting up your work environment? That's all an AviSynth script really is, a text file with an avs file extension. We'll create the High Quality script first and move on to the other SDA qualities later. Open mygame_HQ.avs in Notepad.

  1. open Windows Explorer
  2. open the File menu
  3. select New
  4. select Text Document
  5. rename the new text file to mygame_HQ.avs.


This chapter will diverge into three sections. Depending on how you recorded your video, follow the appropriate link.


PC game recorded with Fraps / Camtasia / other screen capture software

Screen capture software typically creates an AVI file containing both video and audio. All we need is the AviSource() command with your AVI file as the argument.

avisource("clip1.avi")


Simple, isn't it? What if you have more than one file and want to append them together, as is usually the case when recording for longer periods of time? Let's bring in the AlignedSplice() command with AviSource as the arguments.

a = avisource("clip1.avi")
b = avisource("clip2.avi")
namedoesntmatter = avisource("clip3.avi")

AlignedSplice(a,b,namedoesntmatter)


An example of three videos that were split by Fraps being joined together in AviSynth. AviSynth loadsource pcgame.png



Console game recorded with DVD recorder / capture card using DVD settings


Console game recorded with capture card to AVI file

Personal tools