logoGuilloで出力したCMスキップ用のチャプターを利用して、MPEG2を再エンコードせずに(m2v+aac).mp4を作成します。
映画やドラマ等、エンコードしても時間の割に圧縮されないソースのCMスキップを可能にします。
必要なもの
mme.exe(MPEG-2 VIDEO VFAPI Plug-Inに同梱)
logoGuillo(+動作環境)
MP4Box
文字コード変換ソフト(CLI,S-JIS -> UTF-8)
1.動画ファイルの前処理
*詳細は関連記事を参照
1-1.
動画ファイル(m2v+aac)を用意します。
1-2. 字幕を残したい場合は動画に対応する字幕データ(*.srt)を用意します。
1-3. mme.exe(MPEG-2 VIDEO VFAPI Plug-Inに同梱)を使用してm2vファイルのGOPリストを生成しておきます。
2.CMスキップ用のチャプターを出力
logoGuilloを使用して、「*.chapters.txt形式(本編開始位置のみ)」でCMカット結果を出力します。
入力ファイルが"video.m2v"の場合、出力先は"video.chapters.txt"とします。
また、確実にシークしたい場合はフレームオフセットを"-33 frame"程度にしてチャプター位置を多少手前にしておきます。(2 GOP+α、1 GOP = 15 frame)
3.(m2v+aac).mp4を作成、チャプターと字幕を埋め込み
MP4Boxを使用してm2vとaac、字幕(srt)をmp4コンテナに入れ、チャプターを埋め込みます。
*MP4Box 0.4.5では4GBを超えるmp4が作成できなかった(完了しない)ので0.4.6以降を使用して下さい。
*srtの埋め込みでエラーが出る場合は、字幕データの文字コードをUTF-8に変換しておきます。
*mp4chaps.exeでは4GBを超えるmp4には正常にチャプターを埋め込めませんでした(再生できないファイルが出来てしまう)。そのためMP4Boxでチャプターを埋め込みます。
例(1440x1080、16:9の29.97fpsソースの場合)
"MP4Box.exe" -fps 29.97002997002997 -add "video.m2v":par=4:3 -add "video DELAY -307ms.aac" -add "video.srt" -chap "video.chapters.txt" -new "output.mp4"
4.完成
チャプターに対応したプレーヤーで再生し、CMに入る度に次のチャプターにジャンプして視聴します。
*一部のプレーヤーやスプリッタでは4GBを超えるmp4が再生できない事があります。
関連記事
logoGuilloの出力結果をAviUtlで確認し修正する方法(半自動CMカット)
*本記事の「1.動画ファイルの前処理」と参照先の「1.仮CMカットファイルの生成(自動)」の手順がほぼ同じです。字幕の抜き出し以外の処理方法を、より詳細に記載しています。
エンコード関連記事一覧