I. General stuffs
1.1 What is Fansub ?
1.2 How is it done ?
1.3 Tools required
II. Making subtitles
2.1 Different types of subs
2.2 Aegisub
2.2.1 Create, edit, translate subs
2.2.2 Make & manage styles
2.2.3 Timings, toolbox
2.2.4 Karaoke
III. Encoding
3.1 Softwares & specs
3.2 Video encoding
3.3 Audio encoding
IV. Muxing streams
4.1 MKVmerge
4.2 Checking release
V. Troubleshooting
I. General stuffs
In this part, i'll put the main idea about fansub and what i'll explain after
What we call Fansub depends a lot of individual knowledge and people who say it. There is various levels in this activity and in the end all are called the same way.
First, the basic fansub teams wich do the whole work (getting raw, translation, edit, encode, check, muxing, re-check...etc) do the "fansub" work. Though, there is sub-levels of fansub, most of them are just teams which don't have a direct translator for their language and then work based on english/US subtitles. It can appears easier, but actually it's not so simple, cuz english subtitles use a lot of english expression or grammar, forms, vocabulary...etc which don't exist in the team's language and japanese, then they have to first translate from english and then adapt with listening to audio and produce more accurate subs. In these sames teams, there are a lot which just translate without really caring about the translation accuracy...
Aside of this, there is also what we call "remux" or "mux", usually they take subs from an other team and make their own encode and remux, or modify subs and then remux or even just remux a team's release with an other team subs.
the most important, whatever the way it's done is that the historical goal of fansub is to provide to us series/movies/animes we cannot get in our coutries yet or not at all.
To provide releases, there is some options, Direct download (hosting files on external servers - often removed by hosters cuz of copyrights), xdcc bots - IRC chans and maybe the most efficient P2P (torrent files).
Just before i sad fansub was getting "RAW" (original video+audio, TV broadcast or disc rip), encode, make subs & translation, edit & time, check, muxing, check again and then release and share it.
To get a RAW, the easiest way is to make some browser's bookmarks with 3 - 4 torrent's search engines, since i'll center the topic on animes, choose trackers anime-oriented (NyaaTorrent, Anirena, Tokyo Toshokan, BakaBT...), i usually use NyaaTorrent. There you just have to choose "RAW anime" as type and put a part of the title you want to find it.
Now that you got a raw, you need to create subtitles with translating from audio, or use already existing subtitles. When translation is compete, adjust timings to synchronise subs with video/audio, then check and correct any mistakes or bad timing. When your subs are ready, let's encode the raw (you can keep the original raw if the size/quality looks good), notice that Bluray rips are often a lot overbitrated (>1.5 or 2GB for 24 min), think about the way you'll share it and ppl who'll download it. Check your outputed file, video & audio encoding bugs can appear sometimes. When it's "all green" you can mux it together with subs to make the release candidate file (hardsubs or softsubs, depends of your preference). When your project file is done, check again if there is no timing problem.
It's done, now share it !
DDL : choose a hoster website (there is not any "ultimate" choice, it depends a lot of your file's size and hoster's GUI)
xdcc bots : i cannot help you about it xD
P2P : make a torrent from your file with a P2P client (there are tenth of it), then load it and link your file, then post your torrent on a tracker and seed. You may need to download the torrent from tracker since some of them edit it a little after upload. (you can also upload the file temporarily somewhere and ask friends to get it and help you to seed the file in P2P).
To make all this you need some material and software. First of all, if you've got an old computer with low computing capabilities, you can forget all >=720p encoding and make a fast encode compact file to use for subtitle's edition.
About softwares... I'll use MKV files, Aegisub as subtitle editor and MediaCoder as encoder. Though, you're free to use the software of your choice (FormatFactory, virtualDub, MKV2vob...etc) you can also edit subtitles with notepad (it's still a text file...) but it's... "different" xD
So, i'll put here some juicy links :
MKVtoolnix : pack of tools from the official Matroska website (MKVmerge, MKVextract...)
Matroskaprops : display all Matroska properties & streams of mkv files (contextual windows menu)
MediaCoder : the video encoder i use (a little stubborn, but excellent)
MediaCoder Audio Edition : MC can encode audio, but encoding it separatly from audio avoid muxing problems and reduce failure rate :p
Aegisub : i guess this soft is used by almost all fansub teams. I'm not a pro at it, but i'll try my best to explain the basis.
MediaPlayer : this is a link to the "Satsuki Yatoshi's" decoder pack, feel free to use any other pack (CCCP, Lite...etc) just think that all players cannot run the matroska file linking segment for series with external OP/ED.
...i almost forgot, you need an internet browser, a desk and a chair...
II. Making subtitles
When you don't know, all subs are just text displayed on the pic, some looks more sharp, others more "pixelized" or even smooth, actually it's because they're totally different.
First, will see what is "Softsubs" and "Hardsubs". I can already tell you that it has nothing to do with the laguage/vocabulary used in it. It's the render process and file's conception which is different.
Softsubs are text files in a separated stream from video, or even external file, it contains the text and depending of sub's type, other settings. The Mediaplayer load it and read in parallel of the video/audio streams. You can enable/disable it as you wish, or load others subs during playing..etc
Hardsubs are subtitles integrated inside the video stream. Text is added as video datas during encoding. You cannot disable it or change it. Nevertheless, files with this sort of subs are usually AVI or MP4 and can be played on various players (DivX players, PS3, Xbox360...).
Inside the Softsubs there is 3 main types ; SRT, Vobsub and ASSA
SRT (SubRip Text) : the simpliest subtitle type, both to make and to display for the media player. It contains the subtitle's text and timings, file is written with text lines one after one other, separated by an empty one (timing - text - empty...etc) It'll use your Mediaplayer Default font during render, then you can change it at will.
Vobsub : maybe the worst subtitle's type ever... these subs are used in DVDs.. you know the ugly subtitles in yellow or white with a gameboy/pixel look.. It's actually not a text file, it's a bitmap layer displayed over the video. To "ripp" it you have to use an OCR software (Subrip, SubResync) to scan the whole subs and put it in text....
ASSA (Advanced SubStation Alpha) : THE ultimate subtitle type for now. It uses the basis of SRT files but is coded like HTML. You can add different styles, different effects during the render, or even display vectorial draw. Though since it's an advanced coding, all mediaplayers are not able to render all effects it correctly yet (karaoke, moves...etc).
This will be one of the biggest part, Aegisub is used by numerous fansub teams if it's not all of them. this soft allows to create an incredible type of subtitles and got an integrated vectorial draw tool and all stuffs need for karaoke...etc
First of all, let's have a look at the main window...
So, the GUI (Graphic User Interface) is pretty user-friendly, the most used features are accessible fast with buttons, menus are easy and all parts are separated to not confuse or mix parameters.
Depending of your computer, the video file size has to be adjusted or it'll lags a lot when you switch of subtitle's line with video synchro.
Let's see about the use now :D
First of all, know that you can open subtitles from MKV files (it extract itself) or with using an external sub fil (srt, ass...) [file] -> [Open subtitles] or create a new file if you have to do the full job.
Columns are easy to get, Line number, Layer, appear time, disappear time, style applied and content.
The longest task if you create new subs is to adjust timings... a real pain in the ass (word game :p).
To adjust timings, you have 3 solutions :
- overwritting in the timing boxes (it overwrite the number next to the cursor). Time box got layer / start / end / duration / left-right-vertical margins
- moving the frame on the waveform if you use it and then [commit] changes
- use the menu [timing] - [shift times] and move it earlier or later, inputting the time gap.
About edition itself, it's just like a text editor. Input test in the box (right side) and press [enter] to go to the next line or increment a new one. You can insert, duplicate or delete single or multiple lines with the right click (really usefull).
To add a comment's line (not visible during file play), just check "comment" in the edit box. It's usefull if you work on subs with other ppl to let them notes or to not forget stuffs when you open it again later.
If you plan to translate existing subs, you can overwrite text or use the translator helper
(the button wich looks like a little orange fish)
With this, you can translate line by line, with original text in the upper box and input text under. Use the audio/video playback to check the line's corresponding display.
(audio check is important, if you use japanese audio with existing subs, cuz it's often an interpretation and not a word matching translation, then it can end up totally different from the real spoken words)
The good thing with existing subs is thtt timing is (supposed to) already correct.
The bad thing is to not check and use subs from TV releases with DVD/BD Raws where they may be additionnal scenes, pictures or timing gap ^^.
There is a "style tool" in Aegisub wich allows you to create in advance a set of specific fonts/color/size/effects and then apply it to desired subtitle's lines.
It's awesome for example if you use a font + color + effect on a song, then an other style for subtitles and then an other one for notes. You create the 3 style and then apply it to lines later.
In the Styles manager, you can create a container and add different styles into it (usually 1 container for each serie) you can transfert existing styles to the current open script and update later the corresponding container, or edit a style in the current script and update the container one with overwritting it.
Double click on a style to edit it or use the buttons below.
Later, directly with the subtitle's editor, you can select a line or a group of lines and apply a style on them with choosing it in the text setting panel on the right side, after the "comment" checkbox. (to apply a style, you have to add it in the current script)
When you're done with styles, if it's not yet accurate, you have to adjust timings.
It may be the most important part, timings will define when subtitles appear & disappear, it's difficult to adjust them sometimes when sentences are long or when characters speak fast, you have to count the time neede to read the text, but with keeping in mind the dynamic/concatenation of the dialogs.
If you work from existing subs, you just have to adjust timings a little or even only "shift" them for all the script.
Indeed, you can select all related lines and apply a time shift for all selected lines, or the whole file. (pretty usefull).
There is also the raw timing adjustment in the text edit panel, with starting time, ending time and duration. If you add an fading effect, don't forget that it's taken in the duration.
ex : 3 seconds duration with 500ms fade in + 500ms fade out = 2 seconds clearely visible.
You can check with playing a part of the video if it's synchro.
After main timing, you have some advanced timing features and karaoke available in Aegisub.
To begin with... I'm far to be good with karaoke, real flashy karaoke are made by other softwares and it's almost a programming task.
Here i'll just show you the timing splits and effects available with Aegisub.
First, i greatly recommend you to use the waveform view of the audio, then you can split and time karaoke precisely. Karaoke not matching voice is horrible ^^.
So, the basic feature to make a karaoke effect with Aegisub is then color change of text. (You can add moves or other effects as you wish later)
The color used are those in the style manager, the first color is the color of active text and the secondary color is used for the background text color, then usualy all the sentence appear with the secondary color, and when lyrics are said, it turned into primary color.
You can also adjust opacity and shadow to improve the final render.
Here we go :
This is the basic view with waveform to start to create karaoke from lyrics and audio.
The lines at the left and right of the waveform represent the starting/ending time of the subtitle line.(moving it change timings !).
When you activate the karaoke mode, Aegisub automatically split the sentence according to words. Splits are black lines between words, when you select a word, it displays the corresponding audio part on the waveform.
To adjust splitting and syllabes separation, click on [split] and then add a separation with clicking where you want to split the sentence (in text).
Once it's done, you can [accept split] to validate.
Then, the splitting is displayed on the waveform, you can adjust it to suit the actual audio spelling by dragging the yellow lines (it adjust the "\Kxx" values in subtitle edition).
When you're done, check the render and enjoy :p
Have a look at Aegisub's wiki on it's website if you are stucked :}
III. Encoding
Now, we're getting to a key part. If you plan to use releases and just modify subs, you can drop this section.
If you plan to encode, feel free to have a look ;D
First, ill tell the obvious... The faster is your computer, the faster it'll encode...
Encoding softwares use the source file, then decode in internal video + audio (depend of softs and setings) and then analyze it to allocate bitrate.
Then it decodes > scan > compute > encodes > write output file.
Just to know, video encoding put a lot of stress on the CPU + RAM (between 65 and 100%), if you plan to do other stuffs on the computer, think about it and change the core attribution if you have a multi core CPU. Or encode during times you don't use your PC.
Softwares needed, you can use those i put in the first part of this tuto. It's from 1 year, then it might be updated since then xD
MKVtoolinx
Matroskaprops
MediaCoder
Aegisub
Satsuki Yatoshi codec pack
CCCP Codec pack
10-bit player : MadVR + LAVfilter + MPC-HC r3758
are still good a.t.m.
I'll add some good references :
- Free studio softwares (bundle of usefull transcoders, very nice)
- Handbrake (good encoder, easy to use)
- DVD decrypter (to rip DVDs or make ISO in 2 clicks)
- Sub resync (to turn VOBSUB *.sub and *.idx into srt or ass scripts)
there are more...
Since i'm there, i'd like to wan you about MediaCoder. It's really good to encode but it has it's own "character". when a file displease it, you'll know fast with errors or bug output files or blocked process. Usually, encode only the video with it and if you get errors with source video, try AviSynth instead of MEncoder.
Ok... Attach your seatbelts ~ Here we go !!
This is the main window of MediaCoder (v5.5.2.0) You can drag & drop files into the list or add it with clicking on the first button "+" wich can add complete folders too. Remove selected files with "-", clear the list...etc
At the right side, you have the media description with streams ID and infos (you ca nget additionnal infos with right click on the item and get "details of selected file".
The most important part is the table below, taht's where you'll put all settings & options.
Here, it's the "preview" tab wich display the corresponding video during encode.
Now, let's see about the real deal...
In the left part, you set codecs and options, in the right part the advanced features.
Well tasking just set the basis with input, computing, output settings.
(if you want to use your comp for other stuffs during encode. I never use the output file's formatting for batch.
The Video part<3, here, you set all video codecs and modes with advanced features in the tabs at the right side. When you choose a codec on the left, it goes to the corresponding tab at the right side to change settings. There are about 25 video format and ~15 codecs, CUDA encoding feature (GPU encode with nVidia video cards and H264)... So as you already know, for animes, we'll stay "stucked" on x264 or XviD, the presets are not bad, then if you're not sure about how to set advanced options, try an encode and test with other settings later.
Bitrate is the key for size/quality it defines the amount of datas allocated for 1 second of video, then of course, the more there are datas, the better is the quality. Though you can "cheat" with 2 or 3 pass modes wich compute the dynamic (variations between frames) of the video and allocate more or less bitrate on the different sequences to optimize the quality.
The advanced settings on the right side are optimizations of this computing and refine the picture, then you can increase a little the quality without increasing the main bitrate.
Notice that powerfull scans increase invisibly the quality, but can triple the encoding time ^^
(differences can be seen when you take a screenshot of a dynamic scene only if the global quality is good)
You can get interesting informations about profiles, size about H264 [HERE] (tables are usefull).
Just one word about 10bit encoding... don't encode in 10bit a 8bit video, it's useless ^^
Same for bitrate, don't encode a video with an higher bitrate, it cannot increase quality (you can still try to upscale with good settings, the render will be just a little better than a mediaplayer upscale).
To summup : choose the global bitrate, H264 format, x264 codec (or auto), MEncoder source (or auto) and 2 or 3 pass modes. Simple pass or CUDA encodes are not good about quality. (good enough for temporary video to make subs cuz it's fast)
The audio part is not as hard as video, just choose the audio stream you want and set the codec (or copy), quality settings
Just as info, MP3 is mono or Stereo only, for 5.1/6.1/7.1, use AAC (LC or HE) infos [HERE], or Vorbis, or FLAC...etc FLAC makes big files cuz of high bitrates (can be over 1064kbps for stereo...).
Here you can choose the output file profile, MKV, MP4, AVI... Just know that AVI cannot handle any video/audio codecs, then use MP4 or MKV ^^
The multiplexer can be set as auto, there is no use to change it since it'll not work if you do xD
"Picture" is an interesting part, here you set the picture size (720x400, 1280x720, 1920x1080...etc) the color space mode (let the default I420), Aspect ration to modify render (4:3 / 16:9), Cropping to adjust picture's borders (often on DVDrips there are useless margins wich shouldn't be encoded). Never tried other settings here ^^.
The sound panel allows you to manage the render, or convert 5.1 to stereo...etc (carefull, this used to bug a lot, then i stopped to use MC to convert 5.1 to 2.0, it dropped 4 channels instead of fusing the 6 into 2...)
Volume gain, behave like all other soft, if you increase too much the gain, it saturate channels and makes horrible noise. If you want to change the channels... be sure of hat you do or it can output something weird, like sound from back comming from left or right sound moved into left...etc.
=> still have a look at the summary box to have an idea of other settings and output size.
Subtitle's settings, you should disable it if you want to transcode video only
Enable it to merge soft subs into the video, but set correctly fonts, size and position. About position, it comes from top of screen to bottom... not in the logic way ^^.
You can use external subtitles too by browsing with the [...] button at the bottom.
There are no infos about the other tabs, cuz i don't use them.
About the streaming feature, i never got it to work and since it was just to try i dropped this feature >.<
Since you'll get some errors or bugs with MediaCoder during encodes, i prefer to tell you to encode audio separately ^^.
It's still stupid to get an error because of audio after a 3-pass encode (wich can last 10 hours for long movies), while audio encoding is much faster.
So, you can use "MediaCoder Audio edition", it works just like his big brother and if the 5.1 to Stereo bugs, then you should try the "Free audio converter" included in the "Free Studio" bundle.
You can choose the codec and bitrate. It uses a lot presets, and doesn't show real advanced settings, but in last resort it works well ^^.
IV. Muxing Streams
Muxing streams into a container is like making ar archive with multiple files.
AVI can contain 1x video + 1x audio (Xvid, DivX, x264 for AVIv2 and MP3/AC3).
MP4 can contain 1x video + #x audio (doesn't work well) it handles almost any video and audio codecs.
MKV can contain... actually any file/streams + internal segments infos and chapters.
Then MKV is win ^^
When you transcode from a RAW video with an other RAW audio and subs, you mux together the streams (video+audio+subs) into the MKV (container) and you can attach font files to render subs with specific fonts on any computer, chapter file, and tons of other files... even exel, word, html, exe...etc
Muxing doesn't encode, it only merge streams together (direct stream copy).
=> chapters files can enable the matroska file linking segment feature wich works with some mediaplayers. It allows to link external files while one is played, external Opening or ending uses this.
I'll describe how it works later in the chapter part.
This is a core tool to do any fansub. It mux streams together, manage attachements, generate or merge chapters, manage mkv splitting...etc
This is the main window [input] where you add streams of other MKV/MP4/AVI...etc to merge them together inone MKV. You can also append segments to put them one after one other. If you have a movie in 2CD, you can use this feature to make a single continuous file ;D
Input tab is easy and the GUI is user-friendly, add files, mark/unmark streams, move them up/down, add a title for each stream, language or other matroska settings (aspect ratio, display size, delay...etc)
Attachments tab is where you add files to include inside the MKV.. Actually you can put any file, but usually it's used to add specific fonts, then subtitles are displayed the right way and not in Arial (or any default font), cuz often during karaoke, fancy fonts are used and not everybody has it. Pretty usefull ^^
The "global" tab is where you can input a segment title. this is NOT the file name, you can rename the file as you want, the segment title will stay. It's the title wich is displayed in the media player title and also the one displayed on instant messengers (display what i'm listening to feature).
You can also split the file to extract a part, add a chapter file...etc
Chapters... the famous chapters :D
Here you can create or edit chapters (intro, EP, part1, eyecatch, part2, ED, preview) to navigate during file play.
As i said earlier, chapters are used to display external files (matroska file linking segment). Sadly this feature cannot be managed here. You can just make the chapter file and input timings.
To link external files, you have to open the chapter file (xml) with notepad, and edit it very ultra carefully.
samples :
normal chapters extract :
<Chapters>
<EditionEntry>
<EditionFlagHidden>0</EditionFlagHidden>
<EditionFlagDefault>0</EditionFlagDefault>
<EditionUID>3060572601</EditionUID>
<ChapterAtom>
<ChapterUID>1472737924</ChapterUID>
<ChapterTimeStart>00:00:00.000000000</ChapterTimeStart>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
<ChapterDisplay>
<ChapterString>intro</ChapterString>
<ChapterLanguage>eng</ChapterLanguage>
</ChapterDisplay>
</ChapterAtom>
[...]
<ChapterAtom>
<ChapterUID>1776854707</ChapterUID>
<ChapterTimeStart>00:23:27.282000000</ChapterTimeStart>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
<ChapterDisplay>
<ChapterString>preview</ChapterString>
<ChapterLanguage>eng</ChapterLanguage>
</ChapterDisplay>
</ChapterAtom>
</EditionEntry>
</Chapters>
chapter extract wiht linked segments :
<Chapters>
<EditionEntry>
<EditionFlagHidden>1</EditionFlagHidden>
<EditionFlagDefault>1</EditionFlagDefault>
<EditionFlagOrdered>1</EditionFlagOrdered>
<EditionUID>2236921999</EditionUID>
[...]
<ChapterAtom>
<ChapterUID>3462816958</ChapterUID>
<ChapterTimeStart>00:00:00.000000000</ChapterTimeStart>
<ChapterTimeEnd>00:01:30.000000000</ChapterTimeEnd>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
<ChapterSegmentUID format="hex">
96 9c c4 24 f8 02 84 e0 8a 7e a2 12 42 cf bb 6f
</ChapterSegmentUID>
<ChapterDisplay>
<ChapterString>OP</ChapterString>
<ChapterLanguage>und</ChapterLanguage>
</ChapterDisplay>
</ChapterAtom>
[...]
<ChapterAtom>
<ChapterUID>3740780721</ChapterUID>
<ChapterTimeStart>00:00:00.000000000</ChapterTimeStart>
<ChapterTimeEnd>00:01:18.000000000</ChapterTimeEnd>
<ChapterFlagHidden>0</ChapterFlagHidden>
<ChapterFlagEnabled>1</ChapterFlagEnabled>
<ChapterSegmentUID format="hex">
82 18 2d 63 bb e1 95 27 84 b0 1c 7c 43 97 a6 66
</ChapterSegmentUID>
<ChapterDisplay>
<ChapterString>ED</ChapterString>
<ChapterLanguage>und</ChapterLanguage>
</ChapterDisplay>
</ChapterAtom>
[...]
</EditionEntry>
</Chapters>
In this section, you noticed that :
"<EditionFlagOrdered>1</EditionFlagOrdered>" was enabled (0 for diabled)
To link the external file, it doesn't use the file name, but it's hexadecimal UID :
<ChapterSegmentUID format="hex">
82 18 2d 63 bb e1 95 27 84 b0 1c 7c 43 97 a6 66
</ChapterSegmentUID>
The external file HAS TO BE IN THE SAME FOLDER or the player will not find/play it.
To find the hexadecimal value of the linked file, use MKVinfo (in the MKVtoolnix package)
here.
(remove the "0x" and keep only the 16 groups of 2 values.)
Also, adjust timings for the display of linked segment to make it smooth during render.
Never forget to check twice all you do, usually, subtitles errors or bad timings jump on your eyes.
Be carefull also about translations and expressions. sometimes, when you look the file, some words sounds weird.
Also about 5.1 -> stereo conversion, it'll appear now.
Once your done and proud of your work... store it somewhere or share it (DDL, P2P...etc)
V. Troubleshooting
About MediaCoder error, you should check their wiki with error code, it's often due to video input decoder, or audio stream muxing, or container merging.
About subtitle's render wich is different between Aegisub and media players, know that all media players are not compatible with ASSA effects or display it in a weird way or not at all.
About file linking segments wich doesn't work at all, be sure to use a mediaplayer or codec pack wich can render it. As far as i know, only the CCCP and Satsuki codec packs do it correctly.
Haali Media splitter > input > "try to open linked files" : Yes.
If you have any other question, problem or additional info, mail me (zampa33@gmail.com) or leave a comment below !
Good Luck !
[ZaMpa]