本文共 1558 字,大约阅读时间需要 5 分钟。
// main.asc
// ========发布时录像=============
application.onAppStart = function()
{
trace("Application name: " + application.name);
trace("Server: " + application.server);
application.s = new Array();
}
application.onPublish = function(clientObj, streamObj)
{
trace("recording started...");
var strName = "recorded_" + streamObj.name;
var s = Stream.get(strName);
if (s == undefined )
return;
if (!s.record("record"))
{
s.trace("record failed.");
}
s.play(streamObj.name, -1, -1, true);
application.s[streamObj.name] = s;
}
application.onUnpublish = function(clientObj, streamObj)
{
var s = application.s[streamObj.name];
if (s && s!= undefined)
{
s.record(false);
s.play(false);
s.flush();
Stream.destroy(s);
application.s[streamObj.name] = null;
}
}
//main.asc
// 实现自定义文件名录像,需要实现start,stop命令
application.onAppStart = function() { trace("Application name: " + application.name); trace("Server: " + application.server); application.s = new Array(); } // call startrecord// s live stream name
Client.prototype.startrecord = function(s, filename) { s = Stream.get("mp4:" + filename + ".mp4"); if (s == undefined) { trace("Stream.get failed"); return; } if (!s.record()) { trace("record failed"); return; } s.play(s, -1, -1, true); application.s[s] = s; } // call stoprecord Client.prototype.stoprecord = function(s, filename) { var s = application.s[s]; if (s && s!= undefined) { s.record(false); s.play(false); s.flush(); Stream.destroy(s); application.s[s] = null; } }
将main.asc放入ams安装目录下applications/live中即可,通过console可以观察打印情况。
不需要重启服务,修改main后reload就行。
转载请注明出处!