[FFmpeg-user] transcode via VapourSynth plugins

pdr0 pdr0 at shaw.ca
Wed Feb 10 02:49:17 EET 2021


Mark Filipak (ffmpeg) wrote
> I seek to transcode via VapourSynth's svpflow1_vs64.dll &
> svpflow2_vs64.dll plugins.
> 
> The best information I've found is that VS integration is possible via the
> following 3 methods.
> Method 1: ffmpeg -f vapoursynth -i SCRIPT.vpy ...
> Method 2: python SCRIPT.vpy | ffmpeg -f yuv4mpegpipe - ...
> Method 3: vspipe --y4m SCRIPT.vpy - | ffmpeg -i pipe: ...
> 
> Method 1: Since available ffmpeg builds don't include vapoursynth support,
> I will forego this method 
> in lieu of piping.

What specific questions did you have ?



ffmpeg can be compiled with vapoursynth support. There are 2 available
demuxers

-f vapoursynth_alt is generally faster when you have more than 1 filter in
your script

There are distributed versions such as with the ffmpeg binary used in
staxrip (there used to be a download folder, but you can probably extract it
from the zip). There aren't as many vapoursynth users as avisynth, so
vapoursynth demuxer support is usually not compiled by default for most
ffmpeg distributions. 




> Method 3: vspipe --y4m SCRIPT.vpy - | ffmpeg -i pipe: ...
> 
> Method 3: Do you, dear reader, have experience with this method that you'd
> care to share?


vspipe works too, and has the benefit that it will work with any ffmpeg
binary. 

When piping a YUV format, the vspipe --y4m flag conveys the header info,
pixel type, fps from the script; But the receiving ffmpeg pipe also has to
indicate -f yuv4mpegpipe , otherwise it will be considered a raw video pipe
(in that latter cause you wouldn't use --y4m)

vspipe --y4m SCRIPT.vpy - | ffmpeg -f yuv4mpegpipe -i pipe: ...



Main branch vapoursynth does not include audio processing (beta versions
do), so when including audio you can use appropriate -map parameters from
your other input. 






--
Sent from: http://ffmpeg-users.933282.n4.nabble.com/


More information about the ffmpeg-user mailing list