Jeer
@Jeer
уверенный пользователь

Как стримить кучу картинок с минимальной латенси?

Привет,
Хочу сделать стриминг с распбери пая на сервер веб-апи. Всё пишу на .net core. Звук не нужен, говорят, что в таком случае можно просто отправлять картинки с камеры на сервер. Интересует минимальная латенси (чтоб только сетевые задержки влияли)
Захватывать картинки - есть либа и это вроде не сложно, но с веб апи я работал с обычными запросами, если я буду отправлять 24 картинки в секунду, даже разрешения 640 на 480 через пост запросы, это, блин, очень много запросов ) там не известно, какие-то кадры могут раньше приехать, какие-то зависнуть по разным причинам.
Слышал про разные протоколы, типа udp, он вроде как для видео используется, если какие-то кадры не дошли, он их пропускает, работает быстрее, но не знаю, подходит ли для моего случая, я с ним не работал.
Еще пробовал кодировать даже в base64 и отправлять по вебсокетам, но прям шляпа получалась.
Хотя с захватом видео/изображений тоже непонятно, вроде как на камеру есть свой процессор и надо как-то на нем всё делать, по возможности вообще не надо основной процессор нагружать, но я не понимаю, что читать даже.

Есть какие-то примеры кода, статьи на эту тему? Я порыскал, но как-то не знаю, как правильно вопрос сформулировать. Как делают стриминг просто картинками?
  • Вопрос задан
  • 125 просмотров
Пригласить эксперта
Ответы на вопрос 1
vabka
@vabka Куратор тега .NET
Токсичный шарпист

Захватывать картинки - есть либа и это вроде не сложно, но с веб апи я работал с обычными запросами, если я буду отправлять 24 картинки в секунду, даже разрешения 640 на 480 через пост запросы, это, блин, очень много запросов ) там не известно, какие-то кадры могут раньше приехать, какие-то зависнуть по разным причинам.

Я бы посмотрел в сторону grpc streaming - там можно 1 раз открыть соединение и отправлять много сообщений + не нужно в base64 кодировать.
Либо вообще подумал над собственным протоколом поверх tcp.

Ещё в raspberry вроде есть аппаратный кодировщик видео - вероятно видео будет транслировать более эффективно, тк врядли между соседними кадрами будет очень большая разница, но как именно можно принять видео на стороне дотнета - хз. Возможно нужно будет ещё одно какое-то приложение поднять, которое будет читать поток видео и сохранять его в виде картинок.

Нашёл ещё вот такую статью:
https://www.codeproject.com/Articles/810004/Live-V...
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы