私はローカルアプリケーションに取り組んでいます(これはウェブサイトでも関係のないものでもありません)。現在、非常に単純な暗号化方法を使用したさまざまな FLV があります(各バイトに 10 を追加するようなものです)。
復号化後に NetStream.appendBytes() を使用してそれらをロード/再生できますが、それはストリーミングされていないすべてのビデオデータを読み取った後にのみ発生します。
私が本当に必要としているのは、これらのビデオをリモート URL からストリーミングし、データを受信しながら復号化し、既に構築した OSMF ベースのプレーヤーを使用することです。OSMF が FLV をどのように処理するかがわかりません。それ以外の場合は、プラグインなどを作成しようとします。誰かがそれに対処する方法を教えてくれたら、とても感謝しています。
しかし、URL の代わりに ByteArray 値を渡して、OSMF を使用してローカル ファイルをロードする方法を誰かが見つけるのを手伝ってくれたら幸いです (下記)。または、私の問題を解決するために OSMF プラグインを作成する方法を教えてくれます。
videoElement.resource = "video_url/video.flv";
これは、デコードされた FLV バイト配列を再生するためだけの現在のコードです
private function playBytes(bytes:ByteArray):void
{
// detecting it's header
if (bytes.readUTFBytes(3) != "FLV")
{
_text.appendText("\nFile \""+ file +"\" is not a FLV")
return void;
}
bytes.position = 0;
netConnection.connect(null);
netStream = new NetStream(netConnection);
netStream.client = { onMetaData:function(obj:Object):void { } }
video.attachNetStream(netStream);
addChild(video);
// 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);
}