Потоковое видео из браузера на Amazon Kinesis Video - PullRequest
0 голосов
/ 28 марта 2019

Я занимаюсь разработкой веб-приложения, которое захватывает видео с веб-камеры и сохраняет поток в Amazon Kinesis.Первый подход, который я предложил, - это getUserMedia / mediaRecorder / XMLHttpRequest, который отправляет фрагментированный MKV на мой unix-сервер (не AWS), где простые прокси-серверы PHP отправляют трафик на Kinesis с помощью putMedia.

Это должно работать, но всеМедиа потоки от пользователя будут проходить через мой сервер, что может стать узким местом.Насколько я знаю, из-за проблем с несколькими источниками невозможно отправить chkked mkv в Amazon напрямую из браузера.Поправьте меня, если я ошибаюсь или есть решение для этого.

Еще одна вещь, по которой я скучаю - это WebRTC.XHR в 2019 году выглядит как наследие потокового мультимедиа.Но если я хочу, чтобы это работало, мне понадобится стек из трех серверов: сервер webrtc для установления соединения, прокси-сервер webrtc-> rtsp и плагин Kinesis gstreamer, который захватывает поток rtsp и передает его в Kinesis.Это выглядит немного сложнее, и медиа-трафик все еще проходит через мой сервер.Или, может быть, есть лучший подход?

Мне нужно предложение о том, как сделать лучшую архитектуру для моего приложения.Я считаю, что лучшим решением было бы прямое соединение webrtc с каким-то сервисом amazon, который передает поток в kinesis.Возможно ли это?

Спасибо!

1 Ответ

0 голосов
/ 07 апреля 2019

Я искал это также для общего образования / исследовательской цели. Ближайший пример представлен в блоге AWS. И это GitHub репо . С README.md

Если источником является последовательность буферизованных фреймов веб-камеры, клиент браузера отправляет данные фрейма на конечную точку API-шлюза - Lambda Proxy, вызывая функцию lambda / WebApi / frame-converter. Эта функция использует FFmpeg для создания короткого фрагмента MKV из последовательности кадров изображения. Подробнее о том, как выполняется этот запрос API, см. Документацию по функциям.

...