0

次のリンクでは、Web カメラからビデオストリームをキャプチャし、h264 にエンコードして、ネットワーク接続を介してメディア サーバーにストリーミングするフラッシュ プロジェクトをビルドする方法について説明します。

http://www.adobe.com/devnet/adobe-media-server/articles/encoding-live-video-h264.html

私の限られた経験では、このアプローチは利用可能な帯域幅によって制限されます。つまり、プロジェクトが利用可能な帯域幅を超えるビットレートでビデオを録画するように構成されている場合、フレームがドロップされ、最終的なビデオが不足します。

ローカルストレージまたはメモリ内キャッシュに記録し、記録が完了したらメディアサーバーにアップロードする機能がフラッシュにあるかどうか疑問に思っていますか? これにより、アップロードが録画から分離され、ビデオのビットレートと帯域幅の間に競合がないため、Web アプリはアップロードに追加の時間を費やすことができます。

4

2 に答える 2

1

AIR アプリを実行している場合を除き、Flash にはそのような機能はありません。ローカル ストレージに関しては、Web ベースのアプリケーションに必要なのはSharedObject. そのスペースにビデオの 1 フレームを記録できれば幸運です。

メモリに直接保存することもできます (つまり、そのままにしておくこともできますByteArray) が、使用している OS、ブラウザ、およびプラグインによっては、メモリの過剰使用のためにアプリが強制的にシャットダウンされる可能性があります。そうでない場合でも、512MB の RAM を搭載したシステムがあり、300MB のファイルを保存しようとしている可能性があるため、これは適切な選択ではありません。まばたきもせずに、そのシステム (さらにはより優れたシステム) を遅くすることができます。

AIR を使用している場合は、ビデオをメモリに保存してから、数秒ごとに と を使用してディスクに保存できFileますFileStream。唯一の制限は、保存されているドライブのサイズです。その後、記録の最後、またはユーザーが満足したときにアップロードできます。

于 2013-10-25T18:20:11.167 に答える