Fog: Revolutionizing Fansubbing
Main components of the project:
-
Timed Text Version System
(TTVS)
-
Tracks changes and dependencies in scripts and related tasks.
Written primarily in C.
Can export/import other script formats using the script library.
Communication between client/server via telnet or SSH.
-
ThinFog:
web interface
-
Simple way for translators and editors to work on a script.
Written primarily in PHP.
Interfaces with TTVS.
-
XML Script Master:
script format and effect language
-
Supports all major features and can be extended to support others.
Based on XML.
-
Binary Script Master:
binary script format and effect language
-
format the normal script can be converted to that is designed with 2 main attributes: small space usage and the ability to seek to a time quickly.
This would usually be what one would interlace into an OGM or Matroska container for softsubs.
-
Bitmap Video Overlay:
prerendered subtitle format
-
Prerendered subtitles that can be turned on or off.
This will be a seperate subtitle stream in the video file with some PNG-based video. (Note: May not be needed due to QuickFog plans)
-
MixedFog:
script library
-
Interfaces to many script formats, though primarily the ones designed for the project.
This library allows the developer to modify or read details about the script and load/save them to any supported format.
It will be used by all script-aware applications (incl the codec).
-
OpaqueFog:
script codec
-
Overlays the script on video.
Primarily written in C.
-
OpaqueMPlayer:
MPlayer codec for scripts
-
Interfaces to the standard script codec to overlay subtitles on video while playing in MPlayer.
-
QuickFog
script prerendering
-
Prerenders all or a portion of a script to an animation. This can be used for various things, from prerendering a line of text (and still rendering effects during playback), prerendering an individual effect that cannot be managed in real time, or prerendering the entire script for playback on a low-processor or fontless device.
-
DenseFog:
scripting application
-
Provides video and audio interfaces for timers and translators.
Uses the script codec to allow for the user to preview the script.
Interfaces with TTVS.
Primarily written in C++.
Uses either TrollTech's Qt toolkit or GTK (undecided).
-
LightFog:
production application
-
Provides many functions for production from
adding a script to a container
to
burning it into a video and recompressing it.
-
OpaqueDirectShow:
DirectShow OGM/Matroska codec for scripts
-
Same thing the MPlayer codec does, but for DirectShow-based apps.
Project groups:
-
Format Group
-
Defines the formats to be used by the project. (XSM, BSM, and BVO)
-
Server Group
-
Writes/maintains the TTVS server
-
Web Group
-
Writes/maintains the web interface for the project (ThinFog)
-
Library Group
-
Writes/maintains the script library (MixedFog)
-
Codec Group
-
Writes/maintains the script codec and MPlayer/DirectShow interfaces to it (OpaqueFog, OpaqueMPlayer, and OpaqueDirectShow)
-
Client Group
-
Writes/maintains the scripting and production applications (LightFog and DenseFog)
-
Representatives
-
Members from organizations (fansub groups, for example) who comment on the project and suggest ideas.
Note: Everything is open to discussion. Names and design ideas can be changed if there is reason to do so.