我正在开发本地应用程序(这不是网站,也没有任何相关内容),到目前为止,我拥有各种具有非常简单的加密方法的FLV(就像每个字节加10)。

解密后,我可以使用NetStream.appendBytes()加载/播放它们,但这仅在读取所有视频数据后才发生,它是而不是流。

我真正需要的是使用已经构建的基于OSMF的播放器从远程URL生成流这些视频,并在接收数据时解密。
我不知道OSMF如何处理FLV,否则,我将尝试创建一个插件或类似的东西。
如果有人指出我该如何处理,我将非常感激。

但是,如果有人帮助我找到一种使用OSMF加载本地文件,传递ByteArray值而不是url(下图)的方法,我会很高兴。甚至给我指导以创建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);
}

最佳答案

有趣的帖子,我很想看看答案。看着我自己类似的东西,尽管没有一起观看,但我发现了以下内容。

http://ntt.cc/2008/07/15/bitsreader-read-bits-from-given-bytearray.html

通过字节数组后,您可以使用10位数组的bits.read(8)。也许这将使您走上正确的道路?否则,我认为您需要将其拆开并本质上做一些较小的部分来缓冲,以连接所有缓冲的数据...

只是一个想法,

10-05 20:16