使用Red5录制网络摄像头时丢失的帧

时间:2013-01-16 20:22:46

标签: actionscript-3 red5 live-streaming

我正在尝试使用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方法合并,没有任何反应。

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

1 个答案:

答案 0 :(得分:0)

我降级到Red5 0.8.0 Final,Java 6并使用SimpleRecorder example,它有效。

我找不到oflaDemo的来源,但您可以使用JD java decompiler

将类转换为.java文件 从安装程序安装后,

oflaDemo类位于webapps/oflaDemo/WEB-INF/classes目录中。

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