Здравствуйте!
У нашей команды стоит задача разработать приложение для проведения онлайн интервью. Соискатель заходит по ссылке, ему задают вопросы, а ответы записываются на вебкамеру, после чего видео сохраняется на AWS.
Amazon Kinesis Video Streams умеет принимать видео через метод putMedia: https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html
Также у них есть официальные продьюсеры на Java и C++. Родного продьюсера на JavaScript нет.
https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-cpp-gstreamer.html
https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-cpp-gstreamer-docker.html
Эти продьюсеры [насколько я понял] могут получать видео из 1) статического файла 2) непосредственно с устройства вебкамеры 3) по rtsp://
Нам подходит только вариант 3 (сохранять видео файл на сервере нельзя, доступа к USB нет).
Видео из браузера можно передать двумя способами
1) getUserMedia / mediaRecorder / XMLHttpRequest (поток нарезается на отрезки по 1 сек и отправляется методом POST)
2) WebRTC
Собственно вопрос, как организовать этот процесс.
Вариант 1 - потребуется написать прокси на python, который будет получать поток через XHR POST и проксировать его на AWS. Вариант мне не очень нравится, так как использовать XHR для передачи видео кажется неправильным.
Вариант 2 потребует какого-то решения на сервере, для которого потенциально может потребоваться ваш Web Call Server. То есть нужен некий сервер, который устанавливает webrtc соединение, принимает видеопоток и делает его доступным через rtsp:// (совместимость с продьюсером) и настроить сам продьюсер, чтобы он публиковал видео на AWS.
У меня сложилось предварительное ощущение, что Web Call Server может решить эту задачу. Подскажите, стоит ли копать в этом направлении, и если да то как это решение будет выглядеть.
Спасибо!
PS: Напрашивается еще вариант отправлять WebRTC поток напрямую на AWS. Видел ваш сервер на https://aws.amazon.com/marketplace/pp/B01D1L5EAK , но не понимаю, подходит ли это решение.
У нашей команды стоит задача разработать приложение для проведения онлайн интервью. Соискатель заходит по ссылке, ему задают вопросы, а ответы записываются на вебкамеру, после чего видео сохраняется на AWS.
Amazon Kinesis Video Streams умеет принимать видео через метод putMedia: https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/API_dataplane_PutMedia.html
Также у них есть официальные продьюсеры на Java и C++. Родного продьюсера на JavaScript нет.
https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-cpp-gstreamer.html
https://docs.aws.amazon.com/kinesisvideostreams/latest/dg/producer-sdk-cpp-gstreamer-docker.html
Эти продьюсеры [насколько я понял] могут получать видео из 1) статического файла 2) непосредственно с устройства вебкамеры 3) по rtsp://
Нам подходит только вариант 3 (сохранять видео файл на сервере нельзя, доступа к USB нет).
Видео из браузера можно передать двумя способами
1) getUserMedia / mediaRecorder / XMLHttpRequest (поток нарезается на отрезки по 1 сек и отправляется методом POST)
2) WebRTC
Собственно вопрос, как организовать этот процесс.
Вариант 1 - потребуется написать прокси на python, который будет получать поток через XHR POST и проксировать его на AWS. Вариант мне не очень нравится, так как использовать XHR для передачи видео кажется неправильным.
Вариант 2 потребует какого-то решения на сервере, для которого потенциально может потребоваться ваш Web Call Server. То есть нужен некий сервер, который устанавливает webrtc соединение, принимает видеопоток и делает его доступным через rtsp:// (совместимость с продьюсером) и настроить сам продьюсер, чтобы он публиковал видео на AWS.
У меня сложилось предварительное ощущение, что Web Call Server может решить эту задачу. Подскажите, стоит ли копать в этом направлении, и если да то как это решение будет выглядеть.
Спасибо!
PS: Напрашивается еще вариант отправлять WebRTC поток напрямую на AWS. Видел ваш сервер на https://aws.amazon.com/marketplace/pp/B01D1L5EAK , но не понимаю, подходит ли это решение.
Last edited: