Last Updated 2014.06.01
TSファイル編集の覚え書き
MPEG-TS 対応ツール | MPEG-2 | H.264/AVC | 4K HEVC | マルチ音声 | 字幕データ | 番組情報 | カット | スマレン | 繋ぎ目再生 | 繋ぎ目調整 |
---|---|---|---|---|---|---|---|---|---|---|
Murdoc Cutter | ○ | × | × | ○ | ○ | ○ | GOP | × | × | TsTimeKeeper |
Smart Cutter | ○ | ○ | × | ○ | ○ | ○ | フレーム | ○ | ○ | 不要 |
TMPGEnc MPEG Smart Renderer 4 | ○ | ○ | × | ○ | ○ | × | フレーム | ○ | ○ | 不要 |
カット用ツール
Murdoc Cutter
- MPEG-TS (MPEG-2) の GOP 単位でのカットを行えるツール。
- Option → Edit → clip margin (カット時のマージン用 GOP 設定)
- Option → Edit → adjust clipping point [off] (繋ぎ目調整は TimeKeeper の利用を推奨)
- 確認 Ver.1.9g1 (2010-09-26)
- 公式 It's a Direct
Smart Cutter
- MPEG-TS (MPEG-2 及び H.264/AVC) のフレーム単位でのカット編集、スマートレンダリングを行えるツール。(有料)
- カット編集後のファイルは TVTest + TvtPlay でのスムーズな再生が可能。※2 を参照。
- 編集点前後の GOP を再エンコードする為、その繋ぎ目で映像が 1〜3フレーム程度崩れる場合がある。
- Options → Stream Fix [check]
- Options → Enable Full-Screen [off]
- Options → Enable audio VU meter [off] ([on] にすると編集中のシークが重くなる)
- カット編集後のファイルは、PCR, PTS, DTS を再調整して出力される。
但し、PCR 巡回の調整には現状未対応なので、該当するファイルは TsTimeKeeper での前処理が必要。
この際、カット編集の位置を維持したいのであれば、Save Proj 又は Save Batch 後に一旦終了し、
TsTimeKeeper 処理後のファイルを編集前と同一名称に修正、Load Proj 又は Load Batch で読み込む。
- カット出力後のファイルで、プロパティ及びエクスプローラー上の長さが異常値になる素材についての対処は、以下の 3種類。
- 実際よりも短く、動画プレイヤー等で正常にシークできない → PCR 巡回。(前項目参照)
- 実際よりも長い → 出力後のファイルをもう一度 Smart Cutter に読み込み、そのまま start transcoding ボタンを押して再出力。
- 上記の再出力でも駄目なファイル → 先頭フレーム or 最終フレームを 1〜2フレーム程度カットしてみる。
- ファイル名の扱いに関しては幾つかの不具合がある。
- 特定の文字列 (所謂ダメ文字) → ファイルを読み込めない。
- 140文字以上のファイル名 (ベース名) → 編集中のシーク異常、ファイル出力時の動作停止、等。
- 1バイト文字の . がファイル名 (ベース名) に含まれている → 出力時にファイル名 (ベース名) が途切れる。(Ver.1.8.0 以降)
- 音声チャンネルの切替点を含むファイルに関する注意点。
- 編集中に音声チャンネルの切替点で動作停止する → Enable audio VU meter [off]
- ファイル出力時に動作停止する → 予め TsSplitter や Murdoc Cutter 等で最初の音声切替点までカットしておく。
- 確認 Ver.1.8.6 (2014-03-24)
- 公式 FameRing Co. Ltd , Forum
- 手順 #smart-cutter
TMPGEnc MPEG Smart Renderer 4
- MPEG-TS (MPEG-2 及び H.264/AVC) のフレーム単位でのカット編集、スマートレンダリングを行えるツール。(有料)
- カット編集後のファイルは TVTest + TvtPlay でのスムーズな再生が可能。※2 を参照。
- 編集点前後の GOP を再エンコードする為、その部分で画質が 30〜60フレーム程度劣化する場合がある。
- EIT 等、番組情報のデータは残せない。
- 確認 Ver.4.1.5.60 (2013-09-18)
- 公式 Pegasys Inc. , TMPGEnc Net
- 手順 #tmsr4
関連ツール
TsSplitter
- カット前に不要なデータを除去。
- EDCB の「指定サービス」モードで録画したファイルは、SD→HD 切替点で分割できない場合がある。(該当ファイルでは -SEP2, -SEP3 推奨/-OVL 非推奨)
- 上記の詳細は、同梱の「指定サービス保存」についての html ファイルを参照。
- NHK-BS の録画ファイルでは、PMT 毎での分割 (-SEP2, -SEP3) は極力行わない事を推奨。(番組途中で PMT の変更があったケースを確認)
- NHK-BS の録画ファイルで使用する時は、-SEP -OVL60,60 辺りを推奨。(2014-04-13 時点)
- 確認 Ver.1.28 (2012-10-25)
- Download Ver.1.28
TsTimeKeeper
- MPEG-TS (MPEG-2) の PCR, PTS, DTS を調整。
- PCR が巡回して音飛びする素材や、Murdoc Cutter でのカット編集後のファイル (Drop 軽減) に使用する。
- 字幕データ無し → 字幕データ有りを跨ぐ素材では、字幕のズレを防ぐため PMT Check のオプションを使用する。(NHK 等)
- 先頭 GOP をチェックしない -nogop オプションが追加された派生版有り。(Ver.3.4.15.2 改造版 3 等)
- 確認 CUI 版 Ver.3.8.20.1 (2014-04-05)
- 確認 GUI 版 Ver.3.5.16.3 (2014-04-05/要 CUI 版)
- Download Ver.3.8.20.1
Smart Cutter での手順
特殊な素材への対処は ※1 を参照。
カット編集
TsSplitter で -EIT -SD -1SEG -SEP -OVL10,20,0 -LOGFILE
↓
Smart Cutter でカット編集 (Help 又は公式の 解説 を参照)
カット編集 (確認&やり直し優先)
TsSplitter で -EIT -SD -1SEG -SEP -OVL10,20,0 -LOGFILE
↓
OP を NEW START POINT 及び NEW END POINT で選択、add batch で登録、最下部の Clear 又は Delete で選択解除
↓
Aパートを同様に処理
↓
Bパート + ED を同様に処理
↓
次回予告を同様に処理
↓
link を on にして、Start Batch で出力
↓
出力ファイルを確認してカット前後点に問題があったパートは、Result Point から選択し右クリックメニューより View でやり直し
↓
修正前のパートを Result Point の右クリックメニューより Delete
↓
修正後のパートを Result Point の右クリックメニューより Insert Before で挿入
↓
link を on にして、Start Batch で出力
TMPGEnc MPEG Smart Renderer 4 での手順
特殊な素材への対処は ※1 を参照。
カット編集
TsSplitter で -EIT -SD -1SEG -SEP -OVL10,20,0 -LOGFILE
↓
「新規プロジェクト」→「追加ウィザード」→「TS ファイルを詳細に解析して追加する」→ 解析結果から編集対象のタイトルを選択
↓
「クリップ情報」タブ→「音声の情報」→「AAC 音声解析」→ 解析結果から「チャンネルモード」等を設定
↓
「カット編集パネル」→「編集メニュー」左クリック→「CM 候補検出」→ 解析結果から「キーフレーム出力」等を設定
↓
カット編集
↓
出力設定で、
[クリップ連結出力] [BDAV 向け MPEG ファイル] [MPEG-2 トランスポート (.ts)]
[画面アスペクト比 16:9] [VBR (可変ビットレート)]
[System (映像と音声・字幕あり)]
……等を選択 (出力設定例.png)
↓
出力
カット編集 (TFF/RFF 又は TFF/BFF 混在)
Murdoc Cutter で切替点にて分割し個別出力
↓
クリップ一覧に追加
↓
クリップ個別でカット編集
↓
出力設定で [クリップ個別出力 (スマートレンダリング優先)] を選択
↓
個別出力
↓
Murdoc Cutter で結合
↓
TsTimeKeeper で調整
L字テロップ箇所の差し替え (字幕データ無し)
テロップ有り(A) とテロップ無し(B) のファイルで、当該箇所の映像だけを差し替えたい時。
テロップ有り(A) をカット編集
↓
出力設定で [ES (映像と音声)] を選択し、映像ファイル(A) と音声ファイル(A) を出力
↓
TMSR4 の入力設定のクリップに、
「映像ファイル(A) のテロップ前部分」
「テロップ無し(B) の当該部分」
「映像ファイル(A) のテロップ後部分」
……を、編集して追加
↓
出力設定で [クリップ連結出力] [ES (映像のみ)] を選択し、映像ファイル(C) を出力
↓
TMSR4 で「スタート」→「高度なツール」→「MPEG ツール」→「多重化」→ [MPEG-2 Transport] を選択
↓
映像ファイル(C) と音声ファイル(A) を入力
↓
実行
L字テロップの IN/OUT 周辺でフレーム欠けしている事もあるので、差し替え部分のフレーム数と総フレーム数に注意。
※1:特殊な素材
1: PCR 巡回
TsTimeKeeper を使用して調整する。
先頭 GOP の警告が出て終了する場合は、先頭 GOP を Murdoc Cutter で削ってから調整してみる。
(又は、先頭 GOP をチェックしない -nogop オプションが付いた改造版を使う)
2: 先頭 GOP が破損
そのまま TMSR4 で扱うと、再エンコードフレームのビットレートが極端に低くなり映像が破綻する。
音声ヘッダも壊れていると TMSR4 でのスマートレンダリングで、TVTest + TvtPlay にて音声を認識できないファイルが出力される。
先頭 GOP を Murdoc Cutter で削ってから、TMSR4 で扱う。
(又は、正常な GOP から始まる箇所を分割し、そのクリップをマスタークリップに設定する)
3: TFF/RFF 又は TFF/BFF が混在
混在に対応していないツールでは、再エンコード部分がファイル先頭又はクリップ先頭フレームの形式に固定される。
切り替え点毎に個別入力/個別出力して、Murdoc Cutter で結合 + TsTimeKeeper で調整、の手順を使ってみる。
4: 音声チャンネル数が変化
TVTest + TvtPlay での倍速再生は、音声の切り替わる箇所で不具合 (引っ掛かり等) が発生する。
Smart Cutter のスマートレンダリングでは、カット点前後の音声切替箇所が残ってしまう事がある為、
該当するファイル (前後:ステレオ、本編:デュアルステレオ、等) のカット編集には、TMSR4 を使う。
※2:TVTest + TvtPlay 再生で不具合が起こる場合の設定等
1: 未カット編集の Drop が 0 のファイルで、特定箇所の映像・音声が一瞬飛ぶ (PCR 巡回)
TsTimeKeeper にて調整出来ない場合は、TvtPlay 側の設定変更が必要。
- TvtPlay → TvtPlay.ini → TsAvoidWraparound=1
2: TVCaptionMod2 等で、字幕表示のタイミングがずれる
先頭 GOP の字幕が表示されない場合は、TVCaptionMod2 側の遅延時間設定を微調整する。
- TVCaptionMod2 → TVCaptionMod2.ini → DelayTime=500
TvtPlay 側でバッファアンダーランを防ぐ設定にすると、字幕表示のタイミングが早くなる。
- TvtPlay → TvtPlay.ini → TsEnableUnderrunCtrl=0
TVTest 側のバッファリング設定を必要以上に大きくすると、シーク直後の字幕表示が遅れる。
- TVTest → 設定 → 再生 → バッファリングを行う → バッファサイズ → [20000]
- TVTest → 設定 → 再生 → バッファリングを行う → 初期貯蔵割合 → [20%]
TVTest 側の映像デコーダやレンダラのバッファサイズを必要以上に大きくすると、字幕表示のタイミングがずれる。
- TVTest → フィルタのプロパティ → 映像デコーダ/映像レンダラ
3: TMSR4 及び Smart Cutter でのカット編集後ファイルで、カット終了点直前の音声が乱れる
TVTest 側でバッファリングを行う設定にして、設定値を効果の出る最小限の範囲にする。
- TVTest → 設定 → 再生 → バッファリングを行う → バッファサイズ → [20000]
- TVTest → 設定 → 再生 → バッファリングを行う → 初期貯蔵割合 → [20%]
4: 設定例
TvtPlay → TvtPlay.ini
- TsRepeatAll=1
- TsReadBufferSizeKB=0
- TsSupposedDispDelay=2000
- TsEnableUnderrunCtrl=0
- TsAvoidWraparound=1
- TsTryGaplessPause=1
- SeekMode=0
TVTest → 設定
- 再生 → バッファリングを行う → バッファサイズ → [20000]
- 再生 → バッファリングを行う → 初期貯蔵割合 → [20%]
※3:TVTest + TvtPlay 再生で不具合が起こる場合の再編集、再調整等
1: TMSR4 にて編集したファイル (先頭の映像が 1〜3秒程度出力されず、音声のみ出力される)
TMSR4 の 出力ターゲットを [BDAV 向け MPEG ファイル] にする。
- TMSR4 → 出力設定 → 出力ターゲット → BDAV 向け MPEG ファイル
既に通常の [MPEG ファイル] にて出力してしまったファイルは、本編クリップ前に 1秒程度の単色クリップ (黒色) を追加して再出力する。
- TMSR4 → 入力設定 → 追加ウィザード → 単色、静止画タイル表示クリップなどを追加
2: Murdoc Cutter + TsTimeKeeper にて編集&調整したファイル
倍速再生にて編集点が不具合となる可能性があるので、要再編集。
- TMSR4 の「再エンコード部分の解析」で編集点を探す → TMSR4 or Smart Cutter にて編集点をカットし再出力
3: H.264 TS Cutter にて編集したファイル
倍速再生にて編集点が不具合となる可能性があるので、要再編集。
- TMSR4 の「再エンコード部分の解析」で編集点を探す → TMSR4 or Smart Cutter にて編集点をカットし再出力
4: Smart Cutter (Ver.1.7.1 以前) + TsTimeKeeper にて編集&調整したファイル
倍速再生にて編集点が不具合となる可能性があるので、要再出力。
- 当該ファイルを Smart Cutter Ver.1.7.3 以降に読み込み、そのまま start transcoding ボタンを押して再出力
5: Smart Cutter (Ver.1.7.1 以前) + TsTimeKeeper (旧ver.) にて編集&調整したファイル (字幕が正常に表示されない)
以下の組み合わせにて「カット編集+後処理」をしたファイルで発生する場合がある。
- Smart Cutter Ver.1.7.1 以前でのカット編集
- TsTimeKeeper Ver.3.4.15.2 改造版 2 の nogop 機能を使用して後処理
字幕タイムコードが異常値になっている不具合に該当するかもしれない為、修正用ツールにて再調整してみる。
- 当ページの 配布物 にて公開している TsTimeKeeper 改造版 (C-PTS修正用) で、字幕タイムコードを修正
倍速再生での不具合解消をする為の再出力作業も必要。
配布物
- TVTest 用 パン&スキャンの設定 (首都圏簡易版) (2014-04-19)
- EDCB 用 ChSet5.txt サービスID 順 出力 Perl CGI Script (2013-07-09)
- EpgDataCap_Bon 用 Bitrate.ini (2014-04-01)
- TsTimeKeeper Ver.3.5.16.7 改造版 (C-PTS修正用) r2 (2013-06-02)
リンク
- TvtPlay Ver.2.2 (master 2014-02-15 / work 2014-02-12)
- TVCaptionMod2 Ver.1.8 (2013-12-10)
- Rounded M+ 1m for ARIB (2013-12-05)