Node.js: проверьте, запущен ли процесс до появления - PullRequest
0 голосов
/ 20 января 2020

У меня есть нижеприведенная функция, которая вызывается при нажатии кнопки на стороне клиента:

function resetStream(input) {
    var spawn = require("child_process").spawn;
    var ffmpeg = spawn('ffmpeg', ["-f","v4l2",
                             "-framerate","30",
                             "-video_size","1920x1080",
                             "-i", input,
                             "-f","mpegts",
                             "-codec:v","mpeg1video",
                             "-s","1920x1080",
                             "-b:v","3000k",
    //                       "qscale:v","20",
                             "-bf","0",
                             "http://localhost:8081/DEFAULT"]);

    ffmpeg.stdout.on('data', function(chunk){
        var textChunk = chunk.toString('utf8');
        //console.log(textChunk);
    });

    ffmpeg.stderr.on('data', function(chunk){
        var textChunk = chunk.toString('utf8');
        //console.log(textChunk);
    });
};

Кнопка предназначена для возможности сброса, что означает, что я хочу завершить процесс ffmpeg, если он существует до повторного создания, но так как объявление переменной ffmpeg порождает процесс, я не знаю, как это сделать без предварительного запуска процесса (по этой же причине я не могу просто сделать ffmpeg глобальной переменной)

Вся помощь приветствуется / ценится

...