2

我正在尝试使用此示例保存实时流。我正在 localhost 上进行测试,Red5 版本是 1.0。

streamPublishStart方法接收流,用方法将其保存为flv saveAs。但是我录制的flv文件只有1帧(不是第二帧,用GOM Player检查)。但是,如果我附加一个侦听器来流式传输并检查收到的包,我可以看到它们不断出现。

这就是我测试它的方式;

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创建的文件方法合并,没有任何反应。

可能是什么问题?有什么建议么?

4

1 回答 1

0

我降级到Red5 0.8.0 Final、Java 6 并使用了SimpleRecorder 示例,它工作正常。

我找不到 oflaDemo 的源代码,但是您可以使用JD java 反编译器将类转换为 .java 文件

webapps/oflaDemo/WEB-INF/classes从安装程序安装后,oflaDemo 类位于目录中。

这不是一个实际的答案,但这将保持正确的答案,直到出现更好的答案。

于 2013-01-20T14:42:39.663 回答