Я использую fluent-ffmpeg в приложении node. Запись с экрана/камеры в файл mp4. Хотелось бы, чтобы сервер запросил запуск, а другой запрос на остановку записи (ссылки на веб-интерфейс - тестирование некоторых технологий с целью создания приложения Electron позже).
Заводится нормально, а как остановить не пойму.
Это код для запуска (для работы в MacOS):
recordingProcessVideo = ffmpeg(`${screenID}:none`)
.inputFormat('avfoundation')
.native()
.videoFilters(`crop=${width}:${height}:${x}:${y}`)
.save(filePath);
Я думал, что это остановит его от документации и чтения по теме:
recordingProcessVideo.kill('SIGINT');
Однако, когда я вызываю эту команду, сервер завершает работу со следующим двусмысленным сообщением:
code ELIFECYCLE
errno 1
Кроме того, созданный видеофайл не откроется, как если бы он был закрыт до завершения. Не могу понять, как из документов и того, что люди написали, для запуска и остановки рекордера нужно сделать процесс, а затем убить его, когда он будет готов. Кто-нибудь знает правильный путь - искал целую вечность, но не мог найти ответов.
Использование Node v10.15.2 и Ffmpeg версии V92718-g092cb17983 на MacOS 10.14.3.
Спасибо за любую помощь.
q
на терминал устарел и вместо него следует использоватьSIGINT
. Вы также можете передать другие сигналы, которые приостановят задачу и возобновят ее, а не уничтожат. - person Scorpio   schedule 15.03.2019.on(event)
напоминание. - person TGrif   schedule 15.03.2019