SSブログ

多重音声&字幕付きのTSファイルをCMカットしてMP4にエンコード [PCで地デジ]

先月の記事、”多重音声TSファイルのエンコード””字幕付きTSファイルのエンコード”での作業を改良&統合し、同じ手順で行えるようにしたものです。
作業の流れは
1.TSから音声(AAC)を2トラックと字幕(srt)を1トラック抽出する。
2.TSをAviutlで読み込み、カット編集をしてTrim情報を出力してMP4でエンコードする。
3.AACのディレイを調整し、Trim情報を元に編集する
4.srtをTrim情報を元に編集する
5.すべてのファイルをMUXして完成。

です。書きだしてみると意外とスッキリ。とりあえず前回の記事からこの結論に至るまで色々調べたり試してみたことを書いてみます。

(音声DELAYの掛け方)
MP4BOXのオプションを使ったディレイはプレイヤーによって対応がまちまち。DELAYが利くものもあれば利かないものもあり、違う環境で見たり人に渡したりする場合に困る。

(AviutlのMP4inport、exportを使ったCMカット編集)
カット時に、特に字幕のファイル再生時間が長くなる現象が発生、他の音声でも一部カット時に再生時間がずれる。このまま結合させると表示される字幕が大きくズレてしまう。ほかのMP4をAviutlで扱えるようにするプラグインは、そもそも音声1トラックまでしか対応してなかったりで根本的に用途が合わない。

(字幕の文字化け)
srt(UTF-8)で抜き出した字幕は、”♪”が”笙ャ”になるなどいくつかの文字で文字化けが発生してしまいます。字幕をTSから抜き出すときは文字コードをSJISでする方がよさそう。古いバージョンのサクラエディタのせいで正常時表示できないだけでした。

というわけで、音声字幕を結合させてからのAviutlでカット編集は無理!という結論に達した。ということで

新方針:映像をCMカットしてからエンコードし、その編集情報を元に音声と字幕を編集する。

という方向で向かうことにしました。
こういうカット編集の話題で良く目にするTrimという単語、Avisynthと並んでることがよくあるので、なんとなく難しそうなイメージを持っていたのですが、よく調べてみたら何のことはない、何フレームから何フレームまでをカットするか、あるいは残すか、と言ったことが書いてるだけのものです。中には以下のようなものが書いてあります。
Trim(2476,13149)++Trim(25857,28228)++Trim(177494,182084)

【必要なソフト・プラグイン】
ts2aac(DTV関係ファイル置き場)
TSからAAC形式で音声を抽出する。BonTsDemuxは場合によって出力ファイルの先頭1GOPが削れてしまう不具合があり、現状AAC抽出ならこれ一択状態ということなので乗り換えることにしました。

aacedit(Friio関係ファイル置き場)
AACの遅延補正やカット編集を直接行う。Trim形式に対応している。肝心の部分を書いたREADMEがないのですが、空に掛かる橋さんが独自に解説してくれてます。感謝。

Caption2Ass(DTV関係ファイル置き場)
TSから字幕データをUTF-8のassフォーマット、UTF-8、SJISのsrtフォーマットで抽出する。

SrtSync(DTV関係ファイル置き場)
srtフォーマットの字幕データをTrimを元に編集する。Aviutlの削除リストプラグインで作成したデータにも対応。

trim_export.auf(AviUtlプラグイン置き場 )
AviSynth Script エクスポートに同梱されている。Aviutlでの編集結果をTrim形式でクリップボードにコピーする。

MP4BOX(POP@4bit)
これは書くまでもないと思うが、一応。

TsSplitter(DTV関係ファイル置き場)
これも書くまでもないと思うが、確認したら更新きてたので。

実践編
コマンドプロンプトから操作する部分は、コマンド例を一緒に載せておきます。
1.TsSplitterでHD映像のみ抜き出す。

2.ts2aacで必要な音声を抽出する。
     ts2aac.exe -i "INPUT.ts" -D -e 0 -o "OUTPUT"

3.Caption2Ass_PCRで字幕をUTF-8のsrt形式で抽出する。
     Caption2Ass_PCR.exe -format srt "INPUT.ts" "OUTPUT.srt"

