Ubuntu Weekly Recipe

第633回 字幕ファイルを作成し,動画に焼き込む

この記事を読むのに必要な時間:およそ 2 分

字幕ファイルを使う

保存したSubRipファイル(.srt)をテキストエディタで開いてみるとわかりますが,次のようにシンプルなテキストファイルです。

1
00:00:09,742 --> 00:00:11,157
最初の字幕

2
00:00:11,257 --> 00:00:12,983
次の字幕

3
...

実際に字幕を表示してもらうにはこの形式を解釈できる環境が必要です。例えば,YouTubeの場合には,SubRipファイルがサポートされる字幕ファイルに含まれているので,動画をアップロードした後に追加で字幕ファイルをアップロードできます。

Ubuntu上で再生する場合は,デフォルトの動画再生アプリであるTotemを例にとると,画面右上にあるメニューから「字幕」を選択して,表示する字幕ファイルを指定できます図4⁠。

図4 動画ファイルを開き,字幕ファイルを追加で読み込み

画像

ただし,この方法だと動画を開くたびに手動での操作が必要になり,さらに他の人に見てもらう場合には2つのファイルを対で共有する必要があります。これに対する緩和策として,動画と字幕を1つのファイルに統合してしまう,という方法があります。⁠mkvtoolnix⁠パッケージに含まれている⁠mkvmerge⁠というコマンドを使えば,動画を再エンコードする必要なしに,元の動画と字幕を一つのMKVファイルに含めた形で出力してくれます。

$ mkvmerge -o /PATH/TO/OUTPUT.mkv MOVIE.mp4 SUBTITLES.srt

字幕を動画に焼き込む

MKVファイルなどに字幕データを入れておくと,再生時に字幕をオンオフできたり,複数言語の字幕を用意して切り替えできたりと便利です。しかし,受け取り手が字幕の表示に対応しているのか定かではない場合や,対応していても実際どのような大きさで表示されるのか予想できない場合もあります。そういった時には,字幕の文字を画像に変換して映像の中に焼き込んでしまうのも手です注1⁠。デメリットとしては,動画を再エンコードする必要があるためやや時間がかかり,画質の劣化が感じられる場合があるかもしれません。

注1
筆者の場合は,動画ファイルとしての提出が必要だったためこの方法を採りました。映像と字幕を不可分にしてしまうことを,⁠hard subtitles⁠⁠burnt-in/baked-in subtitles⁠と呼ぶようです。

このような変換をサポートするソフトウェアをいくつか試しましたが,できあがりのイメージが確認しやすく,フォント指定やサイズ,スタイルの指定がしやすかったためVLCを使いました。

VLCで動画ファイルと字幕ファイルを読み込んだら,⁠ツール⁠⁠→⁠設定」を開き,⁠字幕/OSD」の項目で,使用するフォントやサイズ,字幕の背景色などを指定します図5⁠。文字や背景色の透明度といったより詳細な設定は,⁠設定の表示」「すべて」に変更し,⁠ビデオ⁠⁠→⁠字幕⁠⁠→⁠文字レンダリング」の項目で可能です。何度か再生を繰り返し,納得のいく設定を見出したらいよいよ動画の変換作業に入ります。

図5 VLCでの字幕の表示設定

画像

メニューから「メディア⁠⁠→⁠変換/保存」を選択し,入力として使用する動画ファイルと字幕ファイル(.srt)を指定します。次に,出力プロファイルを編集し,使用するカプセル(コンテナ)フォーマットとビデオコーデックを指定します。ここまでは,通常の動画変換と変わらないのですが,音声は変換する必要がないため,⁠オーディオコーデック」の項目では「オリジナルのオーディオトラックを保持」にチェックを入れます。最後に,⁠字幕」の項目で「ビデオに字幕をオーバーレイする」にチェックを入れて字幕が焼き込まれるようにします図6⁠。

図6 映像に字幕を焼き込むために「オーバーレイする」にチェックを入れる

画像

変換が完了すると,字幕と映像とが一体化されたファイルの完成です。あとはアップロードしたり個別に共有したりすれば,相手の環境を問わず必ず字幕を見てもらえます。

著者プロフィール

村田信人(むらたのぶと)

Ubuntu Japanese Teamメンバー。Ubuntuオフラインミーティングに参加するうちにUbuntu Japanese Teamの活動に興味を持ち,2009年8月に加入。