6

ByteArray オブジェクトに保存されているフラッシュ ビデオ ファイル (FLV) があり、このビデオを再生したいと考えています。それを達成する方法はありますか?もしかして錬金術使ってる?

ありがとうございました!

4

5 に答える 5

7

ByteArrayを使用して保存したビデオを再生するより良い方法がありますNetStream.appendBytes()

使用例を次に示します: http://www.bytearray.org/?p=1689

于 2011-07-22T22:50:08.283 に答える
0

Loader + MovieClipのトリックは、おそらく唯一の方法です。これを参照してください

制限の場合:rtmfp2pの場合、2分の制限で問題ありません。これは、より大きなバイト配列を配布することはとにかく実現可能ではないためです。

再生メトリック(再生ヘッド/現在のフレーム)が利用可能であると仮定すると、スムーズな遷移は問題になりません-タイムラインが同期するまでmute / visible = falseで2番目のswfの再生を開始し、次にビデオとサウンドを反転します-これはnetstream / play()、まだプレーンswfについてはよくわかりません。

もう1つの問題は、flvデータがswfにインポートされる方法と、実行時にas3で適切なswfを構築する方法を正確に把握することです。これまでのところ、mxmlc / swfmillはFLVを直接埋め込むことができませんでした(しばらく経ちましたが、状況が変わった可能性があります)。ビデオ付きのバイトアレイロード可能なswfを作成できるのはプレーンフラッシュAS3だけでした。しかし、可能であるはずです。

関連するメモ-1つの質問は、すべてが問題に値するかどうかです-このようなp2p VODを備えた成功したサイトを構築する場合、Adobeはただ線を切るだけかもしれません(ビデオが埋め込まれたswfムービークリップがないようなものをハッキングするバイト配列からロードされます...)。

于 2010-09-17T16:56:49.333 に答える
-1

Flash が SWF 埋め込みビデオをエンコードする方法がわからないので、これが可能かどうかはまったくわかりませんが、その flv bytearray をタイムラインに埋め込まれた flv を使用して swf に変換し、その bytearray を使用して Loader で表示することができます。ロードバイト...

于 2009-10-12T16:56:58.647 に答える
-2

なぜ ByteArray なのかは尋ねません。あなたの質問に対する答えは「はい」ですが、最終的な結果は遅くなります - ビデオが大きく、コーデックが複雑な場合は遅くなります。フレームを読み取り、それらを BitmapData として Bitmap に配置し、独自のプレーヤーを作成する必要があります。最良の方法は、Alchemy を使用することです。Alchemy は高速に動作しますが、動作も遅くなります :) Haxe を使用することもできます。

非常によく似た音。開始するのに最適なポイントは、Adobe Labs です。最後に - flv はハードウェアを使用してデコードされることに注意してください - コードはプロセッサのみを使用します。この機能が本当に必要かどうか自問してみてください。

于 2009-10-12T10:13:21.743 に答える
-4

「なぜByteArray」が実際に問題だと思います...どうやってそこにたどり着いたのですか?:)

たくさんのアプローチがあります...1つはコンラッドによって与えられました...しかし彼が言ったようにそれは遅くなるでしょう...実際、私はあなたが想像するよりもはるかに遅いと思います...だからここに別のもの:

ByteArrayをサーバーに渡し、そこからflvをロードします...いくつかのオプションがあります。

  • リモートサーバー:リモートサーバー(おそらくswfを配布しているサーバー)にロードします...そもそもなぜそこからflvを配布しないのかという疑問が残ります...
  • ローカルサーバー:
    1. インストール済み:小さなローカルアプリをインストールするだけで、それを正確に実行できます。つまり、バイト配列をそこにプッシュして、適切なプロトコル(HTTP、RTMP)で取得できます...
    2. ブラウザ埋め込み:インストールされたものと同じですが、その仕事をするためにJavaアプレットを作成するだけです...署名されたJavaアプレットはポートをバインドできます(はい、これはユーザーにとって余分なクリックですが、できる限り快適ですget)これはあなたがしなければならないことであり、残りはインストールされたサーバーの場合と実際に同じです...

どちらのシナリオでも、クロスドメインポリシーの問題が発生する可能性があります(ドメイン間で動画を読み込むことが許可されているため、送信時にのみ)。FlashPlayerのポリシーファイルリクエストに正しく応答する必要があります( that)...これはC#の場合のように、LocalConnectionブリッジを作成することで送信制限をバイパスできます...

じゃあ、頑張ってね ... ;)


編集:ああ、わかりました...実際には、すでに非常によく似た質問がありました... p2p機能が発表された直後に、アドビの男との短いインタビューを覚えています...アドビはこれについて非常に恥ずかしがり屋です。 ..フラッシュプレーヤー10が正式にリリースされてからp2pを見つけるのに実際には数週間かかりました(以前は本当に気にする時間がありませんでした)...

実際、これは意図的に行われていると思います...インタビューでは、adobeがビデオストリーミングサイトを押しのけようとしているのではないことが明らかになりました...おそらく最も重要な2つはyoutubeとgoogleビデオです...youtubeは主な理由の1つ、そもそもフラッシュプレーヤーがとても人気になった理由...そしてそれはグーグルビデオとしてグーグルによって所有されています...p2pメディアプラットフォームの簡単な作成を可能にすることはグーグルを大いに怒らせるでしょう...あなたはそのために多くのサーバーは必要ありません...「ちょうど」良いソフトウェアですが、それは手頃な価格です...そして私は、adobeはグーグルを怒らせたくないと思います...いくつかの理由:

  • 彼らは検索エンジンです
  • フラッシュベースのサイトのインデックスを作成するには、Googleが必要です
  • グーグルはn倍大きい
  • グーグルは本当にRIA市場の巨大なチャンクを手に入れようとしています...彼らはGWT、クローム、V8ネイティブクライアントを持っています...

だから私はadobeがそうすることにそれほど興味を持っていないと思います...それはグーグルが彼らの支払いシステムを発表したときのようにかなりです(それはGPayかそこらでしたか?)、それはPayPalの直接の同時でした... eBayはグーグルの最も重要な収入源の1つです...そして実際に私はそれについて二度と何も聞いたことがありません...

大企業に関しては、多くの決定は政治的です...そして私は、フラッシュプレーヤーのp2pを強くしすぎないようにすることはそれらの1つだと思います...


于 2009-10-12T12:32:38.867 に答える