3

私はネットストリームのドキュメントを見ています。しかし、appendBytes()が実際に任意のデータを取得できるかどうかを実際に収集することはできません。本当に任意のビットマップデータを(バイト配列として)取得し、フレームをストリームに追加することができますか(おそらくファイルを保存するためにFMSに送信する前に)?私は間違っていると思います。それは動的ストリーミングにのみ役立ちます。Webカメラフィードを取得して、FMSを介してビデオを直接エンコードすることが可能であることを私は知っています。しかし、エンコードする前にいくつかのオーバーレイを追加したいとしましょう。それはFlashでも可能ですか?つまり、FlashでnetStreamオブジェクトを動的に生成できますか、それとも、netStreamからビットマップデータを描画するだけで、その逆はできませんか?

基本的に目標は、 Movie Masherのようにビデオとオーディオを操作し、実際のビデオファイルを直接保存することです。Movie Masherは、後で変換するために、実際には1つのフレームをサーバーに保存します。

FP11にはネイティブのH264エンコーディングがあると聞きましたが、「仕様」の質問:最終的なnetStreamをブラウザでエンコードしてから、HTTP経由でサーバーにアップロードできますか、それともFMSは引き続き必要ですか?このリアルタイムエンコーダのデモを見ていますが、FMSをファイルダンプとして使用しているだけなのか、それともプロセスの一部なのかはわかりません。

FLVをエンコードするためのオープンソースプロジェクトがあります。これは、生のByteArrayをエンコードできるByteArrayFlvEncoderを使用します。H264に相当するものはありますか?

4

2 に答える 2

1

NetStream.publish()ドキュメントによると、両方をNetStream.appendBytes()同時に活用することはできないため、ネイティブエンコーダーを使用することはできないようです。

NetStreamは、ストリームを公開することも、ストリームを再生することもできますが、両方を行うことはできません。ストリームを公開してサーバーからの再生を表示するには、2つのNetStreamオブジェクトを作成します。

NetStreamつまり、オブジェクトを介してカスタムデータをFMSに送信する方法はないようです。

だから、あなたはできる:

  1. Videoカメラをオブジェクトに取り付けます
  2. ピクセル操作で一連の効果を適用します
  3. 後でエンコードするためにピクセルデータをソケット経由でサーバーに送信するか、前述のAS3エンコーダーを使用して、ベイクされたFLVをファイルとして(ユーザーのコンピューターまたはサーバーに)保存します。
于 2012-09-12T03:45:54.807 に答える
1

NetStreamAppendBytesActionクラスと組み合わせて使用​​されるNetStreamクラスのappendBytes。

サンプルコード:参照デモ: http ://www.bytearray.org/?p = 1689

// retrieve the FLV stream
var bytes:ByteArray = event.currentTarget.data;
// put the NetStream class into Data Generation mode
netstream.play(null);
// before appending new bytes, reset the position to the beginning
netstream.appendBytesAction(NetStreamAppendBytesAction.RESET_BEGIN);
// append the FLV video bytes
netstream.appendBytes(bytes);
于 2012-09-17T15:21:57.873 に答える