Как реализовать извлечение URL-адресов видео на стороне клиента, чтобы минимизировать накладные расходы на стороне сервеJavascript

Форум по Javascript
Anonymous
Как реализовать извлечение URL-адресов видео на стороне клиента, чтобы минимизировать накладные расходы на стороне серве

Сообщение Anonymous »

Я разрабатываю кроссплатформенный сервис загрузки видео, поддерживающий такие платформы, как YouTube, Twitter (X) и TikTok. В настоящее время типичным подходом является использование внутреннего сервера с yt-dlp или аналогичными библиотеками для разрешения URL-адресов видео.
Однако при подходе к разрешению на стороне сервера мы сталкиваемся с двумя основными проблемами:
  • Ограничение/блокировка скорости IP: Основные платформы часто блокируют диапазоны IP-адресов серверов/центров обработки данных.
  • Масштабируемость И стоимость: Обработка каждого запроса на извлечение на сервере потребляет значительные ресурсы ЦП и пропускной способности по мере роста трафика.
Я ищу способ перенести логику разрешения/синтаксического анализа на клиентскую сторону (браузер), чтобы извлечение происходило с использованием собственной сети и ресурсов пользователя.
Что я рассмотрел:
  • WebAssembly (WASM): Возможно ли скомпилировать yt-dlp (на основе Python) или аналогичный экстрактор на основе C++/Rust в WASM для запуска непосредственно в браузере?
  • Расширения браузера: Я понимаю, что расширения могут обходить CORS, но я ищу веб-версию (HTML5/JS), если возможно.
  • Прокси-серверы CORS: Использование облегченного прокси-сервера только для первоначального запроса метаданных, а затем анализ ответа на клиенте.
Мои вопросы:
  • Существуют ли какие-либо библиотеки на основе Javascript, которые могут анализировать манифесты видео (например, DASH/HLS) или извлекать прямые URL-адреса видео для этих платформ без тяжелого бэкэнда?
  • Как я могу справиться с ограничениями CORS (Cross-Origin Resource Sharing) при получении метаданных видео непосредственно из браузера пользователя?
  • Если полное решение на стороне клиента невозможно, что лучше всего сделать для «гибридной» архитектуры, позволяющей минимизировать затраты на сервер?


Подробнее здесь: https://stackoverflow.com/questions/798 ... ide-overhe

Вернуться в «Javascript»