Getting Started with Avisynth
Turn your PC into a video powerhouse
Making the Edits
Now we open the skeleton script with AvsP:
You'll see that the variables in the template have been filled in with actual values derived by DGIndex from the input file. A time-saver, as promised. But wait! We're not ready to run this script yet.
Those functions in the first two lines aren't native to Avisynth. They're external functions, and Avisynth won't have a clue what to do with them. The AvsP Help menu brings up a manual of all Avisynth's commands and functions.
Fixing this is very simple. From the
DGMPGDec sub-directory inside Video Tools, drag out the file called
DGDecode.dll and dump it inside the
Avisynth plugins sub-directory. That takes care of the
MPEG2Source. Do the same thing with
NicAudio.dll from the
NicAudio directory. Any external plugin that's moved into the
Avisynth plugins directory will be automatically loaded every time Avisynth is restarted.
Once that's done, re-open the script file in AvsP. Now we can press the 'Show Frames' button: that discreet, up-pointing triangle down in the left hand corner. It swivels to point downwards, and we get....
At this point we can use the Left and Right cursor keys to step forward or back frame by frame, or use the double-arrows next to the 'Show Frames' triangle to do the same thing. The Up and Down cursor keys move us with in steps of one second, and the PageUp, PageDown keys navigate in one-minute steps. We can use this to find the first ad break, which is where AvsP starts to do its magic.
The author of AvsP, the mysterious Qwerpoi <firstname.lastname@example.org> - alas he seems to be uncontactable these days - once wrote me a macro to speed up the conversion of cuts to dissolves:
entry = avsp.GetTextEntry('Select and copy the trim commands here:') splitentry = entry.split('++') if len(splitentry) == 2: newString = 'Dissolve(%s, %s, 25)' % (splitentry, splitentry) avsp.InsertText(newString, pos=None)