3

因此,我正在处理一个视频源,我通过一些本机扩展工作将其馈送到我的 Adob​​e 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 直接通信。)

4

1 回答 1

2

你的问题的答案很简单。这显然是作为安全功能实现的,这可能不是基于安全的问题,而是更多的销售问题。Adobe 喜欢故意阻止某些功能,以创造可能或需要另一种产品,即更多收入。

我试着为你调查一下,看看是否有一些肮脏的黑客可以连接相机或其他东西,并像使用音频一样覆盖发送到流的二进制数据,但不幸的是,据我所知,没有这样的黑客是可能的. 更多信息:NetStream.appendBytes

更新

您可能可以通过使用虚拟网络摄像头驱动程序 ManyCam 来做一些骇人听闻的事情(据我所知)。这将提供一个有效的相机,您可以从 flash 中选择,您还可以选择一个视频文件作为 ManyCam 的源文件。请参阅http://manycam.com/user_guide/#HowtoSelectaVideofileasthePictureSourceforManyCam

更新#2

如果您正在寻找可以与 manycam 执行相同操作的开源软件,请查看以下内容:

http://code.google.com/p/webcamstudio/wiki/VideoSourceMovie(GPL 许可)

于 2012-03-10T05:33:56.017 回答