需要录制RTMP流中的视频

时间:2013-05-16 11:45:38

标签: java streaming red5 rtmp video-recording

我是RTMP的绝对初学者。我的任务是创建一个Java应用程序,它将记录来自某个RTMP URL的视频。

我安装了RTMP服务器(Red5服务器)。我已经确认它有效且流畅。我有red5.jar为我提供了所有那些应该用来与Red5通信的Java类(据我所知)。

我非常熟悉Java,但不知道如何处理该录制应用程序。因为除了Red5 Javadoc之外没有样本和文档。

所以,请通过提供任何样本或任何链接或指导来帮助我。我不能使用Flash或除了Java之外的任何东西。

1 个答案:

答案 0 :(得分:3)

将以下代码添加到red5应用中的Application类中。它具有开始录制的代码,将录制内容保存到磁盘并停止。

/*
*Start the recording
*/
public void recordVideo() {
     IConnection conn = Red5.getConnectionLocal();
     //get the stream published by the id "publishId"
     ClientBroadcastStream stream = (ClientBroadcastStream) getBroadcastStream(conn.getScope(), "publishId");
     try {
        // Save the stream to disk.
        stream.saveAs("streamName", false);
    } catch (Exception e) {
        throw new RuntimeException(e.getMessage());
    }
}
/*
*Stop the recording
*/
public void stopRecording(){
     IConnection conn = Red5.getConnectionLocal();
     ClientBroadcastStream stream = (ClientBroadcastStream) getBroadcastStream(conn.getScope(), "publishId");
    // Stop recording.
    stream.stopRecording();
    stream.stop();
}

JUV RTMP是RTMP协议的java客户端。但它不提供任何音频/视频流编解码器:

  

播放和发布音频/视频流(由服务器支持)   (!音频/视频编解码器实现不包括在内!)