【问题标题】:AS3: Is it possible to capture stage elements or bitmap data into a netstream?AS3:是否可以将舞台元素或位图数据捕获到网络流中?
【发布时间】:2012-09-07 22:42:38
【问题描述】:

我正在查看netstream documentation.,但无法真正收集到 appendBytes() 是否真的可以获取任意数据。我真的可以只获取任意位图数据(作为字节数组)并将帧附加到流中(大概在将其发送到 FMS 以保存文件之前)吗?我想我错了:它只对动态流有用。我知道可以通过 FMS 获取网络摄像头并直接对视频进行编码。但是假设我想在编码之前添加一些叠加层,这在 Flash 中是否可行? IE。您可以在 Flash 中动态生成 netStream 对象,还是您唯一可以做的事情是 draw bitmap data from a netStream 而反之则不行?

基本上,目标是像Movie Masher 一样操作视频和音频,并直接保存实际的视频文件。 Movie Masher 实际上将单帧保存到服务器以供以后转换。

我听说 FP11 具有原生 H264 编码——所以“规范”问题:最终的 netStream 是否可以在浏览器中编码然后通过 HTTP 上传到服务器,或者 FMS 仍然是一个要求吗?我正在查看这个realtime encoder demo,但我不确定他们是否只是将 FMS 用作文件转储,或者它是否是流程的一部分。

encoding FLV 有一个开源项目,它使用 ByteArrayFlvEncoder 允许您对原始 ByteArrays 进行编码。有没有 H264 的等价物?

【问题讨论】:

    标签: actionscript-3 flash flash-media-server netstream


    【解决方案1】:

    根据文档,似乎无法使用本机编码器,因为您不能同时利用 NetStream.publish()NetStream.appendBytes()

    NetStream 既可以发布流也可以播放流,但不能两者兼得。 要发布流并从服务器查看回放,请创建两个 NetStream 对象。

    换句话说,似乎无法通过NetStream 对象向 FMS 发送自定义数据。

    所以,你可以:

    1. 将摄像头附加到Video 对象
    2. 通过像素操作对其应用一系列效果
    3. 将像素数据通过套接字发送到服务器以供以后编码,或使用您提到的 AS3 编码器将烘焙的 FLV 保存为文件(在用户计算机上或在服务器上)

    【讨论】:

    • 所以基本上,即使我们可以使用 Alchemy 直接记录到 H264,我们仍然必须将其附加到相机流,并且实际上不能将帧写入缓冲区?
    • 就像我说的,除了使用NetStream 对象发送自定义数据之外,您几乎可以做任何您想做的事情(这意味着您希望能够利用publish() 提供的Flash Player H264 编码器. 我可能错了,但看看文档就是结论。不过,您的选择不仅限于此,在我看来,使用服务器发送帧的自定义协议(如 Movie Masher 所做的那样)会很有效。
    • 感谢您的意见 - 我阅读了许多不同的方法,它变得泛滥成灾。在赏金还剩 8 分钟时接受。运气!
    【解决方案2】:

    与 NetStreamAppendBytesAction 类一起使用的 NetStream 类上的 appendBytes。

    示例代码: 参考演示:http://www.bytearray.org/?p=1689

    // retrieve the FLV stream
    var bytes:ByteArray = event.currentTarget.data;
    // 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);
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-02-23
      • 1970-01-01
      • 2010-10-10
      • 2011-07-16
      • 2012-11-22
      • 2017-01-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多