8

ビデオを継続的にキャプチャし、h.264で10秒間隔でエンコードしてストレージサーバーにアップロードするiphoneアプリを作成したいと思います。これはavassetwriterを使用して実行でき、新しいファイルを作成するときに古いファイルを削除し続けることができます。ただし、フラッシュメモリの書き込みサイクルは限られているため、このスキームでは、フラッシュを介した数千回の書き込みサイクル後にフラッシュが破棄されます。avassetwriterをメモリにリダイレクトする方法、またはiPhoneでRAMドライブを作成する方法はありますか?

ありがとう!

4

2 に答える 2

1

はい、avassetwriterはハードウェアデコーダーにアクセスする唯一の方法です。また、ファイルが書き込まれているときにファイルを読み戻すだけではmoovアトムが得られないため、avfoundationまたはmpmediaplayerベースのプレーヤーはファイルを読み戻すことができません。選択肢は2つだけです。定期的にアサセットライターを停止し、バックグラウンドスレッドでファイルに書き込み、ムービーをより小さな完全なファイルに効果的にセグメント化します。または、サーバー側で不完全なmp4を処理できる場合は、生のnaluをデコードして、欠落しているmoovアトムを再作成する必要があります。使用しているffmpegmov.cがソースである場合。これは、不完全なmp4ファイルが失敗することでもありました。

于 2012-12-13T17:47:56.787 に答える
-2

なぜデータをファイルに書き込むのですか? キャプチャデータをメモリにコピーして、メモリからサーバーにプッシュできませんでしたか?

于 2012-11-27T02:46:55.110 に答える