Wiki Guides
|
KB /
TextSub - The new SSA Plugin for Anime Fansubbing5/16/2002 by: MorphineX of #Elite-Fansubs@irc.EnterTheGame.com IntroductionIf you are a typesetter for various groups, you understand the pain of what placing a sign in a given time frame could be. Especially if you are trying to do it really well. Most of you know the good old plugin, one developed by Avery Lee called "Subtitler." Various versions of Subtitler have been developed, and most of its function only complements the existing capabilities of SubStation Alpha developed by Kotus. For most flashy things, you would have to go with a Logo Plugin, or an external program like AfterEffects or Premier. Flashy things like fade effects, color change, moving text -- are all difficult or impossible to do with Avery Lee's subtitler. But since 04/01/2002, Gabest have developed something called "TextSub" that went with his VobSub(VobSub is something used to subtitled DVDRips). TextSub is a new tool that consists of everything that Subtitler had with much more functionality. It utilizes "overrides" to achieve things that weren't possible before. And the best thing is that everything is done in .SSA timed scripts. There is nothing else to get! One could consider TextSub as a newer version of Subtitler with all its old functionality. Because there TextSub is like an "upgrade," all the .ssa files will still work encode perfectly without a flaw (except for the usual macroblocks that appears). So don't worry about having to rewrite your .ssa to support the new TextSub plugin. In this FAQ, you will find information on how to use TextSub's different override functions. First, goto htttp://vobsub.edensrising.com/vobsub.php to download the version 2.12+ of VobSub that includes TextSub.vdf. Install the file and make sure you activate the installation for TextSub (not installed is default). Once it is installed, you are ready to begin. Overview of TextSub Added Functionalities
Style Overrides
Quick Reference GuideRefer to the SSA Documentation. In-Depth Explanation of FunctionalitiesOnly the new functions will be explained in this section. Things inside <...> is to be filled in with numbers or letters The \ is a separator, an indication of different commands Things inside [...] is optional 1) {\u<0 or 1>} - Underline effect 2) {\s<0 or 1>} - Strikeout effect 3) {\bord<width>} - Border around the word. This allows you to change the border width at will, this value could range from 0 to video resolution. The value is the thickness in pixels around the border 4) {\shad<depth>} - Shadows behind the word. This allows you to change the distance from the word the shadow is at, this value could range from 0 to video resolution. Higher the value, the more distant the shadow. 5) {\be<0 or 1>} - Blur Edges (not really noticable) 6) {\fsc<x or y><percent>} - Scaling of the word by the percentage. {\fscx<percent>} scales the word horizontally. {\fscy<percent>} scales the word vertically. The percentage ranges from 0 to infinity? With 100% as the original size. 7) {\fsp<pixels>} - Changes the distance between letters. This allows you to put more spacing between letters by the number of pixels instead of pushing space bars. 8) {\fr[<x/y/z>]<degrees>} - Changes the rotation angle around the three axis. {\fr<degrees>} would rotate about the Z axis (an unchanging looking word rotating in circle in place) {\frx<degrees>} would rotate about the X axis (imagine a pig roasting over an open pit) {\fry<degrees>} would rotate about the Y axis (imagine a pole dancer swinging around the steel pole) {\frz<degrees>} is the same as {\fr<degrees>}. 9) {\<1/2/3/4>c&H<hex value>&} - Changes the color of the text according to the hex value. The hex values have 6 figures, FF FF FF. The first set of FF represents the intensity of red, the second set is green, and the last set is blue. Each set of color intensity ranges from 00 to FF. The <1/2/3/4> is a selection of 1=primary, 2=secondary, 3=outline, 4=shadow 10) {\<1/2/3/4>a&H<hex value>&} - Changes the Alpha (transparency) value according to the hex value. The hex value has 2 figures, FF. The set of hex value ranging from 00 to FF determins how transparent the word is. 00=Completely opaque (can't see through), FF=completely transparent (invisible). The <1/2/3/4> is a selection of 1=primary, 2=secondary, 3=outline, 4=shadow 11) {\an<alignment>} - Changes the word alignment (where the word is) using the numberpad layout. 1=lower left, 2=lower center, 3=lower right, 4=center left, 5=center, 6=center right, 7=top left, 8=top center, 9=top right. 12) {\ko<duration>} - Karaoke the word by outlining the word instead. 13) Layered Dialogue events - Layer multiple SSA lines, with the highest number on top. I've not figured this one out yet, it doesn't seem to work. Email me if you find out how! 14) scroll <up/down>;y1;y2;delay (obsolete) - ability to scroll up or down. See function Usage Section for examples. delay is calculated with (1000/<delay>) second for each pixel movement 15) banner;<delay>[;<0/1>] (obsolete) - Ability to scroll banners left or right. See function usage section for examples. Delay = (1000/<delay>) second per pixel movement 16) {\t([<t1>,<t2>,][<accel>,]<style modifiers>)} This function deserves a mini section for itself. Transform is the most powerful tool that could be used with many other style modifiers, they include: \c,\1-4c,\alpha,\1-4a,\fs,\fr,\fscx,\fscy,\fsp,\bord,\shad,\clip What transform does, is that it calculates various points between the current setting and the change that will happen with <style modifiers>. Creating a short animation of the transformation from the original to the new override. The [<t1>,<t2>,] is a very useful option that you could add. Without this, the transformation will start from the "start time" and end at the "End time" specified by the timing of the line. With it, it'd start from <t1> (offset from "Start Time" in ms) and continues for <t2> length of time. The [<accel>] is also an optional value that if it is between 0 and 1, the transformation starts fast and ends slow. If its greater than 1, it'd start slow and ends fast. It would always be balanced since a set amount of time is given to the transformation to be finished. <style modifers> is not an optional value and must be set. I'd give what each style transformation will do. \c = changes from the original color to the new color \a = gradually disappear or reappear \fs = the font size gradually grows or shrinks \fr = the word rotates to the new degree set \fscx = the word shrinks or grow fatter gradually \fscy = the word grows shorter or taller gradually \fsp = the word goes apart or comes together gradually \bord = the word gets more border or less border gradually \shad = the word's shadow comes closer or goes away further gradually \clip = the area thats being clipped happens slowly The coolest thing about transformation is the ability to do as many transformation as you like in a given SSA line. You can make a word shrink, blow up, disappear, reappear, change color, glow, rotate all over the place in one single line (an example of this in the next section). You can also use [<t1>,<t2>,] to make transformations happen in sequences in a given line. The start time is 5 second and the end time is 15 seconds. Within this 10 second frame, in the 1st second, you can make the word grow, in the 2nd second, you can make the word return to the original shape then start rotating, in the 3rd second, you can make the word rotate in another axis as you make the word shrink while it disappears. Imagine the possibilities. Another cool thing is to use {\r} in conjunction with {\t} transformations. In a karaoke, sometimes, you want something to only happen to one single word, and not all of them. With {\r} you could make the transformation happen to the first word of the sentence only! 17) {/move(<x1>,<y1>,<x2>,<y2>[,<t1>,<t2>]} - Another important function. The move allows you to move a word or line from (x1,y1) to (x2,y2) smoothly. The values for x1,y1,x2,y2 depends on the resolution of the video. So play with the values to get it right. [,<t1>,<t2>] is optional, and it sets the time for when you want the movement to start. <t1> is the offset added to the Start Time, and <t2> is the length of time it'd last. Both units in milliseconds. The bad thing about /move is that it can be done only ONCE in a given SSA line. 18) {\pos(<x>,<y>)} - Not so useful feature, it changes the /move statement to become stationary. 19) {\org(<x>,<y>)} - The description is "Moves the default origin at (x,y). This is useful when moving subtitles in the direction of rotation." And if you understood this sentence perfectly the first time without playing with the function, you are smarter than me. What this function does, is in conjuction with {\t(\fr<x/y/z>)}, it'd draw a circle with your SSA line in relation to the axis of rotation. Using the <x>,<y> as the center of the circle to be drawn, and the starting point of where the words suppose to come out (alignment determines this), it draws a circle with the word. A simple example is simply rotation with Z axis -- if <x>,<y> is at the left center, and the font alignment is at dead center, with {\t(\frz360)}, the \org will draw a circle with the word starting at the center, going up and disappearing to the top left, and then reappearing on the bottom left and continues till it goes back to the starting point. It'd draw a hemisphere. Basically, the degrees of rotation determines how much of a circle it'd draw. If you have 720 degrees, it'd draw 2 complete circles. If its 90 degrees of z rotation, it'd draw a quarter of a circle. Nifty, yeah? Now, if you add in x and y axis of rotation, you begin to get crazy shapes that I don't want to get into. This'd becomes an advance geometry class if I try to explain it (I don't even really understand it myself). Mix it up, and have fun with it! 20) {\fade(<a1>,<a2>,<a3>,<t1>,<t2>,<t3>,<t4>)} - This is the advance fading function. <a1>,<a2>,<a3> determines the 3 different sections of Alpha Values. <a1> is the alpha value of what the word is before the fade function starts (used to determine how much fade is gonna happen). <a2> is how much is faded at the midpoint. <a3> is how transparent the word is going to be after the function is done. Remember that alpha values goes from 0 -> 255 with 0 being not transparent at all and 255 being totally invisible. <t1> is the starting time, <t2> is when the initial fade is over and <a2> takes over. <t3> is when the final fade start and <t4> is when the fade ends. Time is done in milliseconds. <a1> is stuck between <t2> - <t1> <a2> is stuck between <t3> - <t2> <a3> is stuck between <t4> - <t3> and beyond. 21) {\fad(<t1>,<t2>)} - This is the simpler fading function. <t1> is how long the fade in gonna be, and <t2> determines when to start fading out. Time is done in milliseconds. 22) {\clip(<x1>,<y1>,<x2>,<y2>)} - Clipping is a curious function, it doesn't work as you originally think it does. Basically, with the two coordinate, it forms a box. With (x1,y1) as the top left and (x2,y2) as the bottom right of the box. With this box, everything OUTSIDE the box is erased. Not inside, but OUTSIDE. So if your box is a tiny one on the upper right hand corner, all your subtitles at the bottom will be gone. (This is useful with the transformation function). Examples of Function Usage1) {\u1}Hi mom{\u0}, love you! - Hi mom underlined but , love you! isn't. 3) {\bord10}wasabi! - Wasabi! got a big border now. 4) {\shad200}Yo - Yo's shadow is now somewhere lower right. 6) {\fscx200\fscy300}wasabi! - This create a much fat but much TALLER wasabi! 7) {\fsp100}wasabi! - Now it should look like "w a s a b i !" 8) {\frz360}Poo! - Nothing changes about Poo! Since it's rotated completely around. 9) {\1c&HFFFF00&}Wasabi - RED + Green is ? Yello WASABI!! 10) {\1a&HFF&}wasabi! - Invisible WASABI! 11) {\an5}wasabi! - Right in the CENTER WASABI! 13) Layered Dialogue events - Email me with information! 14) Dialogue: Marked=1,0:00:00.50,0:00:07.58,Yo,,0000,0000,0000,scroll down;100;600;10,{\an8}WASABI!! Wasabi going down da center ! 15) Dialogue: Marked=1,0:00:00.50,0:00:07.58,Yo,,0000,0000,0000,banner;10;1,{\an8}WASABI!! Notice that it gets cut off because the delay is too slow per pixel movement for it to go across completely! 16) {\t(0,1000,\fscx200\fscy200)} {\t(1000,2000,\fscx50\fscy50)} {\t(2000,3000,\fscx100\fscy100\bord5\frz1440} {\t(3000,4000,\bord1} {\t(4000,5000,\bord10} {\t(5000,6000,\bord3} {\move(0,0,600,600,0,3000)} {\fade(0,255,0,0,1000,2000,3000)} {\t(7000,8000,\1c&HFF&)} {\t(9000,10000,\1a&HFF&)}wasabi! Looks scary? Its not =) Let us break it down. {\t(0,1000,\fscx200\fscy200)} - This tells it to increase the scale of wasabi in both x and y for the 1st second. {\t(1000,2000,\fscx50\fscy50)} - This tells it to decrease the scale to half of the original size. {\t(2000,3000,\fscx100\fscy100\bord5\frz1440} - This tells it to change back to original size as we increase the border to 5 and rotate it by 1440 degrees in the next second. {\t(3000,4000,\bord1}{\t(4000,5000,\bord10} - This tells it to shrink the border down to 1 then increase it to 10 to create a pulsing effect. {\t(5000,6000,\bord3} - This tells it to go back to the original size. {\move(0,0,600,600,0,3000)} - This tells the wasabi! to move from (0,0) to (600,600) in the first 3 seconds. {\fade(0,255,0,0,1000,2000,3000)} - This tells wasabi! to fade out and fade back in from the 1st second to the 2nd second to the 3rd second. {\t(7000,8000,\1c&HFF&)} - This gets it to change color to red from white (preset in style). {\t(9000,10000,\1a&HFF&)} - This gets the primary color to become invisible in the 9th second. 19) {\a10}{\org(570,400)}{\t(\frx480\frz480\fry480}hi - Watch hi go crazy =) 22) {\clip(200,200,400,400)}wasabi? - Depending on where wasabi was, it might be there... or might not!! Tips & Tricks and Advanced ExamplesThe first three are things I've seen executed since I've learned about the plugin (in the order that I saw them). I did not get the SSA script for these things, so they might not be exactly how they are done. The rest are things I thought up =) -- Hikari no Kiseki: Pita-Ten Episode 04 Opening --Features: 1) Line changes to a lighter color to create a feel of fade away. 2) Line fades away "word by word" from left to right instead of the whole thing fades away at once. How it is done: 1) Via {\t(<t1>,<t2>,\1c&H????&)} from the original style/color 2) Via multiple {\t(<t1>,<t2>,\clip(<x1>,<y1>,<x2>,<y2>)} for each line. The box shrinks after each segment is deleted, since the words within the box are preserved, if the box shrinks from the left to the right, the appearance of fading from left to right is created. Done First By: Jasconius (Before 5/07/2002) -- Soldats: Watermark Logo appearance (Unreleased yet) --Features: 1) The letters S, O, L, D, A, T, S appearing and moving right forming the word Soldats slowly. How it is done: 1) It is relatively simple to execute. {\fad(###,0)}, {\move(x1,y1,x2,y2,t1,t2)} for each individual letters. Done First By: HKenshin (Before 5/14/2002) -- Anime Keep: Chobits Opening (Unreleased yet) --Features: 1) Karaoke with each word thats sung bouncing up and down How it is done: 1) First, since it is in karaoke environment, there are bunch of {\k##} around. So it gets messy. Now, with {\fsc<x/y><percent>} it scales the entire line of SSA. And to give the appearence of bouncing, you must add in transformation. So in each syllable of the karaoke, you would have a total of 4 or more {\t(<t1>,<t2>,(\fscx%\fscy%)}. With the first transformation making it grow taller and skinnier, and the second to make it back into same shape or making it shorter and fatter, and the third.. so on. After each karaoke syllable, the {\r} is used so only that ONE syllable bounces instead of the entire line. Very difficult to execute using this method, I believe the creator did it another way =) Done First By: Trowa_Zero (Before 5/15/2002) -- My Own --Features: 1) Spiraling Text from out to in or in to out, like a seashell. 2) Words fly at you. How it'd be done: 1) With multiple {\t(\frz360)}, {\org(x1,y1)}, {\frz<degree>} in many lines. Each line will draw a circle, and the next line will star the word in the correct positioning as left off by the previous circle. The alignment will be changed to further away so the radius will grow bigger while the org stay the same. 2) Simply increase the scale of the word in the x and y direction both at the same time with {\t(\fscx###\fscy###)} while increasing the pixel spacing with {\t(\fsp###)} I'd love to hear more tips and tricks that you come up with! As long as it looks cool, email it to me and I'd add it here! Conclusions & Misc StuffAs you can gather, there are many things that can be done by the new plugin. But of course, it'd really only shine in Opening and Ending credits when things can fly around. However good it is, it still can't really compete with the effects creatable by products like AfterEffects and Premier. The thing that'd be used the most I gather is {\move} ... for anime episodes that contain signs that moves around (I hate those). In any case, with the above functions, creativity really counts! You can now make anything happen ~~ nearly =) Thanks to Gabest for creating this plugin... wouldn't be writing this otherwise. To HKenshin, for being kind enough to point me in the right direction by giving me Gabest's website for VobSub. And to Jerf, the evil one who got me started. Group Greets: #anime-empire, #anime-keeps, #anime-otakus, #animehaven, #bakaMX, #HikarinoKiseki, #ishin-digital, #soldats If there are any errors in this guide, or if you like to add something to the guide, or if you just want to hurt me for writing this... Contact MorphineX on at irc.EnterTheGame.com or Write me an email at fudgeit2k@hotmail.com |