Я использую модуль node-rtsp-stream для потоковой передачи RTSP в web с nodejs. Я потоковый источник RTSP с FFmpeg, например RTSP SOURCE - EXAMPLEFFmpeg Stream RTSP вводит и сохраняет файл в одно и то же время с помощью nodejs
Я знаю, что я могу сохранить один или несколько входы для многих выходов, но я не знаю, есть ли возможность транслировать ввод и сохранить его в файл в то же время без выполнения двух процессов ffmpeg.
на следующем примере я нахожусь в состоянии потока источника RTSP
ffmpeg -i rtsp-url -rtsp_transport tcp -f mpeg1video -b:v 800k -r 30
На модуле выглядеть:
this.stream = child_process.spawn("ffmpeg", [ "-i", this.url, "-rtsp_transport", "tcp",'-f', 'mpeg1video', '-b:v', '800k', '-r', '30', '-'], {
detached: false
});
ff =child_process.spawn("ffmpeg", [ "-i", this.url, '-b:v', '800k', '-r', '30', '1.mp4'], {
detached: false
});
this.inputStreamStarted = true;
this.stream.stdout.on('data', function(data) {
return self.emit('mpeg1data', data);
});
this.stream.stderr.on('data', function(data) {
return self.emit('ffmpegError', data);
});
Как вы можете видеть, я использую два процесс ffmpeg делать то, что я хочу, но Если кто-то столкнулся с этой проблемой и решит ее с помощью одной команды (процесса), я хотел бы получить некоторые предложения. Как передавать RTSP-источник и сохранять его в файл одновременно.
для получения дополнительной информации о модуле я использую: node-rtsp-stream
вас нужно использовать avconv вместо ffmepg для вышеуказанного кода, но вы также можете использовать ffmpeg, нужно изменить параметры. – Xianlin