⇒身近な自然と科学 科学系記事サイトマップ

録画したテレビ番組の動画ファイルをARIB字幕付きでファイル容量を小さくする簡単な方法

2024年4月20日 更新

⇒ 字幕副音声付き動画の超簡単な変換と編集方法 では、テレビ放送に使われているARIB字幕をASSという規格で動画ファイルから抽出していました。
一般的な動画再生プレイヤーで観る、或いは編集する場合はASS字幕の方が都合がよいのですが、外字が多用されている番組では外字部分が16進数で表示されてしまうので削除しますが、削除したら困る外字の場合――― 例えば「一緒」の「一」や「葛飾」の「葛」、旧漢字で表される名詞など―――があります。
これらを一々判別してパソコンで使える漢字に変換したり削除するのは手間が掛かります。
また、不要部分を削除したときに動画の音声と字幕が大きくずれてしまう場合があり、補正ツールを使っても面倒です。
そこで、ASS字幕に変換しないでARIB字幕のまま使えば少なくとも外字部分の変換と削除はしなくて済みます。
ARIB字幕に対応している再生プレイヤーは限られますが、TVtestを動画再生プレイヤーにするプラグイン「Tvplay」と字幕表示をするプラグイン「TVCaptionMod2」を当てたTvtestで観ることにします。無料で使えるVCL Media playerでも観られますが外字が表示されないことが多いです。

必要なアプリケーション・ソフトは、ベクターで公開されている「 tsCaption 」と動画編集ソフトだけです。
tsCaption はコマンドプロントから使います。
私は、TS動画ファイルから不要部分を削除するのに「 smart cutter 」、TS動画ファイルをh264ファイルに変換、h264ファイルTSファイルに変換するのに「 Avidemux 」を使いました。
smart cutter はフレームが欠損しているファイルでは落ちてしまうことがありますが、シーク操作をゆっくりすれば回避できます。また、smart cutter は有料ソフトなので未登録ではファイルの先頭や繋目にロゴが一瞬入ります。
TS動画ファイルの無料編集ツールで使い勝手が良いのは、MurdocCutter ですが入手出来るところが見つかりません。MurdocCutter は継ぎ目が一瞬乱れるのが欠点です。 MurdocCutter で必要な部分を切り出し、Avidemux で繋げば繋目は乱れませんが手間が掛かります。
LosslessCut でもARIB字幕付き副音声付きで不要部分を削除できますが、ファイルを切断する部分を見つけづらいです。

手順
  1. 先ず、smart cutter などで不要部分を削除したTS動画ファイルを作ります。
    smart cutter ではフレーム単位で切断結合出来ますが、レーム単位で切断結合ではARIB字幕を抽出しても手順5の段階で失敗することがあります。
    GDP(Group Of Picture)単位で切断結合した場合は手順5でうまく字幕と結合できます。

    MurdocCutterで切断結合した場合は、手順4でARIB字幕を抽出する前にTsTimeKeeperで処理しないと手順5で作成した動画を再生しても字幕がうまく表示されません
  2. 1で作ったTS動画ファイルをAvidemuxなどでh264ファイル(または、h265ファイル)に変換します。
  3. 2で変換したh264ファイルをAvidemuxでTSファイルに変換します。映像と音声はコピーで、出力形式をTSにします。
    1で不要部分を削除したTSファイルからビットレートを下げて容量が小さいTSファイルを作った場合、mpeg2-TS変換では画質が悪い上にファイルが大きくなるのお勧めしません。mpeg2-TSなら1で不要部分を削除したのと同じですからビットレートを下げれば画質は当然悪くなります。
  4. 1で作ったTS動画ファイルからARIB字幕を抽出します。
    tsCaptionソフト、1で作ったTS動画ファイル example.ts がDドライブ直下にあれば、

    >"D:\tsCaptionx.exe" -mode extract "D:/example.ts "D:\example.ts"

     で抽出されて、example.tsCaption.tsというファイルが作成されます。これが字幕ファイルです。
  5. 3で作った容量が小さいTSファイルをexample_S.tsとしてDドライブ直下にあれば、

    >"D:\tsCaptionx.exe" -mode merge  "example.tsCaption.ts"  "D:/example_S.ts"

    で字幕が動画に合成されて、example_S.tsCaptionx64Merge.ts が出力されます。
    作成された動画ファイルは、VCLで再生時に字幕を選択すれば字幕が表示されます

上記の方法では、TS動画ファイルから不要部分を削除して作ったTS動画ファイルに字幕が無い部分―――例えばCM―――があると、その部分以降は字幕が表示されないのでご注意ください。
失敗する場合は、元のTS動画ファイルからARIB字幕を抽出する過程で不具合が起こっています。元の動画ファイルに目視で判るぐらいの乱れがあると失敗します。抽出したARIB字幕を修正すればうまく行くと思うのですが、無料で使えるARIB字幕エディターが見つかりません。どうしてもARIB字幕にしたい場合は元のS動画ファイルの乱れている部分をカットします。
外字の処理が面倒でない場合は、字幕副音声付き動画の超簡単な変換と編集方法の方が動画ファイルのサイズは小さくなり、字幕付きで再生出来るプレイヤーが多いですからお勧めです。
因みに、TSファイル形式は、DVDやブル―ディスク、ビデオカメラ、放送等で使われているもので、途中に欠損部分があっても再生できます。