Как получить файл из облачного хранилища и обработать как локальный файл без скачивания?

Я работаю над проектом, где мне нужно извлечь кадры из видео с помощью ffmpeg (node.js). Сначала я загружаю видео в хранилище firebase со своего клиента, а затем хочу обработать его на внутреннем сервере. Однако ffmpeg принимает файл только так, как если бы он хранился локально.

const ff =new ffmpeg('C:/Users/alexh/Desktop/alex/name.avi');

Это не будет работать с URL. Мне интересно, есть ли способ получить файл из URL, как если бы он хранился локально или firebase может предоставить мне способ получить файл? Я не хочу использовать событие триггера файловой базы, потому что хочу отправить http-запрос на внутренний сервер.

огромное спасибо

2 ответа

Пакет fluent-ffmpeg поддерживает работу с читаемыми потоками, а не только с файлами. Клиентская библиотека GCS поддерживает создание читаемого потока для объекта GCS. Комбинируя их, вы можете заставить ffmpeg работать напрямую из GCS.

Если вы работали с этим в Linux или OS X, вы могли бы использовать GCS Fuse для монтирования сегмента в вашей файловой системе, а затем указать FFmpeg непосредственно на него.

Другие вопросы по тегам