メディア ファイル セグメンターは、Apple が提供するツールです。1 つのメディア ファイルを、HTTP ライブ ストリーミング用の一連の小さな mpeg-2 トランスポート ストリーム ファイルに分割できます。
今、私は逆の仕事をしたいと思います: iPhone 再生用の 1 つのメディア ファイル (mp4) にすべての mpeg-2 トランスポート ストリーム ファイルをマージします。
私は AVFoundation クラスを使用しようとしています- 、AVURLAsset
など。私は次のようなコードを書いています:AVMutableComposition
AVMutableCompositionTrack
AVURLAsset *asset = [[AVURLAsset alloc] initWithURL:mpeg2tsMediaURL];
NSLog("duration: %lld", [asset duration].value); // shows empty duration here
AudioTrack、VideoTrack などの他のプロパティを印刷しようとしました すべてのプロパティが空で、アセットは空のオブジェクトです mpeg2tsMediaURL を通常の mp4 ファイル URL に切り替えると、プロパティが正しく表示されます。したがって、AVFoundation クラスを使用してジョブを実行するのは失敗です。
どんな提案でも大歓迎です。ありがとう。