我正在使用一个简单的节点HTTPS服务器来接收启动ffmpeg转换的请求。我还希望能够收到一个在任何给定时间停止此转换的请求。我正在用spawn()启动ffmpeg。在这种情况下,将spawn变量设置为全局变量是否合适?我是Node的新手,因此请尽量保持在最佳实践的范围之内。这是我启动该过程的功能:
startRecording: function (webResponse, fileName) {
var args = [
'-y',
'-i', 'rtsp://[MyIP]',
'-t', '60',
'-f', 'segment',
'-segment_time', '20',
'-reset_timestamps', '1',
'-c', 'copy',
'-map', '0',
'/home/' + fileName + '%002d.mp4'
];
if(streaming == false){
}else{
}
var proc = spawn(cmd, args);
proc.stdout.on('data', function(data) {
console.log(data);
});
proc.stderr.setEncoding("utf8")
proc.stderr.on('data', function(data) {
console.log(data);
});
proc.on('close', function() {
console.log('finished');
webResponse.end('Completed');
});
}
现在我很想知道的是停止功能的样子。如果proc是全局的,我可以proc.stdin.write('q'),但是proc只是该函数的局部变量。
谢谢