博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
ams录像实现
阅读量:2260 次
发布时间:2019-05-09

本文共 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就行。

转载请注明出处!

你可能感兴趣的文章
解决异方差问题--加权最小二乘法
查看>>
Eclipse在高分屏下图标过小的解决方法
查看>>
c3p0:Connections could not be acquired from the underlying database!解决方案
查看>>
js中报错“Maximum call stack size exceeded“解决方法
查看>>
Spark应用程序第三方jar文件依赖解决方案
查看>>
springboot启动总是启动不起来UnsatisfiedDependencyException异常
查看>>
tomcat 7/8 启动非常慢的解决方法
查看>>
pip安装提示PermissionError: [WinError 5]错误问题解决
查看>>
完美解决MySQL重装问题
查看>>
yum安装软件包提示Error Downloading Packages解决方法
查看>>
Python中import导入上一级目录模块及循环import问题的解决
查看>>
Java中的异常和处理详解
查看>>
org.mybatis.spring.MyBatisSystemException异常及处理
查看>>
一次DB2数据库连接失败(SQLSTATE=08001)的解决方法
查看>>
***微信 该连接无法访问问题解决办法
查看>>
解决python发送multipart/form-data请求上传文件的问题
查看>>
使用Kettle抽取数据时,出现中文乱码问题解决方案
查看>>
解决Chrome浏览器启动速度慢的问题
查看>>
在解决方案中所使用 NuGet 管理软件包依赖
查看>>
HTTP 错误 500.19- Internal Server Error 错误解决方法
查看>>