Quote:
Originally Posted by Eamon
Code:
LoadPlugin("C:\Users\User\Desktop\encoding\MeGUI_2418_x86\tools\ffms\ffms2.dll")
FFVideoSource("C:\Users\User\Desktop\project\VID.mkv", threads=1)
#deinterlace
#crop
#resize
#denoise
LoadPlugin("C:\Users\User\Desktop\encoding\MeGUI_2418_x86\tools\avisynth_plugin\VSFilter.dll")
TextSubMod("C:\Users\User\Desktop\project\Hardcoding.ass", 1)
|
First, it should be TextSub and not TextSubMod if using normal VSFilter/xy-VSFilter. That alone would cause the avs script to throw an error, since the required function would not exist. Also, you'd normally load all your plugins at the beginning of script. If you are still getting a framerate error, try adding
AssumeFPS after FFVideoSource with your decoded video framerate. If that still doesn't work, move AssumeFPS after your #deinterlace, and set it to whatever the resulting framerate should be after deinterlacing+decimation.
Preview your script output with
AvsPmod to ensure it is functioning correctly.
Quote:
Originally Posted by Moragg
Which works great - except for moving subtitles which look awful as they are not interpolated but the scene behind them is. Ideally it'd look like:
Splitter (LAV)
Typesetting (xy-subfilter)
Interpolation (SVP)
Upscaling (madvr)
Subs (xy-subfilter)
i.e. just the moving typesets (those lasting ~1 frame) need to be done before interpolation. Is it remotely easy and/or possible to do this beforehand, maybe by having a different subtitle renderer appear pre-interpolation for the moving typesets?.
|
XySubFilter does render subtitles at final video framerate (i.e. after SVP) at least with madVR. This will only improve the smoothness of animated tags though, like \move \t \fade. A lot of 'moving' typesetting nowadays isn't actually moving. Instead it's done static frame-by-frame with motion tracking based on absolute frame timestamps of the original video fps. There is no easy way to detect and reverse this process in the subtitle filter.
The workflow you are describing is beyond the scope of XySubFilter itself. Theoretically SVP developers could do this if they really wanted to though. It'd likely either involve writing a subtitle consumer+provider which sits between XySubFilter and madVR and performs SVP interpolation, or integrating SVP into a video renderer which supports a subtitle consumer. Otherwise, the only solution nowadays is to not use SVP interpolation at all, and just perform 'smoothmotion' frame-rate-conversion blending as supported by madVR and other renderers.
With xy-VSFilter you can already do something like this with video resolution subtitles, if you really want to use SVP. Install LAV Video. Install "FFDShow Raw Video Filter"
only, and set to a merit of 00800002 in MPC-HC external filters. Set DirectVobSub(auto-loading version) to 00800003 in MPC-HC external filters. And you should end up with a graph like the following with SVP interpolating video+subtitles: