Может ли WebRTC использоваться на стороне сервера для выборки потоковых кадров? - PullRequest
2 голосов
/ 20 марта 2019

Я хотел бы создать поток с камеры из браузера (ПК / Mac / Android) на сервер Java, чтобы запустить какой-либо CV-алгоритм на кадрах?
Является ли WebRTC хорошим решением для этого, я знаю, что он в основном используется для решения связи с двумя конечными точками.Но мне было интересно, могу ли я использовать его только для одного направления для сервера Java, который каким-то образом может обрабатывать каждый кадр потока?

Любые известные решения \ проект?
Есть ли еще одна хорошая технология (кроссплатформенный клиент и сервер Java) для потоковой передачи и анализа в реальном времени?

Ответы [ 2 ]

1 голос
/ 21 марта 2019

На это отвечают бесконечно много раз по всей сети;конечно, вы можете получить фреймы, когда вы внедрите WebRTC в коде своего сервера, скорее всего, с помощью нативного API WebRTC от Google: https://webrtc.org/native-code/ Таким образом, он все еще одноранговый, но один узел является веб-браузером, другойПир - это твой сервер.Реальная проблема, которая, вероятно, сводит на нет вашу идею, заключается в том, что вы получаете видео с высокой степенью сжатия (VP8 / VP9 / H264), поэтому после декомпрессии вы будете получать необработанные кадры, так какого качества резюме можно ожидать от работы с этими кадрами?

0 голосов
/ 21 марта 2019

Есть два подхода:

1) игнорировать WebRTC и его одноранговые (или одноранговые) возможности, захватить фрейм локально и использовать HTTP для отправки его на сервер. https://webrtchacks.com/webrtc-cv-tensorflow/ имеет подробности для этого.

2) использовать WebRTC для передачи фактического потока на другую сторону. Это требует от сервера понимания WebRTC. https://doc -kurento.readthedocs.io / en / 6.9.0 / tutorials / java / tutorial-magicmirror.html показывает пример, даже написанный на Java.

Подход http-post проще, но требования к пропускной способности делают его несколько непригодным для приложений с высокой частотой кадров.

...