2012-02-25 8 views
2

これは可能かもしれませんが、状況は次のとおりです:ActionScript 3 Cameraクラスを使用して、ローカルカメラ(ウェブカメラ、内蔵カメラなど)からビデオをキャプチャし、そのビデオをフラッシュアプ​​リケーション。ビデオをメモリにキャプチャし、actionscriptで再生しますか?

私はFlash Media Serverに送信してからオンデマンドビデオとしてストリーミングする可能性を考えていますが、私は理想的には最高のパフォーマンスを得るためにクライアントサイド全体を保つことが理想的です。

Webページに埋め込むことができるのであれば、別のプラットフォーム(Javaは1つの考慮事項)を使用するというアイデアは公開されていますが、開発をできるだけ簡単に保ち、できるだけ簡単にエンドユーザーにアプリケーションにアクセスすることができます。そのため、最初はFlashを選択しました。

誰かがこれを行う方法を知っているなら、私は入力を歓迎します。

+0

私はそれを自分で使っていませんが、FMSのhttpストリーミングAPIはByteArrayとしてクライアント上のデータを取得できると考えています。そして、FlashのVideoクラスでそのデータストリームをプッシュできます... – catholicon

答えて

3

わかりました。これは、私が同じ障害に挑戦している他の人のためのアップデートです。 flvEncoderという名前のLee Felarca(zeropointnine - http://www.zeropointnine.com/)が作成したユーティリティを使って、ビデオを録画し、プレビューできるようにしてから、1つのフラッシュアプ​​リケーションからアップロードすることができました。

概念は、次のようなです:生の形式に

  1. 録音、オーディオとビデオデータ(バレンティンシモノフが提案くらいのような)
  2. のFlash FLV形式にエンコードするためにflvEncoderにデータを渡して、バックのByteArrayを取得。私はそれがフラッシュFLVと言うのは重複しているようですが、FlashとAdobe Media Playerが結果を解釈できる唯一のものだと思われるので、私はそれを言います。
  3. NetStreamインスタンスを作成してデータ生成モードにし、appendBytes()メソッドを使用して、エンコードされたデータを入力NetStreamにリンクされたVideoオブジェクトに渡します。
  4. FileReference.upload()を使用して、HTTP要求でサーバーにデータを送信します。

これは潜在的に大量のメモリを消費する可能性がありますが、とにかく短い動画を録画するだけでした。私はここでコードを投稿するつもりはない。なぜなら、それは独特のプロジェクトに結びついているからです。しかし、この情報が誰かにとって有益であることを願っています。回答ありがとう!

+0

ニースが見つかりました。 AdobeはAlchemyを別の製品に変更していますが、このソリューションは11.2に入る可能性があります。 –

+0

flvEncoderクラスには純粋なActionScriptエンコーダが含まれ、錬金術エンコーダはオプションです。私が知っている限り、それはまだ動いていくはずです... –

0

最も簡単な方法は、FMS、WowzaまたはRed5メディアサーバーを使用することです。 NetStreamを使用してサーバーにデータを送信し、そこにムービーを保存してストリームバックするだけです。

また、これを実行する唯一の信頼できる方法だと思います。カメラ、ビデオ、またはNetStreamオブジェクトは実際のビデオバイトにアクセスできません。あなたは、あなたのカメラにビデオのインスタンスを追加し、それをビットマップに1/24秒ごとに描画することができます。その後もデータをエンコードする必要があります。そうしないと、メモリが非常に早く使い果たされます。ここでは、使用可能なas3で作成されたflv/h264コーデックがあるかどうかはわかりません。しかし、とにかくそれは遅くなると思う。

+0

FMSにアップロードする前にユーザーがビデオをプレビューできるようにしたいのですが、ビデオをアップロードしてストリーミングするだけです。ありがとうございました! –

関連する問題