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
- Theory: Anime Fansubing History and The State of Fansubbing: It’s Dead
- Implementation: Doki Fansubbing Process Overview, Portable Document Format (PDF) and Various Guides, PDF
Capping
- Theory: They idea is to obtain the source footage.
- Raw Digital Video Disc (DVD) or Blu-ray Disc Movie (BDMV) uploads are rarely available but existing VHS/LD/DVD/BD or web rips can be of acceptable quality. Otherwise, capping can also mean buying the retail media. For broadcast streams, capping means recording the analog stream and then digitizing it with special hardware or, for internet simulcasts, means stream copying with special software. As a side note, sometimes raws can also be obtained from invite-only private trackers.
- Links:
- 8mm: todo: put stuff here
- Video Home System (VHS): How to Rip VHS
- LaserDisc (LD): How to Rip Laserdisc and reddit topic
- Digital Video Disc (DVD): DVD-Decrypter, a DVD Decrypter Guide, PDF and a second guide
- DVD/Blu-ray Disc (BD): MakeMKV, and Handbrake and MakeMKV Guide
- For general subtitle conversion: Subtitle Edit and their documentation
- For simple stream extraction: MKVToolNix + gMKVExtractGUI, or even just FFMPEG. Also see Muxing section.
- Frame accurate indexing of Video Object (.VOB) files: DGIndex for use with AviSynth. Also: see this related guide.
- Funimation Downloader
- Crunchyroll Downloader Note: I have not tested this.
Encoding
- Video Theory:
- The most basic reasons to encode video are to preserve complex changes (such as any filtering) and to make the video stream smaller. Even a minute of raw uncompressed video is several GigaBytes (GB) in size.
- Video can be described as a series of pictures shown quickly in succession.
- Motion Picture Engineering Group [MPEG] video encoding works by compressing one picture (known as a “key frame”) and then recording any changes between that frame and the next frame. And then recording the changes between that second frame and the frame after and so forth. To display any given frame, every frame before it must be decoded starting from the nearest previous key frame.
- With so much background necessary, there is just not a good starting place to learn about video encoding. But this one is close: A&E’s Technical Guides to All Things Audio and Video (v3), PDF. Read this in its entirety. No excuses.
- Watch this video: How Codecs Work - Tutorial All of it!
- Container VS Codec: Media Formats and How to Choose the Right Codec
- Wiki: Codec Comparison, Container Comparison, MPEG standards
- Adobe Video Road blog: Understanding Color, What is YUV, Color Subsampling
- 8-bit vs 16-bit
- Doki - Discussion: 10-bit h264 or here are the linked PDFs: 10-bit AVC Broadcasting, Why 10-bit Saves Bandwidth, 10-bit Presentation
- Some random CRT, VHS and DVD History
- Variable Frame Rate: VFR for Fansub Encoders, PDF, AviSynth’s Working with VFR guide and VFRaC Workarounds
- Doom9 Forum
- HEVC Review 1, 2, PDF and 3
- Random Software List: Ask an Experienced Encoder, PDF
- Random Index of Converting Guides
- Specific Software (near top means easier to use, near bottom means full featured)
- Handbrake, and a Related Guide
- vEncode Project Page and releases. Note: Uses a Command Line Interface (CLI).
- MeGUI, Project Thread, and Guide, PDF
- Hybrid supports a Graphical User Interface (GUI).
- FFMPEG: Official Documentation, Arch Docs on FFMPEG, binaries, and a random guide, and another random guide and yet another one
- Advanced ffmpeg guide to Creating Multiple Outputs (think simultaneous 480p+720p+1080p encoding)
- x264 Project Page, Documentation, and binaries
- x265 Information, Documentation and binaries
- Audio:
- FFMPEG High Quality Audio Guide
- eac3to: Command Line Interface (CLI) audio encoding tool with many Graphical User Interfaces (GUIs) available.
- Opus Codec Comparison and FAQ
- Playback:
- For DVDs, diagnostics and saving network streams (NOT normal viewing): VLC Media Player
- For Windows pick ONE:
- Combined Community Codec Pack (CCCP) (most preferred)
- K-Lite Codec Pack
- Kawaii Codec Pack (KCP) (least)
- MediaInfo is installed automatically with K-Lite CP, not sure about the others, but install it manually if necessary.
- For Linux/Mac: MPlayer
- QC (?): Bitrate Viewer Able to estimate the quality of MPEG1 and MPEG2 streams. I do not know how this is useful but Etzimal said to add it. o_o*
Filtering
- Preface: To avoid transcoding multiple times, ideally, both Capping+Filtering+Encoding should be done by the same person.
- Theory: Tasks include cutting out advertisements, correcting studio mistakes, and reducing the file size to subjective “acceptable” levels while retaining the highest quality possible. Encoders that worry about compatability may also need to hardsub OPs/EDs or the entire script into the video stream prior to distro at either the Filtering or Encoding stage.
- Scintilla’s Guide to AVISynth Postprocessing Filters, PDF
- A&E’s Technical Guides to All Things Audio and Video (v3): Improving Visual Quality, PDF
- Programs Used:
- AviSynth, Filter lists: Internal Filters and External Filters, Hysteria
- AvsPmod, Integrated Development Enviornment (IDE) for AviSynth
- For upscaling with optional denoising: waifu2-caffe. Requires: 64-bit Windows, a CUDA capable GPU and [nVidia_CUDNN.dll.zip] See example results.
- For stabalization: Deshaker for virtualDub
- MPC-x86-Portable or the 64-bit version if using AviSynth+
- Examples and Guides:
- Random youtube video on Deshaker
- Seirei No Moribito, KissXSis OVA, Hyperdimension Neptunia (All overfiltered but w/e.)
- Moozzi2’s Rakudai Before and After, a slight-filtering example goes here
- NeatVideo - similar to TemporalDegrain() for AviSynth
- My First AviSynth Script, and FAQ
- Script Examples, AviSynth CopyFromMe Template, sceneFilter() requires frameTools: Documentation and releases page, another random example (was overfiltered but w/e)
- If slight crazy, filtering can also be done in Photoshop one frame at a time. Example: Maybe-not-so-sane workflow diagram for Maze: (waifu upscale + photoshop): link
- “Tweak” guide for fine adjustment of colors
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
- Theory: Mostly making sure signs look like they are natively part of the video but also styling the dialogue, opening and ending. While Typesetting is actually quite strait-forward, doing it efficently and well is something else entirely.
- Questionable styling guide. (I prefer them at the bottom.)
- unanimated’s Guide to Typesetting in Aegisub, RAR, [RAR mirror], PDF
- unanimated’s Aegisub scripts, PDF and Typesetting Tools
- Commie’s Typesetting in Aegisub, PDF and [Scripts for Aegisub - ZIP]
- Mocha, as mentioned in the guides above, can be used for motion tracking signs. A basic version of Mocha is also included natively in Adobe After Effects 11 (CS6) and newer.
- Typsetting With Adobe Illustrator by Line0 and related Blog
- lyger’s Aegissub Automation Scripts
- Sushi’s Audio Based Subtitle Shifter
- Aegisub-Motion and Guide
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
- VideoHelp Overview
- Download: Windows/OS-X, Linux
- Required Add-on: gMKVExtractGUI. Project Page and DL Link
- MKVMerge’s CLI Documentation
- Advanced: Creating Multi-Part Files, Concatening Multi-Part Files, and Ordered Chapters (please no), Part 2
- 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:
- Open uTorrent or qBitTorrent
- “File-Create” or “Tools-Torrent creator.”
- Put your favorite trackers into the tracker box.
- Select a file or directory - Create and Save.
- 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.)
- 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:
- Firefox ESR with this
- Firefox forks: Palemoon, or Waterfox
- Chrome
- Note: For the graphical HTTP clients above, always use uBlock Origin.
- CLI: Aria2c, wget or cURL
- File Server Cloud:
- Web Server Cloud:
- See: The Group Blog.
- Selfhosting (HTTP):
- See: Seedboxes section below.
Distro Method #3: Internet Relay Chat (IRC)
- Theory: IRC and Kludges
- Clients: Comparison of IRC Clients
- Preferred: Hexchat, open source, cross platform and supports limited scripting.
- KVIrc, open source, cross platform, astheticly pleasing.
- mIRC, powerful scripts available (e.g. to FServe), but for Windows only. Idiot Proof Installation Guide.
- FServers
- How to use them: Keiichi’s Fserve Guide, Microsoft Office Document (doc), and WikiBook’s Fserve Guide
- Setting one up: mIRC FServer Setup Script and a random guide
- XDCC
- How to use them: WikiBook’s Using XDCC Guide and XDCC Commands Syntax
- Setting one up: XDCC Bot Guide, PDF, and iroffer-dinoex 3.3 Setup Guide, doc. Also: iroffer-dinoex Homepage.
- Condensed setup guide, [iroffer-dinoex-3.30.tar.gz mirror] and a Bot.config file template
Random Distro Tools:
- CRC32: Used to put the CRC32 in brackets at the end of the filename (e.g. myfile_[1BA919D7].mkv):
- RapidCRC (preferred)
- GUI alternative: Anime Checker
- CLI alternative 7z h documentation
- Avdump2 Based on MediaInfo, this is used to quickly update AniDB.net.
- line0’s Solutions For Taking Screenshots
- Screenshot comparison sites:
- compare.bakashots.me (only for offers on BakaBT)
- diff.pics
- screenshotcomparison.com
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.