Автор tus-ruby-server и Shrine здесь:)
На мой взгляд, у вас есть два варианта: использовать "pull upload" Vimeo или загрузить напрямую в Vimeo.
A.Pull upload
Vimeo's pull upload позволяет вам дать Vimeo ссылку на ваш файл, позволить ему загружать и сохранять файл для вас.Это должно быть возобновимо, потому что tus-ruby-server поддерживает запросы диапазона , и кажется, что Vimeo будет использовать это:
Мы даже решаем любые проблемы с подключением, которые могут возникнуть.
Драгоценный камень vimeo_me2
имеет метод для загрузки по запросу.Таким образом, вы можете просто дать ему ссылку на файл TUS, например, если у вас есть Movie
с вложением video
:
vimeo_client.pull_upload("Name of video", movie.video.url)
B.Прямая загрузка в Vimeo
Vimeo также реализует протокол возобновляемой загрузки tus, поэтому теоретически должна быть возможность использовать Uppy для загрузки непосредственно в Vimeo.В этом случае вы могли бы избавиться от tus-ruby-server
.
Я лично не пробовал этот подход.Кажется, что есть дополнительный первый шаг в создании видео, но остальная часть выглядит как стандартный протокол TUS.Это пример приложения , созданного авторами Uppy, поэтому я думаю, что вы сможете скопировать и скопировать многие вещи оттуда.
Подход I не рекомендуется загружать файл с сервера tus и загружать его в Vimeo, используя гем vimeo_me2
.Во-первых, загрузка не будет возобновлена, поскольку гем down
, который используется shrine-tus
, еще не поддерживает возобновляемые загрузки.Во-вторых, хотя vimeo_me2
использует для загрузки протокол tus , похоже, что он ничего не делает для возобновления загрузки в случае ошибок подключения.Также кажется, что весь файл загружается в память.
В любом случае параметры A и B будут более производительными.