web-dev-qa-db-ja.com

WindowsでのMPEG TSファイルのロスレスカット

衛星放送受信機で記録された、トランスポートストリーム(.ts)形式のHDビデオファイルがいくつかあります。

最初から数分、最後から数分、場合によっては途中で数分を削除するように、それらをカットしたいと思います(録音の早期開始、遅延終了、および一部のまれなファイルでは広告を削除します)。

これを行うためのGUIを備えた、理想的ではあるが必ずしも無料ではない、優れたソフトウェアとは何ですか?タイムライン上のポイントを選択して、単純に要素を切り取ることができるものがベストです。

結果のファイルとして、同じ.ts形式があればいいのですが、ビデオが再エンコード/トランスコードされない限り、ビデオのコンテンツを別のコンテナーに入れて生きることもできます。

ファイルには追加のオーディオストリームと字幕があります。これらはプロセスで保持する必要があります。

私のOSはWindowsです。

Avidemux おそらくあなたにとって最も簡単な解決策です。再エンコードせずにストリームからストリームにコピー/リマックスできます。コーデックの代わりにビデオ出力でCopyを選択し、開始マーカーI-frameにある必要があります

以下のスクリーンショットのFrame:I(02)に示すように、フレームタイプはクリップ時間の横に表示されます(ただし、2.7.1のFrame type: I-FRM (00)など、後のバージョンで形式が変更される可能性があります)。

keyframe avidemux

次/前のキーフレームボタンを選択してIフレームをすばやく選択することもできます(ショートカット: Up/Down

その理由は、ビデオファイルが group-of-pictures(GOP) に分割され、互いに独立してエンコードされ、もちろんストリーム内に...画像/フレームが含まれているためです。各GOPは、補間なしの完全な画像であるIフレーム(A.K.Aキーフレーム)で始まり、BまたはPフレームが続きます。したがって、Iフレームで開始すると、GOP全体を再エンコードせずに出力ファイルにコピーできます

GOP structure

ただし、最後のGOPでは、GOP全体をコピーしないと、一部のコーデックでは機能しない可能性があります(ただし、これについてはよくわかりません)。とはいえ、私の実験では、終了マーカーの位置に関係なく問題なく動作します。ただし、エラーが発生した場合は、次のキーフレームを選択してGOPの最後を選択し、1フレームだけ戻ります。

VirtualDub または FFMpeg のような、ダイレクトストリームコピーをサポートする他のソフトウェアも使用できます。

4
phuclv

このための絶対的な最良のプログラムは VideoReDo ですが、少し高価です。 VideoReDoを概算する無料のプログラムを見つけることができませんでしたが、 TSSniper はピンチで行うことができます。

3
Ben