Обычным подходом для чего-то подобного является создание собственного внутреннего сервера.
Сделайте запрос на свой собственный внутренний сервер, отправив все необходимые данные.
Тогда вашсервер будет делать sftp и получать видео через sftp.Как только он получит видео, он будет доступен через http.
Как правило, это может выглядеть примерно так:
browser ---> HTTP ---> ваш сервер ----> SFTP ----> удаленный сервер
затем для ответа:
удаленный сервер ---> видео ---> ваш сервер
Теперь ям, если предположить, что загрузка видео с удаленного сервера займет некоторое время.
Существует два возможных подхода к решению проблемы задержки.
(1) Предварительная загрузка всех видео на вашсервер.Таким образом, когда видео запрашивается браузером, оно должно быть доступно сразу.
Это может быть невозможно, если видео слишком много!
(2) После того, как браузер сделает видеозапрос, вернуть HTTP 202 Accepted
ответ.Этот ответ говорит, что я делаю то, что вы просили, но это займет некоторое время.Кроме того, в ответе содержится URL-адрес, по которому можно проверить, готово ли видео.Затем вы опрашиваете этот URL, чтобы увидеть, доступно ли сейчас видео или нет.Или вы можете использовать веб-сокеты, и тогда ваш сервер может сообщить клиенту (браузеру), когда видео доступно.
Для внутреннего сервера я бы порекомендовал экспресс-сервер Node.js.А затем используйте пакет npm, например, sftp-promises , чтобы выполнить работу sftp.
Если вы хотите разместить свой сервер в облаке, используйте https://cloud.scaleway.com/#/login, потому что это очень дешево ипрост в использовании:)