試圖編寫一個red5應用程序,該應用程序只記錄所有流式傳輸到它的應用程序。找到一個here的項目模板,我鬆了一口氣。無法連接到red5應用程序
如果我連接到來自FMLE 3.2的rtmp://myserverip/live
(來自默認安裝),一切正常。如果我連接到rtmp://myserverip/video
,我得到錯誤
「主服務器出現問題。未能連接到主服務器。請驗證您的服務器URL和應用程序名稱是否有效,並且您的Internet連接正在工作並重試。
我有代碼如下:
應用
public class Application extends ApplicationAdapter {
/** {@inheritDoc} */
@Override
public boolean connect(IConnection conn, IScope scope, Object[] params) {
super.connect(conn, scope, params);
return true;
}
/** {@inheritDoc} */
@Override
public void disconnect(IConnection conn, IScope scope) {
super.disconnect(conn, scope);
}
@Override
public void streamPublishStart(IBroadcastStream stream) {
super.streamPublishStart(stream);
try {
stream.saveAs(stream.getPublishedName(), false);
}
catch (Exception e) {
e.printStackTrace();
}
}
@Override
public void streamBroadcastClose(IBroadcastStream stream) {
super.streamBroadcastClose(stream);
System.out.print("Broadcast Closed");
}
@Override
public void streamBroadcastStart(IBroadcastStream stream) {
super.streamBroadcastStart(stream);
System.out.print("Broadcast Started");
}
}
的web.xml
<?xml version="1.0" encoding="ISO-8859-1"?>
<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"
version="2.4">
<display-name>video</display-name>
<context-param>
<param-name>webAppRootKey</param-name>
<param-value>/video</param-value>
</context-param>
</web-app>
RED5-web.xml中
<?xml version="1.0" encoding="UTF-8" ?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:lang="http://www.springframework.org/schema/lang"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
http://www.springframework.org/schema/lang http://www.springframework.org/schema/lang/spring-lang-3.0.xsd">
<bean id="placeholderConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location" value="/WEB-INF/red5-web.properties" />
</bean>
<bean id="web.context" class="org.red5.server.Context"
autowire="byType" />
<bean id="web.scope" class="org.red5.server.WebScope"
init-method="register">
<property name="server" ref="red5.server" />
<property name="parent" ref="global.scope" />
<property name="context" ref="web.context" />
<property name="handler" ref="web.handler" />
<property name="contextPath" value="${webapp.contextPath}" />
<property name="virtualHosts" value="${webapp.virtualHosts}" />
</bean>
<bean id="web.handler" class="net.bordereastcreative.video.Application" />
</beans>
red5-web.properties
webapp.contextPath=/video
webapp.virtualHosts=*
任何想法,我做錯了什麼?我查看了/usr/share/red5/log
中的所有日誌文件,但我看不到與此應用程序有關的任何內容。
使用Ubuntu LTS 12.04和red5 1.0。
更新#1:編輯的代碼添加到超級和虛擬主機的調用更改爲只*。
你從每個你的方法缺少一個重大的事情重寫是對超級方法的調用。如果你沒有實現所有需要的邏輯,你必須調用super。 –
Thanks @Mondain,我會添加這些並重新編譯。 –
@Mondain,增加了對超級方法的調用,重新編譯並再次嘗試。沒有運氣。 –