Технология Miracast используется для беспроводной трансляции изображения экрана и звука с компьютера, ноутбука или смартфона на телевизор, проектор или даже отдельно стоящий монитор. Например, вы можете транслировать дублированную картинку со своего телефона или планшета на свой ЖК-телевизор или проектор (удобно при проведении демонстрации). Технология Miracast основана на стандарте Wi-Fi Direct, использующем peer-to-peer архитектуру передачи данных (устройства подключаются напрямую, а не через Wi-Fi роутер или программную точку доступа). Источник и приемник в технологии Miracast должны быть сертифицированными устройствами. С помощью специальных адаптеров (Miracast-приемник, Mirascreen), подключаемых в USB или HDMI порт можно использовать Miracast с любыми устройствами, которые изначально не поддерживают эту технологию.
В Windows 10 и Windows 8.1 поддержка Miracast (как технологии проецирования на беспроводной дисплей) имеется по умолчанию. В Windows 7 необходимо ставить дополнительное ПО.
Содержание:
Преимущества и недостатки технологии Miracast
Стандарт Miracast позволяет передавать изображение экрана одного устройства на другое напрямую через беспроводную Wi-Fi сеть (поддерживается стандарт IEEE 802.11n), без использования HDMI-кабеля. Передача данных выполняется напрямую, для подключения не нужен даже Wi-Fi роутер. Это значит, что роутер не вносит дополнительных задержек в передачу видео между двумя устройствами, и через трафик не создает дополнительную нагрузку на роутер, и не пересекается с данными, передаваемыми другими пользователями по Wi-Fi сети.
Технологий Miracast является кроссплатформенной и поддерживается в разных ОС (Windows, Android, iOS). При передаче видео сигнала по Miracast не происходит потеря качества (максимальное качество передачи — 1920×1200, т.е. UltraHD передать не получится).
Нужно отличать, что на самом деле есть две схожих технологии для трансляции видеоконтента между устройствами — Miracast и Intel WiDi. Технологии практически идентичные, но Intel WiDi обладает более высокой стабильностью работы, но требует установки на компьютер приложения Intel Wireless Display.
Как проверить поддерживает ли ваш компьютер Miracast?
Большинство современных компьютеров и ноутбуков с Windows 10 уже поддерживают Miracast. Кроме того, устройства с Windows 10 могут выступать в качестве получателя изображения в соединении Miracast.
Чтобы проверить, что ваше устройство поддерживает Miracast:
- Запустите утилиту DirectX Diag (dxdiag.exe);
- Дождитесь окончания сканирования;
- Нажмите кнопку «Сохранить все сведения» и сохраните файл dxdiag.txt;
- Откройте файл dxdiag.txt и найдите строку Miracast;
- Строка «Miracast: Available, with HDCP» означает, что ваше устройство поддерживает Miracast.
Естественно, ваш компьютер / ноутбук должен быть оборудован Wi-Fi модулем с поддержкой Virtual Wi-Fi и Wi-Fi Direct. Т.к. протокол Wi-Fi Direct был представлен в NDIS 6.3, то ваш адаптер должен поддерживать как минимум эту версию NDIS. Проверить поддерживаемые версии NDIS у ваших Wi-Fi адаптеров можно с помощью PowerShell:
NetAdapter | Select Name, NdisVersion
Здесь должно быть как минимум NDIS 6.3.
Также драйвер дисплея должен поддерживать как минимум стандарт WDDM 1.3. Проверить версию WDDM поддерживаемую драйвером дисплея можно в том же файле dxdiag.txt. Ищите строку Driver Model. В моем примере это WDDM 2.1.
WiFi адаптер должен поддерживать стандарт 802.11n. Cписок Wi-Fi стандартов, поддерживаемых драйвером можно вывести с помощью команды: netsh wlan show drivers
(см. статью).
Настройка Miracast в Windows 10
Допустим, вы хотите транслировать изображение с ноутбука с Windows 10 на свой ЖК-телевизор. В первую очередь необходимо включить Miracast в настройках ТВ. Конкретное местоположение этой настройки зависит от модели телевизора. Обычно он находится в разделе с настройками сети или Wi-Fi. Он может называть Miracast WiFi / Intel WiDi (на некоторых моделях ТВ эта настройка отсутствует, но, если устройство поддерживает Miracast, достаточно просто включить Wi-Fi модуль).
В Windows 10 нажмите сочетание клавиш Win + P. В открывшемся справ окне с вариантами проецирования изображения нажмите на пункт «Подключение к беспроводному дисплею» (если его нет, значит ваш компьютер не поддерживает Miracast).
В списке беспроводных устройств должен появится ваш телевизор. Выберите его.После этого между ваши устройством и ТВ инициализируется Miracast подключение и через 10-15 секунд на экране ТВ появится изображение с рабочего стола вашего компьютера.
Если на экране появилась надпись «Выполните инструкции на экране устройства», значит нужно вручную подтвердить подключение компьютера через меню телевизора.
Если с первого раза не удалось установить подключение к монитору через Miracast, перезагрузите оба устройства и попробуйте подключится еще раз.
Вы можете изменить режим проекции на ТВ, например, расширить / дублировать или выводить изображение только на 1 экран, нажав на кнопку «Изменение режима проекции» и выбрав нужный режим. Здесь же можно отключиться от беспроводного дисплея.
Т.к. по Miracast кроме изображения передается еще и звук, то по умолчанию, звук с вашего компьютера / ноутбука выводится через динамики ТВ. Если открыть список устройств воспроизведения, вы увидите что в качестве устройства по-умолчанию используется «Digital Output» – это означает что звук выводится через Miracast приёмник. Чтобы выводить звук через компьютер, выберите динамики устройства в качестве устрой устройства воспроизведения по умолчанию.
Не работает Miracast, отсутствует пункт «Подключение к беспроводному дисплею»
Если при нажатии сочетания клавиш Win+P в Windows 10 выводится сообщение «ПК или мобильное устройство не поддерживает Miracast, поэтому беспроводное проецирование с него невозможно» или же пункт «Подключение к беспроводному дисплею» отсутствует, возможно ваше оборудование или драйвер не поддерживает Mitracast.
Чтобы проверить наличие поддержки Miracast на уровне беспроводного Wi-Fi адаптера, откройте командную строку и выполните команду:
netsh wlan show driver
Если в результатах команды будет присутствовать строка:
Wireless Display Supported (Поддерживается беспроводной дисплей): No (Graphics Driver: Yes, Wi-Fi Driver:No)
Это значит, что графический драйвер поддерживает Miracast, а Wi-Fi драйвер – нет.
В мое случае помогло обновление версии драйвера Wi-Fi адаптера на последнюю. В результате строка поменялась на:
Если используется актуальная версия драйвера, но поддержки Miracast нет, придется заменить Wi-Fi адаптер на другую более свежую модель.
Также проверьте, не включена ли локальная или доменная политика (если компьютер в домене) в разделе Computer Configuration -> Windows Settings -> Security Settings -> Wireless Network (802.11) Policies -> Network Filters. Политика должна быть не настроена, либо включена, но параметр Prevent connection to adhoc networks и Don’t allow WI-FI Direct groups отключены. Иначе подключение Miracast может не работать.
Не удалось подключиться к беспроводному дисплею
Если компьютер обнаруживает внешний дисплей через Miracast, но при попытке подключения появляется ошибка «Не удалось подключиться», попробуйте выполнить следующие шаги:
- Перезагрузите оба устройства (и компьютер и ТВ/проектор);
- Проверьте включена ли функция Miracast в настройка телевизора/ проектора, попробуйте поднести ноутбук ближе к беспроводному дисплею (исключить влияние помех Wi-Fi сигнала);
- Попробуйте на компьютере обновить драйвер Wi-Fi.
В моем случае помогло подключение беспроводного дисплея как нового устройства вручную. Для этого в Windows 10 перейдите в раздел Параметры -> Устройства -> Добавление Bluetooth или другого устройства.
Выберите пункт «Беспроводной дисплей или док-станция».
Дождитесь окончания сканирования. Ваш телевизор с беспроводным адаптером должен появится в списке. Выберите его. Через какое-то время ваш беспроводной дисплей появится в списке устройств.
Нажмите сочетание клавиш Win+P и попробуйте еще раз подключиться к вашему беспроводному дисплею. Подключение должно успешно установиться.
Как настроить Miracast подключение к дисплею вашего компьютера
Вы можете передавать картинку не только с вашего устройства на другие, но и самому получать изображения с других устройств. Чтобы проверить поддержку трансляции Miracast на ваше устройство с Windows 10:
- Нажмите на кнопку поиск и наберите Miracast;
- Выберите опцию Проецирование на этот компьютер (Параметры –> Система –> Проецирование на этот компьютер);
- Если в вашем компьютере нет устройства Miracast-приемника, вы увидите сообщение:Это устройство не поддерживает получение сигнала стандарта Miracast, поэтому беспроводное проецирование на него невозможно. Если компьютер поддерживает проецирование на него здесь будет надпись: «Вы можете проецировать изображение с телефона или компьютер с Windows 10 на этот экран, а также использовать его клавиатуру, мышь и другие устройства»
- Здесь же можно настроить параметры видимости дисплея, задать ПИН-код подключения;
- После этого на Miracast источнике запустите подключение к беспроводному дисплею и выберите дисплей вашего компьютера;
- Если все верно настроено, появится надпись «Скоро начнется проецирование» и на дисплее своего компьютера вы увидите изображение с удаленного устройства.
При помощи технологии Миракаст для телевизора пользователь может настроить на Smart TV «воздушное» дублирование содержимого экрана любого современного устройства на OS Windows или Android. О всех нюансах функции беспроводной синхронизации будет рассказано далее.
Что такое Miracast в телевизоре
Miracast — это созданная на основе WiFi Direct технология, с помощью которой можно транслировать содержимое экрана планшета или ноутбука на внешний монитор.
Также необходимо сказать, что для Miracast-трансляции не нужен WiFi-маршрутизатор — пользовательские устройства обмениваются данными через собственный воздушный канал, что значительно уменьшает нагрузку на домашний роутер.
Среди прочих достоинств технологии:
- высокая скорость передачи данных и автоматическое сжатие/разархивирование потоковых изображения и звука — разработчики заявляют, что пользователь сможет транслировать на внешний дисплей экшн-игры со средними показателями FPS и видео в высоком разрешении;
- совместимость с 3D-контентом (телевизор должен поддерживать технологию 3D);
- простой интерфейс, позволяющий активировать передачу данных между уже сопряженными устройствами за считанные секунды.
Главный недостаток технологии Miracast заключается в ограничении качества передаваемого видео: пользователь сможет вывести на экран телевизора картинку, разрешение которой не превышает FullHD 1920х1080.
Если в качестве источника сигнала используется смартфон на Android с UltraHD-дисплеем, то вокруг транслируемого на внешний монитор контента появятся чёрные рамки. Стоит отметить, что популярным решением для стриминга 4К-фильмов является HDMI-интерфейс.
Как узнать, поддерживает ли телевизор Miracast
Чтобы проверить, поддерживает ли TB-аппарат технологию Миракаст, потребуется зайти в «Настройки» девайса и перейти в раздел «Сетевых подключений» (иконка в виде Земного шара).
Адаптер Миракаст
Если телевизор не поддерживает Миракаст, вы можете купить специальный прибор.
Алгоритм подключения Miracast-адаптера к телевизору выглядит следующим образом:
- Покупка адаптера.
- Подключение аксессуара к HDMI-порту TB-аппарата.
- Подсоединение к адаптеру комплектного USB-кабеля.
- Соединение USB-хвоста адаптера с USB-разъёмом телевизора или электрической сетью (потребуется 1-амперный блок питания).
Новые Адаптеры MiracastВ продажу поступили новые адаптеры Миракаст. Эксклюзивно, только на Яндекс Маркете. Заходите!
Посмотреть
Важно заметить, что для обеспечения адаптера электроэнергией не рекомендуется использовать блок питания от планшета — данные ЗУ имеют силу выходного тока в 2 ампера и способны вывести Миракаст-модуль из строя.
После подключения адаптера к телевизору необходимо выполнить настройку аксессуара:
- Выбрать на TB-аппарате источник сигнала. Указываете тот HDMI-разъём устройства, к которому непосредственно подключён адаптер. Для доступа к списку источников сигнала потребуется нажать на клавишу “Channels”, расположенную на пульте дистанционного управления.
- Подключить адаптер к WiFi-маршрутизатору «по воздуху». Обычно для подсоединения используется WPS-протокол. Далее потребуется подключить к адаптеру любое устройство, которое имеет собственный Miracast-передатчик — запрашиваемые логин и пароль должны высветиться на экране телевизионного аппарата.
- Зайти в «Личный кабинет» владельца адаптера. На данном этапе настройки пользователю будет необходимо запустить веб-браузер на сопряжённом с модулем устройстве и ввести в адресной строке специальную цифровую комбинацию, также высветившуюся на TV-дисплее. Далее в отобразившемся меню потребуется щелкнуть по кнопке «Запустить автонастройку» — название данного пункта зависит от разработчика ПО для адаптера. После выполнения описанных действий на телевизоре должно появиться окно «продвинутой» настройки.
- Выбрать режим работы адаптера. Устройство предложит пользователю сделать выбор между DLNA и Miracast: первый интерфейс позволяет передавать на телевизионный дисплей скачанный в оффлайн медиаконтент, второй — транслировать содержимое экрана сопряженного девайса. Данный параметр в любое время может быть изменён из меню настроек модуля или, если это предусмотрено конструкцией аксессуара, при помощи расположенной на корпусе кнопки-переключателя.
Для завершения настройки потребуется выбрать максимально возможное разрешение транслируемой картинки. Так как Миракаст не позволяет стримить контент, качество которого превышает FullHD, установка данного фильтра для современных телевизоров с 4К-дисплеем не имеет смысла.
Перед настройкой рекомендуется ознакомиться с инструкцией по эксплуатации аксессуара. При выборе адаптера следует обратить особое внимание на такие характеристики девайса, как число поддерживаемых видеоформатов и аудиокодеков и совместимость с той или иной операционной системой. Приобрести Miracst-модуль можно в любом розничном магазине электроники.
Настройка Miracast на телевизоре
Чтобы включить Miracast на телевизоре, потребуется:
- С помощью расположенной на ПДУ кнопки “Settings” (“Menu”) вызвать окно системных настроек TV-аппарата. Далее будет необходимо зайти в раздел «Сеть», выбрать “Miracast” и щелкнуть по экранной клавише «Включить».
- Установить нужный источник сигнала. Следует открыть список доступных каналов передачи данных и установить параметр «Дублирование». Чтобы вернуть девайс в режим отображения телевидения, в данном меню потребуется щелкнуть по строке “TV”. Необходимо заметить, что точное наименование функции зависит от производителя аппарата.
Также при запуске трансляции в первый раз пользователю будет необходимо ввести на телевизоре одноразовый пароль, который автоматически сгенерируется системой лептопа, планшета или смартфона.
При последующих подключениях устройств друг к другу вводить код не потребуется. Для настройки дублирования не нужно устанавливать какие-либо приложения — все необходимые драйвера вшиты разработчиками в операционные системы девайсов.
Например, чтобы использовать Miracast на смартфоне или планшете от Самсунг, потребуется просто найти телевизор через стандартную утилиту “Screen Mirroring”.
Заключение
Теперь пользователь знает, что такое Miracast в телевизорах от различных производителей. Если TB-аппарат не поддерживает данную технологию, то для сопряжения устройств потребуется специальный адаптер, средняя стоимость которого составляет всего 1 500 рублей.
В начале 2013 года в новостной ленте блога Intel мы сообщили о новой версии технологии WiDi, которая, в том числе, получила совместимость с родственным стандартом Miracast. Тогда эта информация прошла незамеченной, и на наш взгляд, весьма напрасно, поскольку картина в области беспроводных дисплеев кардинально изменилась. И одно из изменений — появление Miracast на Android. Давайте попробуем разобраться, как соотносятся друг с другом Miracast и WiDi, каким функционалом на пару обладают и как создавать приложения под Android с их использованием.
Многообразие функций и возможностей
О стандарте WiDi мы уже рассказывали достаточно: следили за новостями, рассматривали с точки зрения разработчика и даже тестировали живой серийный адаптер. Теперь для начала опишем в нескольких словах технологию Miracast.Общая коцепция Miracast Miracast представляет собой технологию передачи мультимедийной информации (аудио и видео) посредством WiFi. В качестве транспорта в нем используется стандарт WiFi Direct, позволяющий двум устройствам обмениваться данными друг с другом без помощи дополнительной сетевой инфраструктуры. Попросту говоря, Miracast можно представить, как беспроводной HDMI. Miracast еще довольно молод: официальная сертификация Miracast устройств альянсом WiFi Alliance началась чуть более года назад. Для передачи видео используется кодек Н.264, звук может быть двух- или пятиканальным. Miracast является открытым стандартом, не принадлежащим какой-либо компании; его привлекательность еще более повысилась после того, как в прошлом году его поддержка была добавлена в ОС Android 4.2. Замечу сразу, что в Android 4.2 на конкретном устройстве не гарантируется наличие Miracast – это надо выяснять дополнительно. Полный список сертифицированных устройств- как передатчиков, так и приемников можно посмотреть на сайте WiFi Alliance.Архитектура Miracast (со стороны передатчика) Совместимость Miracast и WiDi версии 3.5 означает общность базового функционала в устройствах обоих стандартов. Какие дополнительные плюшки есть в WiDi, но отсутствуют в Miracast? На сей день их три:
- обязательная поддержка HD видео вплоть до 1080p (хотя стандарт Miracast допускает высокое разрешение, но не обязывает все устройства поддерживать его);
- поддержка системы защиты контента HDCP (High-bandwidth Digital Content Protection);
- наличие двух дополнительных видео режимов – расширенного и многозадачного (о них чуть позже).
Таким образом, можно сказать, что WiDi в настоящее время является функциональным продолжением Miracast. WiDi поддерживается большинством существующих мобильных платформ Intel (и наверняка будет поддерживаться последующими). Как уже отмечалось в тестировании, технология относится к разряду «однокнопочных», то есть предельно простых для пользователей.Процесс подключения беспроводного дисплея на примере Samsung Galaxy S4 Ну а теперь пришло время поговорить о режимах. Нативным для WiDi/Miracast является Режим Клонирования – на удаленном дисплее отображается та же картинка, что и на локальном, с тем же разрешением. Двойной режим также относится к основным; в нем на удаленном дисплее проигрывается контент, а основной служит для управления и вывода служебной информации. Данный режим поддерживается через Android Presentation API. Расширенный режим имеется только в WiDi (и, соответственно, доступен только для устройств на платформе Intel Atom). В нем видео режим включается автоматически, когда пользователь запускает мультимедийный контент на плеере, использующим Android Media Player framework. Разрешение картинки остается «родным» вплоть до 1080р. При этом локальный рендеринг видео может отключаться для сокращения энергопотребления. Наконец, самый продвинутый – Многозадачный Режим, при котором видео плеер посылает изображение на удаленный дисплей, а на локальном в это время пользователь делает, что хочет: просматривает интернет, принимает звонки или даже смотрит совсем другое видео, тоже в FullHD разрешении!
Варианты использования режима двух дисплеев:
Режим двух дисплеев подходит не только для просмотра видео. Совершенно несложно набросать список жизненных его применений:
- просмотр интернет на большом экране (смартфон выступает в роли тачпада);
- заполнение форм или набор небольших текстов (смартфон – сенсорная клавиатура);
- игры (смартфон – сенсорный геймпад/джойстик);
- мобильное рабочее место (смарфтон – компьютер, к нему по Bluetooth подключена периферия).
Создаем Android приложение для двух дисплеев
Поддержка второго беспроводного дисплея в Android 4.2 (API Level 17) реализована с помощью с помощью класса Presentation, позволяющего:
- внедрить поддержку второго дисплея в приложения, не заботясь о способе, которым он будет физически подключен;
- работать с MHL, HDMI, Slimport или Miracast совместимыми устройствами;
- осуществлять управление вторым дисплеем независимо от первого.
Presentation является базовым классом и должен быть расширен:
public class DemoPresentation extendsPresentation {
Также необходима ассоциация с классом Display при создании. Presentation наследуется от Dialog, а что касается Dialog, то его жизненный цикл привязан к Activity. Перед тем, как задействовать Presentation, вам необходимо выбрать дисплей, что может быть сделано двумя способами: 1. MediaRouter API (в API 16) – система сама выберет лучший дисплей за вас
// Get the media router service. MediaRouter mMediaRouter = (MediaRouter)getSystemService(Context.MEDIA_ROUTER_SERVICE); // Use the MediaRouter that supports live video MediaRouter.RouteInfomRouteInfo =mMediaRouter.getSelectedRoute(MediaRouter.ROUTE_TYPE_LIVE_VIDEO); Display presentationDisplay= mRouteInfo.getPresentationDisplay();
2. Display Manager API (в API 17) – перечень дисплеев.
// Get the display manger service. DisplayManager mDisplayManager = (DisplayManger)getSystemService(Context.DISPLAY_SERVICE); // enumerate the displays Display[] displays =mDisplayManager.getDisplays(DisplayManger.DISPLAY_CATEGORY_PRESENTATION);
Добавление MediaRouteButton в приложение:
//Sets Media Route Button to second screen mode mediaRouteActionProvider.setRouteTypes(MediaRouter.ROUTE_TYPE_LIVE_VIDEO); //Launches the Wireless display setting intent startActivity(newIntent ("android.settings.WIFI_DISPLAY_SETTINGS"));
В res/menu/default.xml:
Как заставить Presentation API работать: Далее, используя MediaRouter.addCallback, необходимо мониторить:
- onRouteUnselected
- onRouteSelected
- onRoutePresentationDisplayChanged
А внутри активности, которая владеет Presentation:
- onResume
- onPause
API для управления WiFi дисплеями присутствуют внутри Android AOSP, но не являются частью Android framework. Параметры беспроводного дисплея могут быть вызваны через Intentandroid.settings.WIFI_DISPLAY_SETTINGS, но и он также не входит во фреймворк. Некоторые производители используют другие варианты: Samsung – com.samsung.wfd.LAUNCH_WFD_PICKER_DLG, HTC – com.htc.wifidisplay.CONFIGURE_MODE_NORMAL. Все API, приведенные на рисунке ниже, являются внутренними для Android 4.2/4.3. Они являются частью AOSP и распространяются свободно, однако не входят во фреймворки и работать не обязаны. В заключение отметим, что тестировать приложения для двух дисплеев можно как на реальном железе, поддерживающем данный функционал, так и на эмуляции, доступной начиная с Android 4.2 в опциях разработчика. Вы можете выбрать разрешение и dpi второго виртуального дисплея, и получите оверлей с его отображением.При подготовке поста использовались материалы IDF 2013, авторы — Xavier Hallade и Costas Stylianou.Используемые источники:
- https://winitpro.ru/index.php/2019/01/14/nastrojka-besprovodnogo-displeya-miracast-widi-v-windows/
- https://televizore.ru/obzor/mirakast-dlya-televizora
- https://habr.com/post/196080/