2012-12-18 25 views
1

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

任何人都面临这个问题? 如果你能帮我解决这个问题,我会很高兴!

代码:

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(); 
} 

回答

1

的错误是在这里

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

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

0

为防万一您仍然遇到问题,ctdavids提供的解决方案如下:https://forums.adobe.com/thread/865510适合我!

问题是

变种NS = Stream.get( “MP4:试验:F4V”);

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

为了解决这个问题,只是把变量一个全局对象,比如里面,

VAR NS = Stream.get( “MP4:测试:F4V”); strMaps [recordingStreamName] = ns;

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

当你停止录音,可以删除使用

删除strMaps这一全球性的参考文献[recordingStreamName]

希望这会有所帮助!