因此,我正在处理一个视频源,我通过一些本机扩展工作将其馈送到我的 Adobe AIR 应用程序中,目标是最终将其传输到 Flash Media Server。视频经过 H.264 编码并混合到 FLV 容器中,这使我符合受支持的 Flash Media Server 编解码器和 NetStream (appendBytes) 要求。我可以很好地将数据输入 AIR。
然而,我今天踏入的矿井是NetStream.appendBytes的文档状态我必须调用NetStream.play(null):
在“数据生成模式”的 NetStream 上调用此方法。要将 NetStream 置于数据生成模式,请在连接到 null 的 NetConnection 上创建的 NetStream 上调用 NetStream.play(null)。在未处于数据生成模式的 NetStream 上调用 appendBytes() 是错误并引发异常。
使用 null 参数调用 NetStream.play() 会产生本地 FLV 播放。在这种模式下,我无法将流发布到 FMS。但我对 Flash 的研究似乎表明,在处理非相机或非网络视频数据时,NetStream 的字节访问是我唯一真正的希望。
问:我可以锁定视频播放缓冲区以发布到 FMS 吗?我可以创建一种 NetStreams 或 NetConnections 管道来实现这一点吗?或者这里是否有将 H.264/FLV 数据传输到 FMS 的替代方法?(我的视频源无法与 FMS 直接通信。)