Как транслировать изображения в прямом эфире в браузере? - PullRequest
0 голосов
/ 05 мая 2020

Я пытаюсь создать приложение, отражающее экран моего телефона в браузере для чтения электронных книг.
Идея состоит в том, чтобы постоянно делать снимки экрана и делать их доступными с http-сервера, запущенного на телефоне.
Пока Мне удалось запустить http-сервер на телефоне и поделиться последним снимком экрана.
Теперь я хотел бы автоматически обновлять изображение в браузере - какой механизм мне следует использовать - если веб-сайт будет загружать изображение каждые x миллисекунд или Могу я сделать sh изменения с сервера? Переход изображения должен происходить плавно. Браузер электронной книги каким-то образом ограничен, например, он не поддерживает html5 -видео и, вероятно, многие другие вещи.
Я использую basi c dart httpServer (потому что мое приложение колеблется) и будет предпочитаю оставить его basi c.
Для тестирования у меня был снимок экрана в формате png, но я также хотел бы оптимизировать его для оттенков серого и, возможно, попытаться что-то сделать с холстом (здесь нет опыта), если браузер поддерживает его .

Основные вопросы:
- есть ли простой способ изменить sh с сервера на браузер?
- как добиться плавного перехода между изображениями (и пропустить refre sh, если изображение не изменилось)?
-какие альтернативы использованию изображений?
-может ли холст мне как-то помочь?

1 Ответ

0 голосов
/ 05 мая 2020

Я думаю, что лучше всего использовать здесь WebRT C. Браузер предоставляет getDisplayMedia , который позволяет вам захватывать либо вкладку, либо весь дисплей устройства.

Затем вы можете подключить два ваших устройства и транслировать захват в прямом эфире. Другая приятная вещь заключается в том, что это будет P2P, и вы должны увидеть задержку менее секунды (и у вас нет дополнительной сложности, связанной с запуском HTTP-сервера).

Все, что вам нужно, это сервер сигнализации для отправки Предложение / Ответ / Кандидаты ICE между двумя партнерами. Эти сообщения представляют собой просто «bootstrap», чтобы начать звонок.


Если getDisplayMedia не работает на устройстве, вы можете добавить WebRT C через собственное приложение. flutter-webrt c - одно из возможных решений.

...