Dark Morford
29th June 2008, 17:20
I'm doing some video encoding using AviSynth 2.57 and VSFilter 2.37. My script looks something like this:LoadPlugin("F:\Plugins\VSFilter.dll")
AVISource("source_video.avi")
LanczosResize(320, 240)
TextSub("english.srt")
UnDot()For the most part, it works fine; I can load up the script in Media Player Classic, and it'll play the video and display the subs without any trouble—albiet rarely dipping below 50% CPU usage, according to Windows' Task Manager. The problem shows up when I'm finished previewing the video. After I close MPC, Task Manager still shows mplayerc.exe hogging a full 50% of my CPU, and I have to kill the process from there. This only happens with AVS scripts invoking the VSFilter plugin; if I preview a script consisting of simply Version(), for example, the media player exits cleanly.
And it's not just Media Player Classic. VirtualDubMod hangs in the exact same way on exit, as do Windows Media Player 10 and MeGUI (more specifically, the command-line encoders it calls). That last one is a particular thorn in my side, since MeGUI won't start the second pass of a 2-pass encode until the first one is completed successfully, and killing off x264 manually—because it's hanging—throws an error condition.
Is there a different version of either AVISynth or VSFilter that addresses this issue? A different subtitle-rendering plugin I could try? Or, maybe, some way to work around MeGUI's exit code check?
UPDATE: It appears that merely loading the VSFilter plugin isn't enough to hang AVISynth; the script actually has to call the TextSub() or VOBSub() functions before it happens.
AVISource("source_video.avi")
LanczosResize(320, 240)
TextSub("english.srt")
UnDot()For the most part, it works fine; I can load up the script in Media Player Classic, and it'll play the video and display the subs without any trouble—albiet rarely dipping below 50% CPU usage, according to Windows' Task Manager. The problem shows up when I'm finished previewing the video. After I close MPC, Task Manager still shows mplayerc.exe hogging a full 50% of my CPU, and I have to kill the process from there. This only happens with AVS scripts invoking the VSFilter plugin; if I preview a script consisting of simply Version(), for example, the media player exits cleanly.
And it's not just Media Player Classic. VirtualDubMod hangs in the exact same way on exit, as do Windows Media Player 10 and MeGUI (more specifically, the command-line encoders it calls). That last one is a particular thorn in my side, since MeGUI won't start the second pass of a 2-pass encode until the first one is completed successfully, and killing off x264 manually—because it's hanging—throws an error condition.
Is there a different version of either AVISynth or VSFilter that addresses this issue? A different subtitle-rendering plugin I could try? Or, maybe, some way to work around MeGUI's exit code check?
UPDATE: It appears that merely loading the VSFilter plugin isn't enough to hang AVISynth; the script actually has to call the TextSub() or VOBSub() functions before it happens.