ここではテキスト字幕ファイル(srt, ssa, ass)の扱い方について説明する。
基本的にはファイルとして埋め込み字幕のオンオフが可能なソフトサブ、動画の映像として使うハードサブの2つに大別される。
ソフトサブはCPU負荷が増えるという点を除けば、表示品質も高くメリットが多い。
但し、動画投稿サイトは現状字幕ファイルに対応していないため、自分で書いたass等を適応させて投稿サイトで見れるようにするにはハードサブを使うしかない。
基本的にはファイルとして埋め込み字幕のオンオフが可能なソフトサブ、動画の映像として使うハードサブの2つに大別される。
ソフトサブはCPU負荷が増えるという点を除けば、表示品質も高くメリットが多い。
但し、動画投稿サイトは現状字幕ファイルに対応していないため、自分で書いたass等を適応させて投稿サイトで見れるようにするにはハードサブを使うしかない。
youtube
youtubeではsrt形式の字幕を利用できる。
ソフトサブ
DirectVobSubフィルタ、ないし同等の機能を持ったフィルタ、プレーヤを利用して字幕ファイルを表示する。
テキスト形式の字幕ファイルを読み込むことで字幕のオンオフを可能にする。
字幕表示にはOSに入っているフォントが利用されるため、再生時に拡大しても文字が荒くなったりしない点もメリット。
DirectVobSubがインストールされていれば、動画と同じフォルダに同名の字幕ファイルがあれば自動で読み込んでくれる。
テキスト形式の字幕ファイルを読み込むことで字幕のオンオフを可能にする。
字幕表示にはOSに入っているフォントが利用されるため、再生時に拡大しても文字が荒くなったりしない点もメリット。
DirectVobSubがインストールされていれば、動画と同じフォルダに同名の字幕ファイルがあれば自動で読み込んでくれる。
また、avi,mkv等のコンテナに埋め込むことで、表示切り替え可能な字幕付きの動画ファイルを作ることができる。
以下でavi,mkvファイルに字幕を埋め込む方法を紹介する。
ogmもsrtのソフトサブに対応しているが、利用者は少ないと思われるのでここでは取り扱わない。
以下でavi,mkvファイルに字幕を埋め込む方法を紹介する。
ogmもsrtのソフトサブに対応しているが、利用者は少ないと思われるのでここでは取り扱わない。
配布するならコンテナ埋め込みが便利だが、自分で再生するだけなら分離したままの方が管理、修正しやすい。
利用方法に合わせて使い分けるのがいいだろう。
利用方法に合わせて使い分けるのがいいだろう。
但し、字幕ファイル側でフォントが指定してあっても、再生するPCに該当のフォントがインストールされていない場合、指定したフォントでは表示されない。
例えばMSOfficeにバンドルされている創英企画のフォント(HG創英角ゴシックなど)は、MSOfficeが導入されていないPCでは該当フォントを別途購入していない限りは利用できない。
特殊なフォントをソフトサブで利用したい場合、Aegisubのアタッチメント機能で字幕ファイルにフォントを付加(対応プレーヤーが必要)する、MKVを利用してフォントをコンテナに同梱する等の方法がある。
但し、商用フォントの同梱は殆どの場合ライセンス違反なので絶対に行わないこと(前述の創英フォントなどは勝手に同梱してはいけない)
再配布許可のあるフリーフォントであればよいが、個人利用が無料でも再配布許可がないフリーフォントもある。フリーフォントとして配布されていても必ずライセンスは確認しておくこと。
例えばMSOfficeにバンドルされている創英企画のフォント(HG創英角ゴシックなど)は、MSOfficeが導入されていないPCでは該当フォントを別途購入していない限りは利用できない。
特殊なフォントをソフトサブで利用したい場合、Aegisubのアタッチメント機能で字幕ファイルにフォントを付加(対応プレーヤーが必要)する、MKVを利用してフォントをコンテナに同梱する等の方法がある。
但し、商用フォントの同梱は殆どの場合ライセンス違反なので絶対に行わないこと(前述の創英フォントなどは勝手に同梱してはいけない)
再配布許可のあるフリーフォントであればよいが、個人利用が無料でも再配布許可がないフリーフォントもある。フリーフォントとして配布されていても必ずライセンスは確認しておくこと。
DirectVobSub(VSFilter.dll)のインストール
DirectVobSubのインストール方法はいくつかあるが、他ページでAegisubの紹介もしていることだし、ここでは最新版であるGuliverkli2のDirectVobSub2.39を紹介する。
インストーラが付属しないので自分でregsvr32する。もしくは これ を使う。
その他、DirectVobSub2.23.exeのインストール、各種コーデックパックを利用してもよい。
ただし古いバージョンのVSFilterを使う場合、ASSタグの扱いが違ったり、最新版VSFilterのASSでしか使えないタグが存在することがある。
インストーラが付属しないので自分でregsvr32する。もしくは これ を使う。
その他、DirectVobSub2.23.exeのインストール、各種コーデックパックを利用してもよい。
ただし古いバージョンのVSFilterを使う場合、ASSタグの扱いが違ったり、最新版VSFilterのASSでしか使えないタグが存在することがある。
必要なソフト
- DirectVobSub2.39:http://sourceforge.net/project/showfiles.php?group_id=205650&package_id=246121&release_id=541232
使い方
- ダウンロードしたファイルを適当な場所に展開
- ファイル名を指定して実行 「regsvr32 展開したフォルダのパス\VSFilter.dll」と入力
- RegSvr32「~~\VSFilter.dll の DllRegisterServerは成功しました。」と表示されたらインストール完了
- 字幕を埋め込んだ動画、または同名字幕ファイルを用意した動画を再生する
- タスクバーにDirectVobSubのアイコン(矢印マーク)が出て、字幕が表示されていれば成功
- カラオケ字幕表示する場合のDirectVobSub設定
この設定を行わないとワイプが正常に表示されない。
- 再生中タスクバーに表示されるアイコンをダブルクリックして設定画面を表示させる
- Miscタブ内「Pre-buffer usbpictures」のチェックを外す
AVI埋め込み
AVI-Mux GUIを使用して字幕をAVIコンテナに入れる。
srt,ssa字幕に対応している。assは非対応。
多機能なソフトなので、興味があれば調べてみるといい。
srt,ssa字幕に対応している。assは非対応。
多機能なソフトなので、興味があれば調べてみるといい。
必要なソフト
- AVI-Mux GUI:http://www.alexander-noe.com/video/amg/
使い方
- AVI-Mux GUIをインストール(適当な場所に展開するだけ)
- open files欄に字幕をつけたい動画ファイルと字幕ファイル(srt,ssa)をD&D
- D&Dで表示された動画ファイルをダブルクリックすると、下の欄に映像、音声と分離された状態で読み込まれる(字幕ファイルはD&Dだけで自動で読み込まれているはず)
- 右下の「start」をクリック、ファイル名を指定して保存
MKV埋め込み
mkvtoolnixを使用して字幕をMKVコンテナに入れる。
上記のAVI-muxもMKVの作成はできるが、MKVにするならこちらのソフトを使った方がいい。
srt, ssa, ass字幕ファイルに対応している。assのカラオケ字幕を入れるならこちらを利用する。
再生には適切なスプリッタないし対応プレーヤーが必要。HaaliMediaSplitterを入れるか、MPC等を利用する。
mkvは非常に柔軟性の高い汎用コンテナなので、興味があれば調べてみるといい。
上記のAVI-muxもMKVの作成はできるが、MKVにするならこちらのソフトを使った方がいい。
srt, ssa, ass字幕ファイルに対応している。assのカラオケ字幕を入れるならこちらを利用する。
再生には適切なスプリッタないし対応プレーヤーが必要。HaaliMediaSplitterを入れるか、MPC等を利用する。
mkvは非常に柔軟性の高い汎用コンテナなので、興味があれば調べてみるといい。
必要なソフト
- mkvtoolnix:http://www.bunkus.org/videotools/mkvtoolnix/index.html (mmg.exeがmkvmergeのGUIフロントエンド)
使い方
- インストーラに従いmkvtoolnixをインストール
- Input files欄に字幕をつけたい動画ファイルと字幕ファイル(srt,ssa)をD&D
字幕を先に読み込むとデフォルトのファイル名がmksになるので、mkvに変更しておくこと(対応プレーヤーで再生する分には拡張子はどうでもいいが、普通mksは関連づけしていないと思われるので) - Tracksに映像、音声、字幕ファイルが読み込まれているのを確認したら、下の「Start muxing」をクリック
ハードサブ
所謂焼き付け字幕。
動画の映像として字幕をつけるため、字幕の有無を選択することはできない。
しかし、動画共有サイトで字幕付き動画を見せたい場合、こちらの方法を使うしかない。
基本的にはVSFilterのtextsubを用いてテキスト字幕をハードサブとして焼き込む。
動画の映像として字幕をつけるため、字幕の有無を選択することはできない。
しかし、動画共有サイトで字幕付き動画を見せたい場合、こちらの方法を使うしかない。
基本的にはVSFilterのtextsubを用いてテキスト字幕をハードサブとして焼き込む。
VirtualDub + VSFilter
必要なもの
- Virtualdub:http://sourceforge.net/project/showfiles.php?group_id=9649&package_id=9727
※AMD64というのはAthlon64向けという意味でなく、64bit版という意味。間違えて落とさないように - VSFilter:http://sourceforge.net/project/showfiles.php?group_id=205650&package_id=246121&release_id=541232
準備
- Virtualdubをインストール
- VirtualdubのpluginsフォルダにVSFilter.dllを入れる
- VSFilter.dllの拡張子をvdfに変更(vdfでないとオートロードしてくれない)
使い方
- Virtualdubで動画を開く
- Video>Filters>Add で表示されるフィルタ一覧にTextSubが追加されているので、選択する
- ファイルを開くダイアログが表示されるので、読み込みたい字幕ファイルを選択する
- フィルタが適応された映像(右側の画像)に字幕が挿入されていれば成功
- 好きな方法でエンコード
VirtualDub + textsub 2.23
Vobsub2.23付属のtextsubフィルタを利用する。
Vobsub2.23はインストーラの動作が怪しかったり、バージョンが古いため現行のVSFilterとは違う部分もあるため積極的には勧めない。
ただ、vobsub.dllのスタイル設定が利用できるため、字幕全体のスタイルの設定をVirtualdub上で行いたい場合はこれを利用するとよい。(*1)
インストーラが必要ない人にはw8c氏によるアンオフィシャル版が便利。
Vobsub2.23はインストーラの動作が怪しかったり、バージョンが古いため現行のVSFilterとは違う部分もあるため積極的には勧めない。
ただ、vobsub.dllのスタイル設定が利用できるため、字幕全体のスタイルの設定をVirtualdub上で行いたい場合はこれを利用するとよい。(*1)
インストーラが必要ない人にはw8c氏によるアンオフィシャル版が便利。
必要なもの
- Virtualdub:http://sourceforge.net/project/showfiles.php?group_id=9649&package_id=9727
※AMD64というのはAthlon64向けという意味でなく、64bit版という意味。間違えて落とさないように - VobSub_2.23.exe:http://www.divx-digest.com/software/vobsub.html
準備
- Virtualdubをインストール
- Vobsub_2.23.exeをインストール。インストーラに従いインストールする。
- コンポーネントの選択ではtextsub for VirtualDub and AviSynthを選択し、他のチェックは全て外す ※画像
- Vobsubインストールフォルダを選択した後、Virtualdubのインストールフォルダを選択する。Nextを押せばインストールされるが、
完了後もインストーラのCloseボタンが有効にならず閉じることができないことがある(というより筆者の環境ではちゃんと終了したのを見たことがない) そうなった場合はタスクマネージャで強制終了する。
また、Virtualdubのインストールフォルダを選択してもtextsubフィルタがちゃんとインストールされていないことがあるらしい。Virtualdubのpluginsフォルダにtextsub.vdfというファイルがなかった場合は、Vobsubのインストールフォルダ(標準だとC:\Program Files/Gabest/Vobsub/)内にあるtextsub.vdfを手動で移動する。
使い方
- Virtualdubで動画を開く
- Video>Filters>Add で表示されるフィルタ一覧にTextSub 2.23が追加されているので、選択する
- TextSub settingsという画面が開くので、Openから開きたい字幕ファイルを選択
- 必要ならStylesで字幕のスタイルを設定し、okで決定
- フィルタが適応された映像に字幕が挿入されていれば成功
- 好きな方法でエンコード
textsub設定
- default word-wrapping style
ワードラップ。一文が一行に収まらない時、自動で次の行に送って表示させる際の設定。
q0からそれぞれ、上の行を長く、詰まったとこで(?)改行、自動改行なし、下の行を長く、というような設定
…とは言うものの、自動改行の場所は半角スペースの位置で判断するため、文中にスペースを入れることのない日本語の文章ではほぼ意味がない。
改行したい場合には文中の改行したい場所で\n(改行タグ)を入れて強制的に改行するとよい。(*2)
q0からそれぞれ、上の行を長く、詰まったとこで(?)改行、自動改行なし、下の行を長く、というような設定
…とは言うものの、自動改行の場所は半角スペースの位置で判断するため、文中にスペースを入れることのない日本語の文章ではほぼ意味がない。
改行したい場合には文中の改行したい場所で\n(改行タグ)を入れて強制的に改行するとよい。(*2)
- Style Editor
スタイルの設定を行う。自分でスタイル設定を行ったassなどについてはこちらの設定は無視されると思われる。
- Border Style - Outline + Shadowは縁+影。Opaque boxはレターボックス、字幕の背景が四角く塗りつぶされる。
- Outline - 縁の太さ
- Shadow - 影の深さ
- Font - 使用フォントの指定
- Colors - 字幕の色指定。Primaryが文字本体の色。Secondaryは色変化前の色、無視していい。Outlineは縁の色。Backは影の色。
- Screen Alignment - 字幕表示位置の指定
- Margin - 上下左右の余裕。
アンオフィシャル版Vobsub2.23
- VobSub2.23 uo (UnOfficial) by w8c - http://wiz8capybara.hp.infoseek.co.jp/vobsub.html
Wiz8Capybara氏による改造版Vobsub2.23。何かと不具合の多いVobsub2.23の修正版。公式版をインストール後に差し替える形で利用する。
textsubについてだけ言えば、uo版アーカイブ内のtextsub.vdfをVirtualdubのpluginsフォルダに、vobsub.dllをVirtualdub.exeと同じフォルダに入れれば、公式版をインストールしなくてもいい。
textsubについてだけ言えば、uo版アーカイブ内のtextsub.vdfをVirtualdubのpluginsフォルダに、vobsub.dllをVirtualdub.exeと同じフォルダに入れれば、公式版をインストールしなくてもいい。
AviSynth + VSFilter
必要なもの
- AviSynth 2.5:http://sourceforge.net/projects/avisynth2/
- VSFilter:http://sourceforge.net/project/showfiles.php?group_id=205650&package_id=246121&release_id=541232
準備
- AviSynthをインストール
- AviSynthインストールフォルダ内、PluginsフォルダにVSFilter.dllを入れる
使い方
- 動画と字幕ファイルを読み込むavsを書く
- 具体的には↓
Avisource("foo.avi") #映像の読み込み
TextSub("foo.ass") #字幕ファイルの読み込み - 好きなソフトで読み込んでエンコード
avsを扱える代表的なソフトはVirtualdub、avsinp.auiを導入したAviUtl。
また、x264.exeは入力ファイルにavsを使うため、バッチを書く(書かなくてもいいが)などしてx264に直接読み込ませてもいい。
AVS書きたくないけどAviUtlで字幕を読み込みたい
AviUtlで読み込むと言ってもAviUtl用のテキスト字幕読み込み用プラグインがあるわけではないので、字幕を読み込むavsを書いてそれをAviUtlで読み込む
ここで使うass_load_avs.batは動画をD&Dすると元動画と同じフォルダ内の同名assファイルを読み込むavsファイルを生成する、極簡単なavs生成バッチ。
読み込めない動画、うまく読み込めない(音ずれがある等)動画がある可能性はある。その場合は諦めるか自分でAviSynthについて調べて対処すること。
ここで使うass_load_avs.batは動画をD&Dすると元動画と同じフォルダ内の同名assファイルを読み込むavsファイルを生成する、極簡単なavs生成バッチ。
読み込めない動画、うまく読み込めない(音ずれがある等)動画がある可能性はある。その場合は諦めるか自分でAviSynthについて調べて対処すること。
必要なもの
- ASS読み込みAVS生成バッチファイル:http://www26.atwiki.jp/kmgr/pub/aegisub/ass_load_avs.zip
- AviSynth 2.5:http://sourceforge.net/projects/avisynth2/
- DirectVobSub2.39(VSFilter.dll):http://sourceforge.net/project/showfiles.php?group_id=205650&package_id=246121&release_id=541232
- avsinp.aui:warpsharpパッケージに収録 seraphy版 http://seraphy.fam.cx/~seraphy/program/WarpSharp/index.html
準備
- ASS読み込みAVS生成バッチファイルのzipを適当な場所に展開
- AviSynthのインストール
- AviSynthインストールフォルダ内、PluginsフォルダにVSFilter.dllを入れる
- warpsharpパッケージのアーカイブを展開する(尚、seraphy氏版は Visual C++ 2008 ランタイム が必要。ない場合はインストールしておくこと)
- VC09フォルダ内にあるavsinp.auiをAviUtlのpluginフォルダに入れる
使い方
- 使いたい字幕ファイルを、適応する動画ファイルと同じ名前に変更し、動画ファイルと同じフォルダに入れておく
- ASS読み込みAVS生成バッチファイル(ass_load_abs.bat)に動画ファイルをD&Dする
- avsが生成されるので、それをAviUtlで開く
- AviUtl上でassファイルが正常に読み込まれているのを確認したら、そのままエンコードを開始する
備考
VSFilterの日本語末尾文字化けについて
VSFilterにはShift-JISの字幕を読み込むと末尾にある文字が化けるという問題がある
字幕の1行の最後が「あ」の場合、その「あ」は長方形の四角「□」に化ける。
例えば「うわああああ」という字幕があったとすると、「うわあああ□」と表示される。
軽く調べてみると行末に「あ」等の2バイト目が0xA0の文字があると、これが文字化けする場合があるとのこと。
字幕ファイルの文字コードは特に理由がない限りUTF-16にしておくのが無難だろう。
字幕の1行の最後が「あ」の場合、その「あ」は長方形の四角「□」に化ける。
例えば「うわああああ」という字幕があったとすると、「うわあああ□」と表示される。
軽く調べてみると行末に「あ」等の2バイト目が0xA0の文字があると、これが文字化けする場合があるとのこと。
字幕ファイルの文字コードは特に理由がない限りUTF-16にしておくのが無難だろう。
このテキストエディタの場合、字幕ファイルを開き「ファイル>文字/改行コード指定保存」の文字コードをUnicodeに変更して上書き保存する。
字幕ファイルの拡張子をこのエディタに関連づけておけば便利。
字幕ファイルの拡張子をこのエディタに関連づけておけば便利。
また、この問題を修正したVSFilterがnyやshareで流通しているようだが詳しくはわからない。
ずいぶん前からあるようなので元のバージョンは古いと思われる。
ずいぶん前からあるようなので元のバージョンは古いと思われる。