Я осуществляю загрузку видео в vimeo, используя официальную библиотеку vimeo. Проблема в том, что я загружаю все видео на сервер и только потом отправляю его в vimeo. После отправки я, конечно, убираю, но видео может весить несколько гигабайт, так что это проблема. Я использую async-busboy для сохранения данных, tmp для создания временных файлов. Я хочу отправить чанки на мой сервер и одновременно загрузить их на vimeo, потому что хранение всего видео может сломать мой сервер. Мне нужно как-то накормить vimeo паром.
Дело в том, что vimeo загружает видео по частям, но вы должны кормить его целиком, когда начинаете. Я также рассматриваю библиотеку vimeo-chunk-upload для загрузки непосредственно из внешнего интерфейса, но мне придется хранить закрытый ключ в коде, и это небезопасно.
const { files } = await Busboy(request);
const clip = files[0].pipe(fs.createWriteStream(pathname))
clip.on('finish', () => {
vimeo.upload(pathname, ...)
})
Внутренняя реализация вызывает много проблем, но это безопасно. Если есть способ загрузить чанки на мой сервер, я могу продолжить. В противном случае мне нужно знать, как обеспечить безопасность на переднем конце, потому что такой подход очень прост.