Разработка приложения Screen Mirroring App на iOS

Цена договорная
22 ноября 2021, 18:24 • 8 откликов • 36 просмотров
Всем привет.
Мы хотим разработать Screen Mirroring App, позволяющее дублировать/зеркалить экран смартфона на ТВ. Оба устройства должны быть подключены к одному и тому же Wi-Fi. Приложение на смартфоне находит, и определяет телевизор, и предлагает подключиться, после подключения начинается "Демонстрация экрана" на экран ТВ.

Как план Б подключения: если приложение по каким-то причинам не видит ТВ, то предлагается с ТВ зайти на определённый веб-адрес (ip-адрес самого wi-fi), где отображается уникальный код - этот код вбивается в приложение, и тогда оба устройства синхронизируются с друг другом: запускается трансляция экрана на смартфоне и это трансляция отображается на этой веб странице. Технически это реализовано через WebRTC.

Как референс для понимания можете взять это приложение:
Screen Mirroring Z - Miracast
Ссылка на AppStore: https://apps.apple.com/US/app/id1494564197?l=en
Ссылка на GooglePlay: https://play.google.com/store/apps/details?id=tv.screen.cast.mirror&hl=en
или это приложение:
Replica: Screen Mirror Cast TV
Ссылка на AppStore: https://apps.apple.com/us/app/replica-screen-mirro...

Предлагаю Вам изучить эти приложения для большего понимания. Если вы сможете разработать такое же с точки зрения подключаемых устройств и качества/задержки транслируемого экрана - мы будем полностью довольны.

То, как мы сейчас понимаем техническую реализацию таких приложений:
1) Ряд ТВ подключается напрямую вызывая нативную функцию iOS (AirPlay1/AirPlay2). Таких телевизоров не много и в основном это новые и флагманские ТВ.
2) К остальным телевизорам iPhone подключается по ChromeCast или DLNA.
Ну и как план Б: подключается через веб, если не видит почему-то ТВ.

По сути два пункта выше и определяют весь список устройств (в него входят не только телевизоры, но и приставки по типу RokuTV, FireTV) с которыми приложение должно работать. А именно это все телевизоры, которые поддерживают хотя бы одну из функций: AirPlay1, AirPlay2, ChromeCast или DLNA.

Нам кажется, что уместный язык программирования Swift. Вероятно, можно реализовать через какие-то библиотеки на флаттере.