Output¶
VSPipe¶
Synopsis¶
vspipe <script> <outfile> [options]
vspipe’s main purpose is to evaluate VapourSynth scripts and output the frames to a file.
If outfile is a hyphen (-
), vspipe will write to the standard output.
If outfile is a dot (.
), vspipe will do everything as usual, except it
will not write the video frames anywhere.
Options¶
-a, --arg key=value
Argument to pass to the script environment, it a key with this name and value (str typed) will be set in the globals dict
-s, --start N
Set output frame range (first frame)
-e, --end N
Set output frame range (last frame)
-o, --outputindex N
Select output index
-r, --requests N
Set number of concurrent frame requests
-c, --container <y4m/wav/w64>
Add headers for the specified format to the output
-c, --preserve-cwd
Don’t temporarily change the working directory to the script directory (R54 compatibility) (The
-c
option is reused due to unfortunate reasons. If it is followed byy4m/wav/w64
, then it’s treated as--container
, otherwise, it’s treated as--preserve-cwd
.)-t, --timecodes FILE
Write timecodes v2 file
-p, --progress
Print progress to stderr
--filter-time
Records the time spent in each filter and prints it out at the end of processing.
-i, --info
Show video info and exit
-g, --graph <simple/full>
Print output node filter graph in dot format to outfile and exit
-v, --version
Show version info and exit
Examples¶
- Show script info:
vspipe --info script.vpy -
- Write to stdout:
vspipe [options] script.vpy -
- Request all frames but don’t output them:
vspipe [options] script.vpy .
- Write frames 5-100 to file:
vspipe --start 5 --end 100 script.vpy output.raw
- Pipe to x264 and write timecodes file:
vspipe script.vpy - --y4m --timecodes timecodes.txt | x264 --demuxer y4m -o script.mkv -
- Pass values to a script:
vspipe --arg deinterlace=yes --arg "message=fluffy kittens" script.vpy output.raw
AVFS¶
AV FileSystem is based on AVFS and shares most of its source code and functionality. This package has several uses. It can easily make a script file openable by any application, as it appears like a real, uncompressed avi file. It can also be used to bridge the 32/64 bit gap, since a plain file can always be read.
To use it simply run avfs
in the core32
or core64
directories with the script name as argument.
This will create a virtual file in C:\\Volumes
.
The alt_output argument of set_output is respected and can be used to get additional compatibility with professional applications.
Avisynth Support¶
Note that this AVFS version is also compatible with Avisynth 2.6 and Avisynth+. When using Avisynth+
higher bitdepth output is also supported. The easiest way to obtain a recent version is to extract
avfs.exe
from the portable VapourSynth archives.
VFW¶
On windows, you can output video to VFW based programs.
If you install VapourSynth by installer, the VSVFW.dll is registered already
Else, you could register it manually, use register file below or use theChaosCoder’s batch.
Windows Registry Editor Version 5.00
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{58F74CA0-BD0E-4664-A49B-8D10E6F0C131}]
@="VapourSynth"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\CLSID\{58F74CA0-BD0E-4664-A49B-8D10E6F0C131}\InProcServer32]
@="<your VSVFW.dll directory>\\VSVFW.dll"
"ThreadingModel"="Apartment"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\AVIFile\Extensions\VPY]
@="{58F74CA0-BD0E-4664-A49B-8D10E6F0C131}"