3

メディア ファイル セグメンターは、Apple が提供するツールです。1 つのメディア ファイルを、HTTP ライブ ストリーミング用の一連の小さな mpeg-2 トランスポート ストリーム ファイルに分割できます。

今、私は逆の仕事をしたいと思います: iPhone 再生用の 1 つのメディア ファイル (mp4) にすべての mpeg-2 トランスポート ストリーム ファイルをマージします。

私は AVFoundation クラスを使用しようとしています- 、AVURLAssetなど。私は次のようなコードを書いています:AVMutableCompositionAVMutableCompositionTrack

AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:mpeg2tsMediaURL];
NSLog("duration: %lld", [asset duration].value); // shows empty duration here

AudioTrack、VideoTrack などの他のプロパティを印刷しようとしました すべてのプロパティが空で、アセットは空のオブジェクトです mpeg2tsMediaURL を通常の mp4 ファイル URL に切り替えると、プロパティが正しく表示されます。したがって、AVFoundation クラスを使用してジョブを実行するのは失敗です。

どんな提案でも大歓迎です。ありがとう。

4

1 に答える 1

0

tsMuxeRを使用して、MPEG トランスポート ストリーム ファイルを組み合わせることができます。

GUI を使用して TS ファイルを結合するには:

  1. 「追加」ボタンをクリックして、最初のファイルを追加します。
  2. 「結合」ボタンをクリックし、2 番目のファイルを選択します。「結合」ボタンをもう一度クリックして、3 番目のファイルを選択します (残念ながら、バージョン 2.6.12 の時点では、各ファイルを個別に結合する必要があります。ファイルが多数ある場合は、コマンド ライン ツールを使用することをお勧めします)。
  3. 出力ファイル名は自動的に選択されますが、「出力」セクションで出力ファイルのパスを変更できます。
  4. 「多重化を開始」ボタンをクリックします。
于 2014-04-22T13:00:47.147 に答える