EasyDSS流媒体服务器软件,提供一站式的转码、点播、直播、时移回放服务,极大地简化了开发和集成的工作。点播功能主要包含:上传、转码、分发。直播功能,主要包含:直播、录像,直播支持RTMP输入,RTMP/HLS/HTTP-FLV的分发输出;录像支持自定义保存时长、检索及下载。
Sh脚本介绍
Sh脚本也就是我们常用的Shell脚本,与Windows/Dos下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比Windows下的批处理更强大,比用其他编程程序编辑的程序效率更高,它使用了Linux/Unix下的命令。
bat脚本
bat脚本是windows上所用的脚本,我们经常使用的cmd一些命令就可以使用。也许有的朋友会问为什么不直接使用powershell脚本?因为古老的一些服务器上面没有安装powershell,此时就需要用到bat脚本。
那么本片文章将会为大家介绍一下Nodejs中调用bat或sh脚本的方法。
Nodejs中调用bat或sh脚本
1. 安装shelljs
npm install shelljs --save
2. 其他的相关依赖
npm install co --save
3. 封装异步方法
var shell = require('shelljs');
exports.exec = function(command) {
return Promise.resolve({
then: function(onFulfill, onReject) {
shell.exec(command, function(code, stdout, stderr) {
onFulfill({ code: code, out: stdout, error: stderr });
})
}
});
}
4. 同步调用执行
var ossshell = require('./shell.js');
function demo(){
return Promise.resolve({
then: function(onFulfill, onReject) {
co(function*() {
var command = "";
if (platform.startsWith("win")) {
//如果是windows
command = `call trans_process.bat`;
} else {
//如果是linux
command = `sh ./trans_process.sh`;
}
yield ossshell.exec(command);
onFulfill();
}
}).catch(function(e) {
onReject(new Error(e));
})
}
});
}