はじめに
録画した、「ts」ファイルをAmatukazeで楽ちんに変換できるよってブログを以前書いたのですが、変換したファイルを再生してみると、一部の放送局では、CMは一応カットされているけれども、余分なものが残っていたり本来欲しい個所がカットされていて求める出力になっていませんでした。
AmatsukazeにはCMカット機能がありますが、放送局のロゴと音声情報からCMに入ったかどうかを判定しています。そのため、判定の誤差により本来欲しい場所がカットされてしまうことがありました。
自分が変換で求めていたのは下記の条件です。
・余分なCMが再生中に入らない
・アニメの放送内容が1つの動画ファイル内で再生できること
→ 例)OP、提供枠、Aパート、Bパート、ED、予告、提供枠、エンドカード
・字幕がある場合字幕もしっかり格納されること
この条件を満たしたいために色々と調べて一応求める出力にたどり着いたので、備忘録として残しておきます。
ただ注意点として、今回の方法では、放送した全てのフレームは残すことができず、一部カットされてしまうのでそこを気にする方には、この方法は向いていません。最大約10フレームカットが分割する毎に発生します。始点と終点を合わせると1つのファイルで約20フレームカットされます。
原因は、tsファイルを無劣化で再度出力するため、キーフレームを元としているからです。詳しく知りたい方はコチラを参照してください。
自分の解釈が間違っている場合もあるので、そこはご了承ください。
tsファイルを分割する
Amatsukazeで変換をした際に、余分な個所が残っていると困るので録画したtsファイルをそれぞれパート毎で分割を行います。主に、CM部分をカットする作業です。
DGDecNVをコチラからダウンロードします。
リンク先の「Download DGDecNV 2053 build 255 Windows」を押下するとzipファイルがダウンロードされます。
解凍したら、そのフォルダの中にある「DGIndexNV.exe」を実行します。
下記の画面が立ち上がります。
DGINDEXと書いてある箇所にファイルをD&Dしてtsファイルを読み込みます。Warningが出る場合もありますが、「はい」を押下して下さい。
読み込みが完了すると表示されます。
初期状態では、tsファイルの全体が範囲選択されているので、マウススクロール等で、表示位置を変更して開始位置のフレームに移動します。
移動が完了したら赤枠で囲った「[」を押下して開始位置を指定します。
続いて同じように終点位置のフレームに移動して赤枠で囲った「]」を押下して終点位置を指定します。橙色で囲った箇所は選択した切り出したい範囲になります。
「File > Output Trimmed TS」の順に押下します。
任意のファイル名を指定して「保存」を押下します。
指定されたファイル名で出力されていればカットは完了です。
以降、必要な分だけ同じ作業を繰り返します。
分割したいファイルが一部壊れていて、DGIndexNVの操作が出来なくなった場合は、TsSplitterを使ってファイルの分割を行ってください。一応この手順をすることで分割できるようになります。うまく操作できないときもありますが、しばらく待てば動かせるようになります。
コチラより「TsSplitter」を検索して、「up0797.zip」をダウンロードしてください。
解凍したら「TsSplitterGUI.exe」を実行して、画像のように設定して、「変換」を押下してください。ファイルが分割されます。
※実際にどれぐらいのフレームがカットされているのか
DGIndexNVで1スクロール分の範囲をみるとだいぶフレーム数が進んでいることがわかります。
AviUtlで同じ、ファイルを読み込んで該当箇所との比較をしてみると、3798フレームから3809フレームまで移動しているので、約10フレーム分カットされていることになります。基本的には、ほんの数ミリ秒のカットなので大した影響にはなりませんが、気になる方はカットする箇所を早めたりすると全て残せます。ただし、余分な個所が残ります。
分割したtsファイルを結合する
続いて分割したtsファイルを結合します。そのまま変化すれば問題無いと思われる方もいると思いますが、そのままAmatsukazeで変換してその後、出力されるmkvファイルを結合したのですが、音ズレの影響で音声が一部伸ばされるような現象が起きたのでここで結合を行っています。
コチラから「TSSplitter」をダウンロードしてください。
※上の手順の例外対応で同じ名前のソフトを紹介しましたが、全く別のソフトです。
「Download TSSplitter 1.2」を押下するとzipがダウンロードされます。
解凍したら「TSSplitter.exe」を実行します。
結合したい「tsファイル」をソフトに「D&D」するとダイアログが出るので、結合の順番を確認してから、「Join!」を押下します。
正常に結合が完了すると下記のポップアップが表示されます。
結合したtsファイルをAmatsukazeで変換する
Amatsukazeをインストールした先の、「JL」フォルダに移動します。
例) C:\Amatsukaze_0.9.1.4\JL
「JL_MBS.txt」をコピーして「JL_Base.txt」に名前変更します。
「JL_Base.txt」を開いて「Default param_cuttr 1」を「Default param_cuttr 0」に変更します。この設定で、AmatsukazeがCMカット等をしなくなります。変換時にこの設定を選ぶ必要があります。
Amatsukazeを実行して、「JoinLogoScpコマンドファイル」の箇所を「JL_Base.txt」に変更してください。今回の場合は、アニマックスが該当していますが、各放送局毎に行ってください。
ロゴスキャンがまだの場合は、キューを停止したうえで結合したtsファイルを「D&D」して、変換を「通常モード」で開始して、追加した「ts」ファイルの箇所を右クリックして「ロゴ生成」を押下してロゴの生成を行ってください。ロゴが生成されると、上の手順の設定が出来ます。
上の手順が完了したら「キュー稼働中」にしてtsファイルの変換を行ってください。
以上で、変換作業は終わりです。
さいごに
自動化はとても楽ではありますが、求める結果にならない事もあります。
今回は、自分で色々と調べて求めていた結果にたどり着くことはできましたが、この結果にたどり着いたのは、過去にソフトを作ってくださった開発者様のおかげでもあります。ありがとうございました。
動画の変換がちゃんとできているかを確認するまでは、元のtsファイルを削除することはオススメしません。