Hardsub では、字幕は画像の一部として初めから固定的に「焼き込まれて」います。 再生する側からみれば通常の動画ファイルそのもので、 字幕なしのファイルとまったく同様に再生できます。
Softsub では字幕は画像の一部として焼き込まれているのでなく、 テキストストリームです。 で、字幕の表示・非表示を切り替えたり、 字幕の色や大きさなどもカスタマイズ可能。 表示する字幕そのもののバージョンや言語を切り替えることも可能。 再生時にそのつど動的に生成される「仮想字幕」なわけです。
以下では、ソフトサブの長所短所、 ソフトサブの再生に必要なフリーウェアやその設定についてメモしときます。
ソフトサブは柔軟、高画質で、生産性、再利用性が高く、 動画を受動的に楽しむことと自分でも何らかの創造を楽しむこととのあいだのかきねを低くしてくれます。 例えば、大阪弁を使うかたなら、通常の標準語の日本語の字幕を大阪弁に書き換える遊びなども簡単にできるでしょう。 また、もっと単純に、字幕の色やフォントを自分好みに設定できます。 もはや字幕作成者の言いなりになる必要は無いのです。
ソフトサブも良いことずくめではなく、いくつかの問題点をかかえています。 発展途上の技術なので、現状、多少不安定な面があること。 再生時に動的に字幕を生成するので、そうでない場合よりCPU負荷が高いこと。 スクリプト形式によっては、すべてのフォントやエフェクトを自由に利用できないこと。 「ソフトサブでは字幕のフォント、色、サイズ、位置などを細かく指定できないことがある」 という全般的な事実は、字幕作成者の立場からは欠点に見られることもあります。 実際には、字幕の大きさなどを再生側で選べるのは、ソフトサブの良いところです。 OGM動画にMuxされたSRT字幕に関しては、現状、SubTitDSレンダラーが貧弱であり、 DVobSubを使った場合、SRT形式の最も単純な純粋テキストストリームになります。 再生側では字幕の大きさや色などを好きにコントロールできるものの、 制作側ではフォント指定ができません(SubTitDSでは指定できるが実用段階でない)。 それ以外の場合、DVobSub を使えば、字幕作成者が字幕のフォントを細かく指定しつつ、 再生側ではそれに従うことも、従わずに無視することも選べます。この場合の「無視」はウェブページでいえば 「ユーザスタイルシートによるスタイル指定の上書き」に似ています。 SSA字幕について言えば、VirtualDub のプラグインを使ってハードエンコできるほとんどすべてのエフェクトが、 そのまま DVobSub の Advanced Renderer でソフトサブとして動的に生成できます。
すべてフリーウェアです(Windows)。
音声が Mux されている動画は、ふつうに再生するだけで映像につれて勝手に音もでますが、 それと同じで、字幕が Mux されてる動画(現時点ではOGM)は、 再生を始めると自動で SubTitDS と DVobSub がオートロードされます。 タスクトレイに表示されるフィルムのアイコンが SubTitDS 、緑の矢印のアイコンが DVobSub 。 これらのアイコンを右クリックしてメニューから字幕を選んだり、字幕の表示非表示を切り替えたり、 音声トラックが複数ある場合には音声を選択したりできます。
また、Mux されていないで字幕スクリプトが別ファイルになっている場合には、 動画と同じファイル名(拡張子だけが違う名称)にするのが分かりやすいでしょう。 例えば、abc.avi という動画(字幕なし)に対する字幕がSSAスクリプトとして存在するとしたら、 そのスクリプトを、abc.ssa という名前にして、abc.avi と同じフォルダに入れておきます。 でもって abc.avi を再生すれば、DVobSub が自動でロードされて、再生される動画面のさらに上に、 abc.ssa が再生されます(要するに、字幕なしの動画が動的に字幕つきに見えるようになる)。
緑の矢印のアイコンをダブルクリックすると、DirectVobSub (auto-loading version) のプロパティというダイアログがでるので、 Text Settings という場所で、デフォルトで使いたいフォントの種類や色などを設定できます。 日本語の字幕を再生するには、日本語のフォントにして「日本語」を選ぶ必要があります。 Outline と Shadow は通常、オンにしたほうが見やすいと思いますが、場合によってはオフのほうがすっきりするかもしれません。 Advanced Renderer をオンにすると、例えばSSAスクリプトならSSAスクリプトとして、 字幕の文字だけでなくスタイルも反映されます(つまり上のフォント設定は上書きされる)。 Advanced Renderer をオフにすると、つねに DirectVobSub 自身のフォント設定が優先されます。 config dialog を開いて、SSAのひとつひとつのスタイルごとに上書きすることさえ可能です。
OGM に Mux されているSRT字幕の場合、Advanced Renderer がオンでもオフでも結果は同じですが、 CPUリソースがきつい場合はオフにしたほうが軽くなります。 また、Misc タブにある Pre-buffer subpictures をオンにすると、 少し未来の字幕をあらかじめレンダリングしてバッファリングするので再生がスムーズになります。 DVobSub の結果を見ながら字幕スクリプトを編集するような特殊な作業の場合、 未編集の未来の字幕がバッファリングされると混乱の原因になるので、オフにして、 さらに Auto-reload subtitle files after detecting modification をオンにすると良いでしょう。 スクリプトの変更をリアルタイムに反映する真に動的な字幕になりますが、 かなりCPUパワーを食うので、通常はバッファリングを有効にしたほうが良いです。
DVobSubはSRT、SSA以外にもいろんな形式の字幕スクリプトをサポートしてます。 未対応の形式でも適当なツールを使えば、 たいがい対応形式に変換できるはずなので、いろいろ試してみてください。