Я работаю с модулями fluent-ffmpeg
и ftp
, чтобы получить метаданные / снимки экрана из фильмов, которые хранятся на FTP-сервере в NodeJS. Согласно документации ftp
, функция client.get
возвращает читаемый поток. Это не совсем неправильно, так как он возвращает объект Socket, который реализует Readable & Writable Stream. Однако дело в том, что fluent-ffmpeg
не хочет принимать объект Socket. Запуск этого кода
client.get(file, (err, video) =>
{
//video.pipe(fs.createWriteStream('./movie.mp4'))
let command = new ffmpeg(video).inputFormat('mp4').output('./test.mp4')
command.run()
})
Выдает эту ошибку:
ffmpeg завершился с кодом 1: pipe: 0: при обработке ввода обнаружены неверные данные
Тем не менее, сначала добавив video
в fs.createWriteStream(path)
, а затем fs.createReadStream(path)
отлично работает с ffmpeg.