15

Flash を使用してユーザーの Web カメラからビデオをキャプチャし、Flash ファイルをホストする同じサーバーに保存したいと考えています。Web サーバーは ASP.Net テクノロジを実行します。簡単そうですよね?

多くの検索で、Flash を使用して Web カメラのキャプチャを開始する同じコード行が得られました。キャプチャしたビデオをサーバーに送り返すものは見つかりません。

サード パーティ製のソフトウェアまたは Flash Communication Server がサーバー上で収集する必要があることをほのめかすブログやフォーラムの投稿をたくさん見つけることができますが、その理由はわかりません。

Flash はビデオをキャプチャし、それを HTTP ポストとして Flash ファイルをホストする同じサーバーに送信できるようにする必要があるようです。これはかなり基本的な Flash/Webcam 機能ですよね? まだサードパーティの依存関係を導入する必要はないようです。

これらのサンプル ActionScript コードの余分な行がどこに隠れているか知っている人はいますか?

4

2 に答える 2

15

クライアントからサーバーにビデオをストリーミングできるようにするには、Flash Media Server (または Red5 などのオープンソースの代替手段)が必要です。HTTP POST を使用してこれを行う方法はありません。

ただし、Video 表示オブジェクトをフレームごとにビットマップに描画し、通常の HTTP ファイル アップロードを使用してそれらのビットマップをオンザフライでアップロードできます。ご想像のとおり、これはパフォーマンスの観点からは必ずしも理想的ではありません。また、Flash Player のセキュリティ モデルでは、ユーザーが操作を開始しないとファイルをアップロードできないため、問題が発生することもあります (つまり、マウス クリック イベントがスタック トレースに含まれます)。ただし、これを回避する方法はあります。ファイルを AMF サービスを介して AMF ByteArray として送信しますが、将来的には保証されない可能性があります。

最終的には、あらゆる種類のプロフェッショナル グレードのアプリケーションに対して、間違いなく Flash Media Server (または Red5) を組み込みたいと思うでしょう。そのようなサービスを雇うことができる会社があり、その一例がInfluxisです。そのルートをたどると、サーバー (Java) を自分でホストする必要はありません。

于 2009-12-29T07:06:44.450 に答える
0

このブログは役に立ちました。

http://www.zeropointnine.com/blog/updated-flv-encoder-alchem/ このコードは、richardolsson による回答に基づいています。

私は自分のプロジェクトでこのコードを一度試してみましたが、10 秒のビデオを Facebook にアップロードすることにも成功しました。私は自分の経験について詳細なブログを書いています。 http://www.logicmanialab.com/2012/10/upload-video-to-facebook-using.html

ビデオが長すぎる場合、このコードはブラウザーを中断またはハングアップさせます。とにかく試してみる価値があります。

ビデオを保存する最良の方法に加えて、Flash MediaサーバーまたはRED5サーバーを使用することです(私の経験)。PHPでは最適ではないため、ffmpegを試したことはありません:)。

于 2013-12-27T06:09:14.957 に答える