我的 flex 应用程序无法播放 RTMFP 流。 NetStream.Play.Failed 错误

Posted

技术标签:

【中文标题】我的 flex 应用程序无法播放 RTMFP 流。 NetStream.Play.Failed 错误【英文标题】:My flex application cannot play a RTMFP stream. NetStream.Play.Failed error 【发布时间】:2017-03-09 03:10:56 【问题描述】:

几年前,我创建了一个 SWF 应用程序,使用户能够进行在线视频聊天。它使用简单的 SMTFP 发布/播放方法来流式传输视频。现在几年过去了,我正在尝试创建一个向后兼容的 SWF 应用程序。

我的问题状态:

新版本无法播放从旧 swf 发布的流。它 连接到服务器和发布者,但它无法播放并给出 NetStream.Play.Failed 错误。 新版本播放从自己版本发布的流。 这样的在线玩家 guide可以玩我的新版本,但是他们不能玩 从我的旧版本流式传输。

我尝试了不同的 SDK(3.6、4.1、4.6),但它们都无法播放旧的 swf 流。

我在网上搜索了错误,但文档没有清除任何内容,他们只是说这是一个一般性错误。有可能是相关的question in SO,但它没有答案。

有人知道原因吗?或者有什么建议?

【问题讨论】:

您使用哪个服务器?调查服务器日志会很有趣。 @thomas 我自己没有服务器。我使用 rtmfp://p2p.rtmfp.net,这与指南中使用的相同。 【参考方案1】:

我发现了问题。 flash player 好像在 11.1 版本中改变了 RTMFP 协议。没有太多关于它的文档,据我所知,我应该升级所有 Flash 播放器,或者我应该升级所有旧应用程序到 flex 4 sdk。

【讨论】:

【参考方案2】:

您确定在两个应用程序中使用相同的发布名称吗?例如,您可能发布了一个名称为“test1”的流,而播放器尝试播放名称为“test2”的流。

否则如果您认为名称正确可以尝试使用MonaServer,它是我们自己的开源服务器。它支持 RTMFP、RTMP[E]、HTTP 和 Websocket(也支持 RTSP,仅用于测试)。将其安装在您的计算机/服务器上并检查日志以查看发生了什么。

【讨论】:

不,我仔细检查了。感谢您的建议。

以上是关于我的 flex 应用程序无法播放 RTMFP 流。 NetStream.Play.Failed 错误的主要内容,如果未能解决你的问题,请参考以下文章

我的 Flex 代码如何知道我的视频聊天室中的每个人是不是都可以使用 rtmfp?

RTMP vs RTMFP

Flex 中的 RTSP

如何使用flex在运行时为RTMP播放器设置流名称?

如何检测我的音频流 url 是不是无法被 iOS 设备播放 - swift3

将参数从 HTML 传递到 Flex 播放器不起作用