Everything You Never Wanted to Know About Fansubbing

This is an index of everything learned this last year.

This covers media (A/V/S), networking configurations, setting up servers, video encoding, random cross-platform software, windows specific software, software development projects, blog posts with technical details, and guides for everything.

A mirror of this is up at yukisubs.wordpress.com/guides.

Fansubing:

  • Capping
  • Encoding
  • Filtering
  • Translating + TLC + Editing + QC
  • Timing/Fine Timing/KFT
  • Typesetting
  • Muxing
  • Distribute
    • Torrents
    • HTTP/S
    • IRC
    • Random Distro Tools
  • Misc:
    • Patches
    • The Group Blog
    • Seedboxes
    • Remux

Fansubing

Capping

Encoding

Filtering

Translating (TL) + Translate Check (TLC) + Editing + Quality Control (QC)

  • Transliterating: Change the words and grammar to a new language.
    vs
  • Translating: If necessary, change what was said, including metaphors, to convey the same meaning.
  • Editing: Making sure the translation sounds natural in the new language, is consistent and is either localized or unlocalized (depending on preference). Personally, I also 1) make sure the dialogue is compatible with speed reading techniques and 2) listen to the foreign audio to make sure the post-edited dialogue stays as literal as possible.
  • QC: Checks everything for errors. Also includes checking the subtitle timing and for artifacts in the media streams.
  • Blog about fansub drama and editing: crymore.net
  • py3stringReplace (for pre-editing other people’s subs efficently)

Timing/Fine Timing/Key Frame Timing (KFT)

Typesetting

Muxing

  • Theory: The idea is to take multiple discrete files (video, audio, subtitles, fonts) and merge them together into a single file for playback. This process typically means shortening, lengthening or delaying streams for syncing.
  • Shortening and delaying are compatible with stream copying techniques. However, any lengthening or modifications done mid-stream will typically require transcoding the entire stream. Thus, the two tasks (encoding and muxing) overlap somewhat.
  • The typical containers used are either Matroska (.mkv) with softsubs, fonts and possibly multiple audio streams, or standard MPEG-4 (.mp4) containers with hardsubs and a single audio stream.
    Muxing tools:
  • Read up on the following switches: -ss -t -to in the ffmpeg documentation and also this guide
  • Use the -map switch to extract a non-first stream in multistream files. FFMPEG documentation and a related guide.
  • MKVToolNix: Homepage
  • tsMuxer Alternative to FFMPEG for muxing INTO transport streams (.ts or .m2ts).

Distribute (Distro)

Distro Method #1: Torrents

  • Basic: Introduction to BitTorrent Protocol, Beginner’s Guide, WikiBooks, Wikipedia
  • Technical: BitTorrent in Detail, Specification, and BitTorrent Enhancement Proposals (BEPs)
  • Client Side:
    • recommended client list uTorrent 2.2.1 (this exact version), qBitTorrent, rTorrent
    • Port Forwarding: theory and related guide.
    • Distributing torrents:
      1. Open uTorrent or qBitTorrent
      2. “File-Create” or “Tools-Torrent creator.”
      3. Put your favorite trackers into the tracker box.
      4. Select a file or directory - Create and Save.
      5. That will generate myfile.torrent. Upload myfile.torrent to some website. (Note: This will register it or start the registration process with the tracker if necessary.)
      6. Give it a description so other peers know what you are offering.
    • Note: This only distributes the meta-file. For the distribution of the content, use a seedbox.
    • Creating torrents faster with a CLI (advanced): Python 3.1 + python script py3createtorrent, DL link, and use pyinstaller to compile.
  • Server Side Theory:
  • Backend Tracker Software: Since trackers are meant to be always active on high performance connections and require constant maintenance, it is not recommended to run one. Use existing trackers instead. However if interested, here are a few:
    • Chihaya, open source, Go, TCP and UDP, high performance, rising popularity
    • OpenTracker, open source, C, TCP and UDP, high performance, most popular tracker
    • Ocelot, open source, written in C++, TCP only, medium performance, emphasis on private tracker features (?)
    • py3bt_tracker, open source, Python, TCP only, ultra low performance, 100% standalone with precompiled binaries

