FMS 4 使用 RTMFP 播放 P2P 流
正确披露:我也在 Adobe 论坛上发布了这个问题。由于我没有得到任何答案 - 我将其发布在这里。抱歉,如果打扰了。
我们正在使用 FMS 4 服务器来开发 2 个方向的视频应用程序,它与 RTMP 配合得很好。 在过去几天我们使用 Cirrus 进行测试并且效果也很好之后,我们现在想使用它的 rtmfp 功能。
在本地 - 一切工作正常,但是当我们在远程服务器上尝试该应用程序时 - 我们遇到了一些问题。
发布开始时,双方都会获得 NetStatusEvent 代码“NetConnection.Connect.Success”和“NetStream.Publish.Start”。
然而,当我们尝试播放流时,有一分钟没有任何反应,大约一分钟后我们得到“NetStream.Connect.Closed”。
(在本地,我们得到“NetStream.Play.Start”和“NetStream.Play.Reset”)。
我在服务器上打开了 1024-65535 UDP 端口,由于我们能够连接 Cirrus,我相信客户端没问题。
我还将 Adaptor.xml HostPort 元素更改为 :19350-65535 其中 xxx.xxx.xxx.xxx 是我们的 FMS 服务器的公共 IP 与客户端使用的 IP 相同。
再次强调,它在本地和与 Cirrus 的合作都非常出色。 RTMP 也可以与远程服务器很好地配合。
我缺少什么?
Proper disclosure: I posted this question on the Adobe forums too. Since I didn't get any answer - I am posting it here. Sorry if it disturbs.
We are working with FMS 4 server for a while for a 2 directions video application, and it works great with RTMP.
We now want to use its rtmfp abilities after we used Cirrus for testing in the last few days and it also worked well.
Locally - everything is working fine, but when we try the application on a remote server - we have some problems.
Each side get the NetStatusEvent code "NetConnection.Connect.Success" and "NetStream.Publish.Start" when publish starts.
However, when we are trying to play the stream, nothing happens for a minute and than we get " NetStream.Connect.Closed" after about a minute.
(Locally, we are getting "NetStream.Play.Start" and "NetStream.Play.Reset").
I did open ports 1024-65535 UDP on the server and since we are able to connect Cirrus, I believe the clients are fine.
I also changed the Adaptor.xml HostPort element to
:19350-65535 where xxx.xxx.xxx.xxx is the same public IP of our FMS Server as the one used by the client.
Again, it is working beautifully both locally and with Cirrus. RTMP also works well with the remote server.
What am I missing?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
抱歉,我真的忍不住告诉你,我也遇到了非常相似的问题,但情况恰恰相反。
当我尝试通过 WLAN 通过 Cirrus 连接两个设备时,我遇到了与您相同的错误。当在 WLAN 中使用一台设备,在另一个网络中使用另一台设备进行测试时,它可以正常工作。然后我在同一个 WLAN 中(但在我们的以外的 WLAN 中)对它们进行了测试,结果也有效。然后我的同事更新了一些固件(在路由器上?我不确定......)并删除了一些 VOIP 数据。然后它在这里也起作用了。
我认为远程服务器可能存在一些问题。必须允许 UDP...但我相信您知道这一点。
再次抱歉没有真正提供帮助 - 但也许这至少有点令人鼓舞。
您知道这个示例吗:http://labs.adobe.com/technologies/cirrus/samples/ ?
我总是用它进行测试,所以我知道我的代码没有问题。
I'm sorry, I can't really help but tell you that I had a very similar problem but the other way around.
When I tried to connect two devices via Cirrus over our WLAN, I got the same error as you. When testing with one device in WLAN and the other in another Network it worked. Then I tested them both in the same WLAN (but in a WLAN other than ours) and it also worked. My collegue then updated some firmware (on the router? I'm not sure...) and deleted some VOIP data. Then it worked here, too.
I think maybe there is some problem at the remote server. UDP has to be allowed... but I'm sure you know that.
Sorry again for not really helping - but maybe this is at least a bit encouraging.
Do you know this sample: http://labs.adobe.com/technologies/cirrus/samples/ ?
I always tested with that so I knew it wasn't some problem with my code.