我正在尝试使用this example保存直播。我正在使用localhost进行测试,Red5版本是1.0。
streamPublishStart
方法接收流,使用saveAs
方法将其保存为flv。但我记录的flv文件只有1帧(不是第二帧,用GOM播放器检查)。但是,如果我附加一个监听器来流式传输并检查收到的包裹,我可以看到它们会继续存在。
这是我测试它的方式;
public void streamPublishStart(IBroadcastStream stream) {
try {
stream.addStreamListener(new IStreamListener() {
@Override
public void packetReceived(IBroadcastStream streamObj, IStreamPacket packet) {
System.out.println(packet.getTimestamp() + " - " + packet.getDataType());
}
});
stream.saveAs(stream.getPublishedName(), false);
} catch (Exception e) {
e.printStackTrace();
}
}
此代码打印时间戳,直到我停止录制。我试图从收到的包中保存这些字节并将它们与创建的文件saveAs
方法合并,没有任何反应。
可能是什么问题?有什么建议吗?
答案 0 :(得分:0)
我降级到Red5 0.8.0 Final,Java 6并使用SimpleRecorder example,它有效。
我找不到oflaDemo的来源,但您可以使用JD java decompiler
将类转换为.java文件 从安装程序安装后, oflaDemo类位于webapps/oflaDemo/WEB-INF/classes
目录中。
这不是一个真正的答案,但这将是正确答案,直到出现更好的答案。