Distro Method #2: Hyper Text Transport Protocol (HTTP) (+ Transport Layer Security (TLS))

  • Client:
  • File Server Cloud:
    • Cloud storage providers like Mega provide substantial but limited duration storage.
    • Anime Tosho.org mirrors the contents of English translated torrents on Nyaa and TT to cloud storage providers.
  • Web Server Cloud:
    • See: The Group Blog.
  • Selfhosting (HTTP):
    • See: Seedboxes section below.

Distro Method #3: Internet Relay Chat (IRC)

Random Distro Tools:

File Transfer Protocol (FTP)

  • No. This protocol needs to die. Use HTTP instead.

Edit: Updated grammar, the “Seedboxes” section, added “The Group Blog” and split the “Misc” section into a second post due to forum maximum per-post character limitations.

6 Likes

Misc:

Patches

  • Theory: “Patches” are small scripts that take an existing file, a difference file (patch.vcdiff) and create a new file based on those differences. More theory: Patches and xdelta3.
  • Guides:
  • BakaBT’s Patching Guide
  • 13ack.Stab’s Guide to V2 Patches
  • Using patches: a simple example FFF’s Mirai Niki 7 - Patch and [some complicated examples].
  • To create a patch: FileA + FileB = differences.vcdiff
    • CLI: xdelta3 -e 9 -s old_file new_file delta_file
    • Or xdelta3 GUI for GUI people.
  • A binary version of xdelta3.exe can be obtained from the above patch examples or from xdelta3 GUI.

The Group Blog

  • Theory: Provide a way to centralize knowledge about your group including the following:
    • Latest release information, project archive, download options (Torrents/HTTP/XDCC/fserve), contact information (IRC/Email), community feedback mechanisms (chatbox), reserved waifus, guides for the community, and donation solicitation.
  • Getting Started:
    1. (optional) Read this, The Internet and Hosting Providers, to know how the internet works and how much services cost.
    2. (optional) Purchase a mygroup.moe domain from Hover for $20 (yearly).
    3. Start a blog on Blogger or Wordpress.
      • Note: Wordpress and Weebly charge for custom domains and Blogger will disable TLS.
    4. Post releases. Example.
  • Markdown (formatting for blog posts):

Seedboxes

Remux

  • Theory: Remuxers typically focus on improving work done by other groups, combining work done by multiple groups and/or combing subs with better Audio/Visual (A/V) sources.
  1. Obtain raws (See: Capping)
  2. Obtain scripts
    1. Find out which groups did the series:
    2. Obtain the subs or files.mkv from the group.
      • Check their website for HTTP or torrent links. (Hint: Use Chrome’s translation feature.)
      • Check the BitTorrent tracker the group uses.
      • Check their IRC channel and look for an XDCC bot.
      • If you can find out the exact name of their files, use @find in rizon.net’s news and give it to Google.
      • Ask the group over IRC or email (unlikely to work).
      • This one russian site, subs.com.ru, sometimes has scripts.
        • Use Notepad++ to change the character encoding to UTF-8 if necessary.
    3. If you can obtain the files.mkv, then stream copy or extract them out. (See: Muxing)
  3. Fix any issues (like localizations and syncing issues) (See: Filtering, Encoding, TLC, Editing, Timing, Typesetting)
  4. Mux to preserve the changes (See: Muxing)
    • It is considered rude to use an existing groups tag in the filename, even if you made only minor changes to their script. Use any other tag, even a throw-away one, or your own tag. To give them credit, label the track with the original source name and credit them it any descriptions.
    • Remember to put the CRC32 in at the end of the filename (e.g. myfile_[1BA919D7].mkv).
  5. Distro (See: Distro.)

Edit: Updated grammar, the “Seedboxes” section, added “The Group Blog” and split the “Misc” section into a second post due to forum maximum per-post character limitations.

3 Likes

I have no clue what this is so it must be pretty good:)

1 Like

Wow you put a lot of work into something not many people never want to know about. I might sticky this as some of this stuff is interesting to say the least.

wait by fan subbing what do you mean?

fan translations of foreign films. Usually anime.

1 Like

ah kk thought so but wasnt so sure