如何在Flash Media Server上以块的形式记录流

时间:2009-06-24 11:50:24

标签: streaming video-streaming flash-media-server

我想将使用Flash Live Encoder发布的流记录到FMS 3.5,但是将记录拆分为具有预定义长度的文件。例如,如果发布了一个流'webcam',我想以10分钟的时间段记录它:'webcam1.flv','webcam2.flv'...... 据我所知,没有与计时器合作的便利。我能想到的唯一解决方案是使用带有时间限制参数的stream.record(),但这似乎是一个黑客攻击,因为当recordin应该停止并开始记录另一个块时,它会在流上触发NetStream.Record.DiskQuotaExceeded。 有没有人做过类似的事情?

1 个答案:

答案 0 :(得分:1)

在服务器端,为什么不重新发布并使用一些带时间戳的名称记录流。然后运行一个计时器,每隔十分钟(或其他任何时间)触发一次停止记录该流的计时器,并创建一个播放客户端流的新服务器端流。

有些事情:

setInterval("setNewStream", 600000);

function setNewStream() {
var now = new Date();
serverStream.record(false);
var filename = "recording-"+ now.getHours() + "-" + now.getMinutes();
serverStream = Stream.get(filename);
serverStream.play("clientStream");
serverStream.record();
}