3

AV Foundationを誘導して、メモリ内のmp4ファイルから読み取ろうとしています(中間のディスクへの書き込みソリューションを使用せずに)。独自のカスタムURLプロトコルを試しましたが、AV Foundationが実際にはURL読み込みシステムを使用していないため、失敗しました。私の次の解決策は、POSIXパイプを構築し、AV Foundationレイヤーに名前付きパイプファイル(つまり、url "file:/// path / path /.../ path / mp4file.pipe")からアセットをロードさせることでした。これはmkfifo()で作成されました。これは、通常のfopen()呼び出しを介してファイルを読み取ろうとしたときに機能しましたが、AVURLAsset initWithURL:呼び出しで失敗しました(クラッシュが発生しました)。

誰かがAVFoundationをパイプから読み取らせることができたので、より一般的には、AVFoundationをメモリ内のmp4ファイルで動作させることができましたか?

ありがとう。

4

2 に答える 2

3

MP4 ファイルを読み取るとき、AVFoundation はシークを使用するため、明らかにパイプを使用できません。ファイルをディスクに保存するか、小さな HTTP サーバーを使用して HTTP ライブ ストリーミングを利用するしかありません。

于 2012-10-23T17:06:51.837 に答える
1

この目的のためにマングースを使用しました。これは、基本的に 1 つのファイルに収まる、小さくて簡単に適応できる HTTP サーバーです。

于 2012-10-23T17:13:52.077 に答える