我正在开发本地应用程序(这不是网站,也没有任何相关内容),到目前为止,我拥有各种具有非常简单的加密方法的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)。也许这将使您走上正确的道路?否则,我认为您需要将其拆开并本质上做一些较小的部分来缓冲,以连接所有缓冲的数据...
只是一个想法,