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.


-a, --arg key=value
Argument to pass to the script environment, it a key with this name and value (bytes 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
-y, --y4m
Add YUV4MPEG headers to output
-t, --timecodes FILE
Write timecodes v2 file
-p, --progress
Print progress to stderr
-i, --info
Show video info and exit
-v, --version
Show version info and exit


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