使用FMS 3.5录制直播视频

时间:2012-12-18 08:25:10

标签: flash-media-server

我正在服务器端录制实时流(使用FMS 3.5.3)。 录制视频录制时停止播放。 我检查录制的视频长度,总是不同,有时只有2分钟,有时10分钟,有时20分钟

有人遇到过这个问题吗? 如果你能帮助我解决这个问题会很高兴!

代码:

Client.prototype.RecordStart = function()
{
    trace("RecordStart");
    var ns = Stream.get("mp4:test:f4v"); 
    if (ns)
    { 
        ns.record(); 
        ns.play("livestream",-1,-1,false); 
    } 
}

Client.prototype.RecordStop = function()
{
    trace("RecordStop");
    var ns = Stream.get("mp4:test.f4v");
    ns.record(false);
    ns.play(false);
    ns.flush();
}

2 个答案:

答案 0 :(得分:1)

错误就在这里

var ns = Stream.get("mp4:test:f4v");  

应该是"mp4:test:f4v"而不是"mp4:test.f4v"

答案 1 :(得分:0)

万一你仍然遇到问题,ctdavids提供的解决方案:https://forums.adobe.com/thread/865510为我工作!

问题在于

var ns = Stream.get(“mp4:test:f4v”);

将记录流分配给在函数内具有范围的ns变量。因此,在几分钟内,变量将被垃圾收集。这将使录制突然停止,没有状态通知或错误消息。

要解决此问题,只需将变量放在全局对象中,例如

var ns = Stream.get(“mp4:test:f4v”); strMaps [recordingStreamName] = ns;

其中strMaps是全局变量(Object),recordingStreamName只是录制的唯一名称。

停止录制时,可以使用

删除此全局参考

删除strMaps [recordingStreamName];

希望这有帮助!