Я новичок ie в этой области и не знаю, правильно ли я это делаю. Поэтому мне нужна помощь с архитектурными и дизайнерскими вопросами, чтобы убедиться, что я двигаюсь в правильном направлении
Я пытаюсь обработать захват видео в реальном времени с камеры клиента. Захваченный видеопоток преобразуется в кадры и отправляется на сервер для обработки. После обработки сервер отправляет его обратно на экран клиента.
Мой бэкэнд-код записан в Python, и я использую SocketIo для отправки фреймов из внешнего интерфейса в бэкэнд. Вы можете взглянуть на этот дизайн, чтобы получить лучшее представление о том, что происходит - image
- Мой сервер (app.py) будет работать в бэкэнде, и клиент будет получать доступ index. html
- Соединение SocketIo будет установлено sh, и видеопоток, снятый с помощью веб-камеры, будет отправляться на серверные кадры по кадрам.
- Затем эти кадры будут обрабатываться на сервере и отправьте обратно клиенту.
- Обработанные кадры, поступающие с сервера, могут быть показаны в теге img.
Итак, моя проблема с этой архитектурой - задержка. Есть заметная задержка даже после ограничения fps. От клиента к серверу, затем обработка и обратно клиенту, каждый кадр занимает в среднем 150 мс и не дает ответ в реальном времени. Я пробовал мой код обработки изображений отдельно без программирования сокетов на локальном компьютере, и он ближе к реальному времени (на один кадр уходит 80 мс).
Но я не понимаю здесь, как я могу минимизировать отставание с этим дизайном или импровизировать его? Есть ли лучший способ выполнить эту задачу, чтобы получить больше результатов в реальном времени?
Заранее спасибо!