Суть задачи:
Нужно вести запись видео с 4 ip-камер на диск, небольшими файлами, и при этом нужна возможность включать трансляцию на сервер. Управляется с камерами Raspberry pi 3, подключенный через usb-модем к интернету(серый-ip).
Нашёл варианты:
WebRTC - нет записи на диск, сервер не может подключится к камере(серый-ip);
avConv/ffMpeg запускать отдельно для записи на диск и отдельно трансляцию на сервер через TCP/UDP/RTCP - проблемы с производительностью., проблема с контролем(хватает ли скорости, произошла ли ошибка).
avConv/ffMpeg и child_process.spawn:
- запускаем avConv с выводом в pipe
- node ловит stdout и распоряжается как нужно, закидывая в файл, или на сервер(сервер сам разбирается с организацией трансляции).
Но запустить остальные камеры так не получается, как я понял для дочерних процессов всего один stdout на всех. При переключении на новый файл также не удаётся выполнить без "пробела", пока запускается avConv.
Подскажите, пожалуйста, как это можно выполнить, и есть ли альтернативные пути решения.
UPD:
для записи с камеры на диск использую:
ffmpeg -i input -v warning -c copy -map 0 -f ssegment -strftime 1 -segment_time 10 -segment_format mpeg
документация с примерами