我是RTMP的绝对初学者。我的任务是创建一个Java应用程序,它将记录来自某个RTMP URL的视频。
我安装了RTMP服务器(Red5服务器)。我已经确认它有效且流畅。我有red5.jar为我提供了所有那些应该用来与Red5通信的Java类(据我所知)。
我非常熟悉Java,但不知道如何处理该录制应用程序。因为除了Red5 Javadoc之外没有样本和文档。
所以,请通过提供任何样本或任何链接或指导来帮助我。我不能使用Flash或除了Java之外的任何东西。
答案 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客户端。但它不提供任何音频/视频流编解码器:
播放和发布音频/视频流(由服务器支持) (!音频/视频编解码器实现不包括在内!)