我正在查看 netstream documentation.但如果 appendBytes() 真的可以获取任意数据,则无法真正收集到。我真的可以只获取任意位图数据(作为字节数组)并将帧附加到流中(大概是在将其发送到 FMS 以保存文件之前)吗?我想我错了:它只对动态流有用。我知道可以获取网络摄像头源并通过 FMS 直接编码视频。但是说我想在编码之前添加一些叠加层,这在 Flash 中是否可行? IE。你能在 Flash 中动态生成 netStream 对象吗,或者你唯一能做的就是 draw bitmap data from a netStream而不是反之亦然?
基本上,目标是像Movie Masher 一样操纵视频和音频。并直接保存出实际的视频文件。 Movie Masher 实际上将单个帧保存到服务器以供以后转换。
我听说 FP11 具有 native H264 编码——所以“规范”问题:最终的 netStream 是否可以在浏览器中编码,然后通过 HTTP 上传到服务器,或者 FMS 是否仍然是一个要求?我在看这个realtime encoder demo ,但我不确定他们是否只是将 FMS 用作文件转储,或者它是否是流程的一部分。
encoding FLV 有一个开源项目,它使用 ByteArrayFlvEncoder 允许您对原始 ByteArrays 进行编码。是否有 H264 的等效项?
最佳答案
根据文档,使用 native 编码器似乎是不可能的,因为您不能在同时 :
A NetStream can either publish a stream or play a stream, it cannot do both. To publish a stream and view the playback from the server, create two NetStream objects.
换句话说,似乎没有办法通过 NetStream
对象将自定义数据发送到 FMS。
所以,你可以:
- 将相机附加到
Video
对象 - 通过像素操作对其应用一系列效果
- 通过套接字将用于稍后编码的像素数据发送到服务器,或使用您提到的 AS3 编码器将烘焙的 FLV 保存为文件(在用户计算机或服务器上)
关于actionscript-3 - AS3 : Is it possible to capture stage elements or bitmap data into a netstream?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12326337/