Не пойму в чём именно проблема. Api в асинхронном методе принимает сообщение, парсит сайт и результат передаёт к пользователю.
Сам парсинг можно вынести в отдельный сервис, а конструкторе контроллера внедрять зависимость через интерфейс.
Можно ChromeDriver использовать.
Попробуй вначале написать консольную программу-чат, запустив которые на двух компьютерах можно было бы передавать друг другу сообщения.
Потом уже смотреть в сторону видеопотоков, кодирования и т.д.