4.AviutlにTSファイルのみ読み込み、CMカットをする。

5.Aviutlのファイル→エクスポート→Trimをクリックすると、
クリップボードにTrimデータが保存される。新しいtxtファイルを開いて
Ctrl+Vで内容を貼り付けて保存する。

6.aaceditでaacとTrimファイルを読み込み、オプションでDelay値を指定して編集する
     aacedit.exe "INPUT.aac" -o "%OUTPUT.aac" -d 98 -t "TRIM_FILE.txt"

7.SrtSyncでsrtとTrimファイルを読み込み、編集する
     SrtSync.exe -utf8 -trim "TRIM_FILE.txt" "INPUT.srt"

8.MP4Boxでmp4、aac、srtをMUXさせる。
     MP4Box.exe -add "MP4_FILE#video:fps=23.976:lang=jpn"
     -add "AAC_FILE1#audio1:lang=jpn"
     -add "AAC_FILE2#audio2:lang=eng"
     -add "SRT_FILE:lang=jpn" -new "OUTPUT.mp4"

これらの操作をほぼ自動化させるバッチファイルを書いたのですが、それについての覚書は次の記事にまとめます。

実際に書いたバッチファイルは次の記事バッチファイル編
ここまで手順をまとめるのに非常にお世話になったサイトや記事です。
動画物置(旧FEZ物置):TSの字幕をmp4に保存する
http://a-cube.net/fez/2009/01/tsmp4_1.html
ageha was here:MP4Boxの主要コマンド
http://agehatype0.blog50.fc2.com/blog-entry-195.html
mp4boxsiki:mp4box-コマンド一覧
http://www.wikihouse.com/htumenc/index.php?mp4box
菖蒲のころ:字幕つきのmp4やmkvをつくる
http://d.hatena.ne.jp/korokorokoron/20100315/1268659489
nice!(0)  コメント(5)  トラックバック(1) 

nice! 0

コメント 5

gucky

はじめまして。

多重音声と字幕を残してTSファイルをエンコードする方法を調べていて流れ着きました。
作業方法の一部を参考にさせていただいております。
ありがとうございます。

現在は試しにCMカットをせずに処理しているのですが,TSファイルを直接見る時と比べて字幕がずれているような気がします。
そのような現象はありますか?
そもそもTSファイルに含まれている字幕(文字放送の情報?)を抽出する時点でテキスト情報しか抽出しないことによる制限みたいなものなんでしょうか。

ご存知でしたらお教えいただけると助かります。
by gucky (2012-02-19 13:27) 

ハナアルキ

半年以上経ってコメントに気づく、これがうちなータイム(沖縄時間)か……。

私は字幕情報は補助的なものとして割り切ってるので、字幕の表示ズレがあるかどうかは気にもとめてませんでした。なのでズレがあるかどうかはちょっとわかりません。

もし字幕表示のズレが、字幕データの抽出形式に依るものだとするなら、高機能なASS形式で抽出すれば解決するかも。ただ、MP4はASS形式に対応してないので動画コンテナを変更する必要がありますが。

by ハナアルキ (2012-09-11 21:12) 

ts mp4

情報ありがとうございます!( ´ ▽ ` )ノ
ちなみに上記の方法と大体同じようなソフトが別のサイトで見つかりました。
一応そのページを貼り付けます
by ts mp4 (2016-11-22 17:52) 

토토

Hi there, just became alert to your blog through Google,
and found that it's truly informative. I'm going to watch out for brussels.
I'll appreciate if you continue this in future.
Lots of people will be benefited from your writing. Cheers!


https://www.betmantoto.pro
by 토토 (2021-08-27 15:26) 

바카라사이트닷컴

Blog yang bagus! Saya ingin mengucapkan terima kasih atas upaya yang telah Anda buat dalam posting ini. Saya berharap karya terbaik yang sama dari Anda di masa depan juga.

https://www.bacarasite.com/
by 바카라사이트닷컴 (2023-01-23 20:11) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

トラックバック 1

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。