我已经安装了 Red 5,并让它在我的机器上的本地主机上正常工作,记录从 Flash 应用程序流式传输的 FLV 文件。
我目前正在使用 red 5 oflaDemo 演示应用程序作为我的测试存储库,以将网络摄像头 FLV 记录到其流文件夹中。
我正在尝试转移到服务器。我在那里设置了 Red 5 并且可以查看 http://[我的服务器 ip]:5080/demos/ofla_demo.html 在该服务器上 OK
我无法通过 installer.swf 安装实际的 oflaDemo 应用程序,因此我将 oflaDemo 的文件夹结构从本地计算机复制到 webapps 中。
在 oflaDemo.html 中,我可以正常连接到 rtmp 端口 - rtmp://localhost/oflaDemo
阅读红5手册-http://www.red5.org/downloads/docs/red5-reference-1.0.pdf 我可以看到应用程序配置位于此文件中
red5-web.properties
webapp.contextPath=/oflaDemo
webapp.virtualHosts=11.22.33.44:1935
[我的服务器 IP] 此处显示为 11.22.33.44
我已经针对这个 IP 地址尝试了很多其他端口,但根据我想要的手册,它应该是 1935。
我在 web.xml 中也有此部分
<param-name>webAppRootKey</param-name>
<param-value>/oflaDemo</param-value>
</context-param>
我重新启动了 Red 5 服务。
但我无法连接到 rtmp://[我的服务器 ip]/oflaDemo
我已经使用端口检查器测试了该端口,并且 1935 端口在此服务器上打开。
这是 oflaDemo 网页上显示的错误(仅用于测试连接)
(29168) NetConnection.onStatus:
description = No scope 'oflaDemo' on this server.
code = NetConnection.Connect.Rejected
level = error
看来配置还是不对。有人有任何线索吗?
最佳答案
问题是由于 oflaDemo 是通过文件夹副本安装的。
我最近在手册(以及 http://red5guide.com/ )中读到,应用程序通常是通过将 war 文件放入 webapps 文件夹中来加载的。 10 分钟后,应用程序将安装完毕。
因此,在谷歌搜索后,我发现了 ofla 演示 war 文件的副本: http://red5.googlecode.com/svn-history/r3990/snapshots/oflaDemo-r3989-java6.war
删除旧的 oflademo 文件夹结构并重新启动 red5 服务后,我将其放入 webapps 中 - 它没有创建新的服务,所以我检查了 red 5 日志,发现一条评论说它认为 oflademo 已经加载,所以我搜索查看文件夹结构,在 red5/work/red5engine (只是一个文件夹)中找到对 oflademo 的引用,并将其删除。
Oflademo 然后及时从 war 文件中安装了自己。
http://[我的服务器 ip]:5080/demos/ofla_demo.html 然后正确运行 - 播放了一些示例视频并接受 rtmp 流连接(和远程 Flash 上传)到 url rtmp://[我的服务器 ip]/ofla演示。
这是默认属性(文件 red5-web.properties),似乎无需引用该服务器的本地 IP 地址即可工作。
webapp.contextPath=/oflaDemo webapp.virtualHosts=*, localhost, localhost:8088, 127.0.0.1:8088
关于jakarta-ee - Red 5 录制 RTMP 网络摄像头配置适用于本地主机,但不适用于外部服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21878021/