PDA

View Full Version : VSFilter and ASS don't always work well in avs.


LeonMcNichol
4th December 2005, 08:59
I'm the encoder for a fansubbing group and I get scripts once in a while that doesn't work correctly in the textsub for the avs script file I create. But they work fine if I load the script through virtualdub's textsub. Can someone shed some light on this for me as I get yelled at by the group's founder and end up encoding it with full processing. Which I don't want to do, as it converts it to RGB32 when the original file is YV12. Can someone shed some light as to why this happens. I've also came accross color problems too, where the color ends up completely black.

Here is an example script file. It's supposed to size and move, then spin, which it doesn't. It just sizes and the positions seem a bit off when loaded in avisynth.

[Script Info]
Title: <untitled>
Original Script: <unknown>
ScriptType: v4.00+
Collisions: Normal
PlayResY: 600
PlayResX: 800
PlayDepth: 16
Wav: 0, 29000,D:\translation\Nanami-chan\nanami01 8bit.wav
LastWav: 1
Timer: 100.0000
Video File: C:\mIRC\download\Ginban_2_Spinning_Clip.avi
Video Aspect Ratio: 0
Video Zoom: 10
Video Position: 304

[V4+ Styles]
Format: Name, Fontname, Fontsize, PrimaryColour, SecondaryColour, OutlineColour, BackColour, Bold, Italic, Underline, StrikeOut, ScaleX, ScaleY, Spacing, Angle, BorderStyle, Outline, Shadow, Alignment, MarginL, MarginR, MarginV, Encoding
Style: Default,Arial,35,&H00FFFFFF,&H00FFFFFF,&H00000000,&H80000000,-1,0,0,0,100,100,0.00,0.00,0,3.00,0.00,2,30,30,45,0

[Events]
Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text
;Actual movement that works with vdub, textsub, ssa/ass format
Dialogue: 0,0:00:00.00,0:00:09.21,Default,,0000,0000,0000,,{3c&H000000&}{\t(\move(338,155,345,185)\fscx80\fscy80)}Sakurano Tazusa {\1a&HFF&\3a&HFF&}16 Years Old
Dialogue: 0,0:00:00.00,0:00:09.21,Default,,0000,0000,0000,,{3c&H000000&}{\t(\move(338,155,350,185)\fscx80\fscy80)}{\1a&HFF&\3a&HFF&}Sakurano Tazusa {\1a&H00&\3a&H00&}16 Years Old
Dialogue: 0,0:00:00.00,0:00:09.21,Default,,0000,0000,0000,,{3c&H000000&}{\t(\move(150,262,198,268)\fscx82\fscy80)}Lost Something
Dialogue: 0,0:00:00.00,0:00:09.21,Default,,0000,0000,0000,,{3c&H000000&}{\t(\move(266,370,292,357)\fscx82\fscy80)}Very Important at the Moment...


Dialogue: 0,0:00:09.21,0:00:12.48,Default,,0000,0000,0000,,{\bord0}{\frz-5}{\fscx80\fscy80}{3c&H000000&}{\org(400,300)}{\t(\move(345,185,397,293)\fscx5\fscy5\frz-990)}Sakurano Tazusa {\1a&HFF&\3a&HFF&}16 Years Old
Dialogue: 0,0:00:09.21,0:00:12.48,Default,,0000,0000,0000,,{\bord0}{\frz-5}{\fscx80\fscy80}{3c&H000000&}{\org(400,300)}{\t(\move(350,185,398,294)\fscx5\fscy5\frz-990)}{\1a&HFF&\3a&HFF&}Sakurano Tazusa {\1a&H00&\3a&H00&}16 Years Old
Dialogue: 0,0:00:09.21,0:00:12.48,Default,,0000,0000,0000,,{\bord0}{\frz-5}{\fscx82\fscy80}{3c&H000000&}{\org(400,300)}{\t(\move(198,268,389,299)\fscx5\fscy5\frz-990)}Lost Something
Dialogue: 0,0:00:09.21,0:00:12.48,Default,,0000,0000,0000,,{\bord0}{\frz-5}{\fscx82\fscy80}{3c&H000000&}{\org(400,300)}{\t(\move(292,357,393,304)\fscx5\fscy5\frz-990)}Very Important at the Moment...

lamer_de
4th December 2005, 17:11
well, whoever the typesetter is, he doesn't have a good grasp of the textsub commands :cool:

{3c&H000000&}
-missing \ in front, does nothing atm

{\t(\move(338,155,345,185)\fscx80\fscy80)}
-I don't even know what this is supposed to mean. ATM it's total bullshit.

\t works like {\t(startime,endime,\fscx80\fscy80)}

\move can't be \t ed, btw, so you need to put it outside the \t

Something like {\move(338,155,345,185)\t(startime,endime,\fscx80\fscy80)} should do the trick.

Texsub is way more lax in interpreting ssa/ass, so often code there works that doesn't in vsfilter (vsfilter for ex. requires a capital H in the \c tag, while textsub works wth both upper- and lowercase.)

Tell your typesetter to use avisynth and vsfilter (if possible the same version as you do) as well, makes things way easier. It usually requires you teaching him avisynth, but that shouldn't bee too hard, should it?

CU,
lamer_de

Sylf
8th December 2005, 21:16
Tell your typesetter to use avisynth and vsfilter (if possible the same version as you do) as well, makes things way easier. It usually requires you teaching him avisynth, but that shouldn't bee too hard, should it?
Nah, you don't need to have the typesetter use avisynth. vsfilter.dll can be placed in the virtualdub's plug-in folder, and renamed as .vdf, it works just like textsub plugin. In fact, plugin function in this file is also called TextSub. As of version 2.36, it started auto re-loading the sub file when it's updated, just like the old textsub plugin did. And as of 2.37, the border bug is gone, so you don't have to go hunt down the border fix version anymore.