【问题标题】:Record live stream video using FMS 3.5使用 FMS 3.5 录制实时流视频
【发布时间】:2012-12-18 08:25:09
【问题描述】:

我正在服务器端录制实时流(使用 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();
}

【问题讨论】:

    标签: flash-media-server


    【解决方案1】:

    错误就在这里

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

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

    【讨论】:

      【解决方案2】:

      以防万一您仍然遇到问题,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];

      希望这会有所帮助!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-05-24
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多