字幕つきのmp4やmkvをつくる
滅多にやらないから忘れそうなので、メモっておきます。
TS から字幕を抽出する。
Caption2Ass を使う。 Caption2Ass_mod1 (改造版) でも可。
プログラム | バージョン | ファイル名 |
---|---|---|
Caption2Ass_mod1 | 人柱版V0.2.9 | up0264.zip |
Caption.dll | 改造版0.1.1.4 | up0064.zip |
Caption2Ass | 081221 | up0877.zip |
すべて「 http://2sen.dip.jp/dtv/ 」のアップローダにあります。アップローダは「 Friio 」だったり「 DTV 」だったり他の場所だったりしますが、過去ログ検索を活用すれば問題なっしん。
Caption2Ass の場合
Caption2Ass解凍しこんな感じで実行する。オリジナル版の Caption2Ass を使う場合、 Caption.dll は同梱。
> Caption2Ass1.exe -format srt %インプットのTS%
format オプションは出力ファイルのフォーマットに関するもの。 ass/srt の2つが指定できる。今回は SRT フォーマットを使用することとする。
CMカット -トリミング- とかしたいとき
その後にCM カット等トリミングを行った場合、カットした分だけ字幕ファイルと時間がずれていく。字幕ファイルは TS からカットしないで吐き出しているのでこの場合当然である。正常に表示させるには同期情報を更新しなくてはならないので、そのためのソフトを使う。
プログラム | バージョン | ファイル名 |
---|---|---|
SrtSync | 0.1.9 | up0267.zip |
AviSynth でトリミングした場合
AviSynth スクリプトファイル『 avs 』で Trim() でトリミングした場合はこんな感じ。
> SrtSync -utf8 -trim %トリミングしたAVS% %インプットのSRT%
ただし、 Trim の書式は「 Trim 」と1文字目が大文字であること、また複数範囲をつなげる場合は「 ++ 」で接続されている必要がある。以下のような感じ。
Trim(839,5633)++Trim(8780,21366)++Trim(24065,50137)
VirtualDub でトリミングした場合
VirtualDub の処理設定ファイル『 vcf 』でトリミングしている場合。
> SrtSync -utf8 -vcf %トリミングしたAVS% %インプットのSRT%
私はコレを使ってる。
AviUtl を使う場合のやり方もあるが、私自身 AviUtl でカットすることがないので知る気はない。
mux する
mp4 の場合、普通に add するだけ。 字幕ファイル (SRT) は UTF-8 で書かれている必要有。 SrtSync で utf8 オプションを指定していれば UTF-8 で出力されているはずである。
> mp4box -add %SRTファイル% %MP4ファイル%
mkv の場合も普通にくっつけるだけ。 mkvtoolnix 入れて mmg.exe を使えば簡単。 mkv の場合字幕ファイルの文字コードは任意だけど、マージするときに文字コードを指定してあげないと化けてしまうことに注意。