Wifi display android


В начале 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:
<item android:title=»Media Route Settings» android:actionProviderClass=»android.app.MediaRouteActionProvider» android:showAsAction=»always» />
Как заставить Presentation API работать:

Далее, используя MediaRouter.addCallback, необходимо мониторить:

  • onRouteUnselected
  • onRouteSelected
  • onRoutePresentationDisplayChanged

А внутри активности, которая владеет Presentation:

  • onResume
  • onPause

API для управления WiFi дисплеями присутствуют внутри Android AOSP, но не являются частью Android framework. Параметры беспроводного дисплея могут быть вызваны через Intent android.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.

Приветствую читателей блога!
Сегодня на блоге будет такой пост, что называется «два в одном». Я отвечу читателю на вопрос и расскажу об еще одной занимательной и удобной технологии, с помощью которой можно организовать передачу картинки с дисплея монитора одного устройства на другое — например, с компьютера на Windows на телефон, телевизор или проектор. Называется она Intel WiFi Display или Wireless Display — WiDi.

Собственно, вот какой был вопрос:

Приветствую.
Передача от Ноутбука по каналу WiFi, режим Он-лайн Display, прием ведется на Девайс который цепляется к ТВ на разъём HDMI.
Как настроить WiFi Display, ноутбук Samsung на Windows 7 ?

Думаю, что историю возникновения и развития WiDi будет читать скучно — не за этим вы сюда пришли, ведь так? Поэтому как обычно, перейдем сразу к практике.

Условия для работы WiDi

Итак, устройства, оснащенные WiDi, имеют возможность обнаруживать друг друга и обмениваться данными. Однако есть ряд условий, которым они должны соответствовать для использования этой технологии. Если планируете задействовать в такой связке телефон, то он должен быть оснащен операционной системой Android версии не ниже 4.2 и специальный чипом от компании RockChip (RTL8188EUS, Broadcom BCM43362, BCM4330, APXX). Кроме телефонов, Intel WiDi поддерживают многие телевизоры, проекторы и медиаплееры, в которые также встроен чипсет из линейки Intel Centrino, поддерживающий Intel My Wi-Fi. Если же данной функции в устройстве нет, то не беда — есть отдельные устройства наподобие WiFi адаптеров — WiDi адаптеры, которые через HDMI подключаются к ТВ и получают беспроводным способом картинку и звук со смартфона или планшета.

Если помните, я уже рассказывал об очень похожей технологии — DLNA. В моем видеоуроке с ее помощью мы также воспроизводили на телевизоре фильмы, хранящиеся на компьютере. Но есть и разница — в DLNA мы могли только лишь воспроизводить файлы. В WiDi же мы имеем полноценный второй монитор, что значительно расширяет возможности использования, например для воспроизведения игр с Андрода на большом телевизионном экране. Одной из разновидностей этой технологии является Miracast, о котором поговорим в отдельной статье.

Intel Wireless Display для Windows

Но и это еще не все. Intel Wifi Display может работать также и на компьютере с операционной системой Windows 10, 8 или 7, оснащенном современным процессором Intel — Core i3, Core i5, Core i7 — с одним из WiFi адаптеров:

Как вы понимаете, использование этого встроенного в процессор адаптера возможно только в том случае, если работает встроенное видеоядро процессора. Если же в вашем компьютере установлена отдельная видеокарта и при этом видеоядро процессора Intel отключается, то работать схема не будет.

Также WiDi работает только с ОС Windows не ниже 7, так что любителям XP тоже увидеть WiFi в действии не доведется.

Как настроить Intel Widi?

Подведем небольшой итог — для настройки WiDi нам нужно 2 аппарата — источник и приемник. Ими могут быть:

  • ТВ со встроенным WiDI чипом или внешним адаптером
  • Компьютер или ноутбук на Windows с процессором Intel и поддержкой Wireless Display
  • Смартфон с чипом RockChip и Android 4.2+

Если все это есть в наличии, то давайте настраивать. В качестве приемника будем использовать большой экран обычного телевизора. Включаем его, подключаем к нему внешний WiDi адаптер через HDMi и выбираем его в качестве источника для картинки. Появится изображение наподобие этого (в данном примере используется адаптер Netgear), которое говорит о том, что устройство готово к подключению к источнику сигнала:

Для трансляции видео с компьютера нужно для своей операционной системы и запустить ее.

После ее запуска откроется окно со списком устройств с работающим адаптером, находящимися в зоне приема. Выбираем наш ТВ.

Далее телек, увидев, что к нему хотят подключится, выдаст на экране пароль, необходимый для коннекта.

Вводим его на ПК при подключении и через несколько секунд получаем дубликат экрана рабочего стола компьютера на мониторе телевизора.

Intel WiDi через смартфон

Аналогично воспроизводится видео и со смартфона на базе Андроида. Сначала по той же схеме включаем адаптер на ТВ, после чего заходим на Андроиде в меню «Настройки» и ищем пункт «Беспроводной проектор» (или экран). Если его нет, то значит ваш телефон работу с WiDi не поддерживает и подключиться не получится.

Далее выбираем наш телевизор и подключаемся — так же, как это делалось на ноутбуке.

Через несколько секунд изображение с дисплея телефона появится на мониторе. Если у вас активирован вертикальный режим, то отображаться будет некорректно, поэтому заблаговременно переведите смартфон в режим горизонтальной ориентации экрана.

Как видим, технология очень жизнеспособная и значительно расширяет возможности использования смартфона или ноутбука в качестве полноценного медиацентра. К сожаленью, на сегодняшний день единственным, но существенным ограничением, является требовательность к железу — с ней могу работать лишь определенные чипсеты, беспроводные адаптеры и процессоры. Однако, в будущем, думаю, Wireless Display станет таким же общепринятым стандартом передачи данных, как тот же DLNA.

Напоследок привожу вам наглядный ролик о подключении WiFi Display — видео на английском языке, но демонстрация будет понятна абсолютно всем. Желаю удачи в настройке!

Спасибо!Не помогло Александр Специалист по беспроводным сетям, компьютерной технике и системам видеонаблюдения. Выпускник образовательного центра при МГТУ им. Баумана в Москве. Автор видеокурса «Все секреты Wi-Fi» Задать вопрос Рейтинг ( 1 оценка, среднее 3 из 5 ) 186 034 Понравилась статья?

ЕСЛИ ЭТО НЕ РАБОТАЕТ НА ВАШЕМ УСТРОЙСТВЕ, ПОЖАЛУЙСТА, НЕ НУЖНО
Он не должен работать на каждом устройстве. Если это не сработает, сообщите (с сообщением) здесь: yjy837@gmail.com
Samsung J1 / J3 / J5 / J7 не поддерживает зеркалирование. Но он может работать с Chromecast.
Почему мобильный телефон не может подключить ТВ / HDMI / MHL Dongle после обновления до Android?
Android 4.4.X / 5.0 действительно улучшил программу просмотра Wifi, чтобы соответствовать сертификации Miracast. У мобильного устройства может быть проблема с этими «старыми» телевизорами / ключами. Вы можете попробовать обновить прошивку TV / Dongle до последней версии, чтобы исправить проблему. Или вам нужно понизить свой мобильный телефон ниже до Android 4.4.X.
Какой новый патч для HDCP —
1. Исправьте устройства Samsung S3 / S4 / S5 (с HDCP), зеркалирующиеся на экране телевизора / ключа (без HDCP).
2. Два независимых патча HDCP для включения и повторного запуска зеркала
3. Мобильный нужен ROOTED, но не нужно обновлять ROM
Вы можете проверить версию Pro для AD бесплатно —

Что такое помощник дисплея Wifi?
Это программное обеспечение, которое помогает включить Wifi Display / Chromecast Cast Screen на устройствах с Android версии 4.2 и выше. Это игра «Зеркала» или экран youtube на внешний дисплей.
Почему более 2 миллионов человек используют WiFi Display Helper?
Некоторые производители мобильных устройств могут отключить Wi-Fi Display по некоторым причинам, таким как проблемы с производительностью ЦП или проблемы с тестированием. Использование этого программного обеспечения поможет вам подключиться к вашему Smart TV по беспроводной сети.
Как это использовать?
Просто откройте приложение и нажмите «Запустить WiFi-дисплей», а затем синхронизируйте свое устройство с нужным дисплеем, который вы хотите отобразить на экране.
Заметки —
1. Пожалуйста, проверьте версию мобильного Android. Как упоминалось выше, он должен быть больше или равен версии Android версии 4.2 (JellyBeans).
2. Если вы обнаружили ошибку или имеете проблему с использованием приложения, свяжитесь с нами по электронной почте, так как мы не можем вам помочь, если вы разместите его в отзывах!
3. Пожалуйста, дайте нам пять звезд, если мы вам помогли.
4. Обзор поможет нам сохранить список поддерживаемых устройств.
*** Поддерживаемый список ***
Samsung Galaxy Mini (GT-S5570)
Samsung Galaxy S III
Samsung Galaxy Note II
Samsung Galaxy S 4
Samsung Galaxy S 4 Active
Samsung Galaxy Ace3 (loganrelte)
Samsung Galaxy S4 (ja3g)
Samsung Galaxy S4 Mini (serranolte)
Samsung Galaxy S4 Mini (serrano3g)
Samsung Galaxy S5 (k3g)
Samsung Galaxy Note 10.1”
Samsung Galaxy Note 8”
Samsung Galaxy Note2 (t0ltevzw)
Samsung Galaxy Note 3
Samsung Galaxy Mega
Samsung Galaxy Tab 7.7 (GT-P6800)
Samsung Galaxy Tab 3 8”
Samsung Galaxy Tab2 7.0 (espressowifi)
Samsung Galaxy Tab2 10.1 (espresso10rf)
Samsung GT-P5110 10.1
Samsung Galaxy Grand2 (ms013g)
Samsung Galaxy Grand duos (GT-I9082) (baffin).
Samsung Galaxy Grand Neo (baffinlite)
Samsung Galaxy Core (arubaslimss)
Samsung Galaxy Pocket Neo (corsicass)
Sony Xperia Z (C6602)
Sony Xperia Z (C6603)
Sony Xperia SP (C5303)
Sony Xperia SP (C5302)
Sony Xperia Z1 (C6903)
Sony Xperia Z1 (C6906)
Sony Xperia M2
Sony Xperia L (C2104)
Sony Xperia M (C1904)
Sony Xperia T (LT30p)
Sony Xperia C (C2305)
Sony Xperia Z2 Tablet (SGP511)
ALCATEL ONE TOUCH 7025D (Rav4).
ALCATEL ONE TOUCH 7040A (YARISXL)
ALCATEL ONE TOUCH 7041X (YARISXL)
ALCATEL ONE TOUCH 8008D (Scribe5HD)
Lenovo P780
Lenovo A790
Lenovo A850
Lenovo A859 (A859_ROW)
Lenovo S650
Lenovo S920_ROW (S920_ROW)
Lenovo IdeaTab S6000 (S6000)
Lenovo A60+ (Android)
Lenovo A5500-H (A5500-H)
Lenovo LNV-Lenovo A790e (msm7627a)
Nexus 4 (mako)
Nexus 5 (hammerhead)
Nexus 7 (flo)
HTC One (m7)
HTC One M8
HTC Desire 816 dual sim
HTC One mini (htc_m4)
HTC Desire 616 dual sim (htc_v3_dug)
HTC One max (t6ul)
LG Optimus G (geehrc)
Moto RAZR D1 (hawk35_umts)
Moto ME173X (ME173X)
ЕСЛИ ЭТО НЕ РАБОТАЕТ НА ВАШЕМ УСТРОЙСТВЕ, ПОЖАЛУЙСТА, НЕ НУЖНО
Он не должен работать на каждом устройстве. Если это не сработает, сообщите (с сообщением) здесь: yjy837@gmail.com
Samsung J1 / J3 / J5 / J7 не поддерживает зеркалирование. Но он может работать с Chromecast.
Почему мобильный телефон не может подключить ТВ / HDMI / MHL Dongle после обновления до Android?
Android 4.4.X / 5.0 действительно улучшил программу просмотра Wifi, чтобы соответствовать сертификации Miracast. У мобильного устройства может быть проблема с этими «старыми» телевизорами / ключами. Вы можете попробовать обновить прошивку TV / Dongle до последней версии, чтобы исправить проблему. Или вам нужно понизить свой мобильный телефон ниже до Android 4.4.X.
Какой новый патч для HDCP —
1. Исправьте устройства Samsung S3 / S4 / S5 (с HDCP), зеркалирующиеся на экране телевизора / ключа (без HDCP).
2. Два независимых патча HDCP для включения и повторного запуска зеркала
3. Мобильный нужен ROOTED, но не нужно обновлять ROM
Вы можете проверить версию Pro для AD бесплатно —

Что такое помощник дисплея Wifi?
Это программное обеспечение, которое помогает включить Wifi Display / Chromecast Cast Screen на устройствах с Android версии 4.2 и выше. Это игра «Зеркала» или экран youtube на внешний дисплей.
Почему более 2 миллионов человек используют WiFi Display Helper?
Некоторые производители мобильных устройств могут отключить Wi-Fi Display по некоторым причинам, таким как проблемы с производительностью ЦП или проблемы с тестированием. Использование этого программного обеспечения поможет вам подключиться к вашему Smart TV по беспроводной сети.
Как это использовать?
Просто откройте приложение и нажмите «Запустить WiFi-дисплей», а затем синхронизируйте свое устройство с нужным дисплеем, который вы хотите отобразить на экране.
Заметки —
1. Пожалуйста, проверьте версию мобильного Android. Как упоминалось выше, он должен быть больше или равен версии Android версии 4.2 (JellyBeans).
2. Если вы обнаружили ошибку или имеете проблему с использованием приложения, свяжитесь с нами по электронной почте, так как мы не можем вам помочь, если вы разместите его в отзывах!
3. Пожалуйста, дайте нам пять звезд, если мы вам помогли.
4. Обзор поможет нам сохранить список поддерживаемых устройств.
*** Поддерживаемый список ***
Samsung Galaxy Mini (GT-S5570)
Samsung Galaxy S III
Samsung Galaxy Note II
Samsung Galaxy S 4
Samsung Galaxy S 4 Active
Samsung Galaxy Ace3 (loganrelte)
Samsung Galaxy S4 (ja3g)
Samsung Galaxy S4 Mini (serranolte)
Samsung Galaxy S4 Mini (serrano3g)
Samsung Galaxy S5 (k3g)
Samsung Galaxy Note 10.1”
Samsung Galaxy Note 8”
Samsung Galaxy Note2 (t0ltevzw)
Samsung Galaxy Note 3
Samsung Galaxy Mega
Samsung Galaxy Tab 7.7 (GT-P6800)
Samsung Galaxy Tab 3 8”
Samsung Galaxy Tab2 7.0 (espressowifi)
Samsung Galaxy Tab2 10.1 (espresso10rf)
Samsung GT-P5110 10.1
Samsung Galaxy Grand2 (ms013g)
Samsung Galaxy Grand duos (GT-I9082) (baffin).
Samsung Galaxy Grand Neo (baffinlite)
Samsung Galaxy Core (arubaslimss)
Samsung Galaxy Pocket Neo (corsicass)
Sony Xperia Z (C6602)
Sony Xperia Z (C6603)
Sony Xperia SP (C5303)
Sony Xperia SP (C5302)
Sony Xperia Z1 (C6903)
Sony Xperia Z1 (C6906)
Sony Xperia M2
Sony Xperia L (C2104)
Sony Xperia M (C1904)
Sony Xperia T (LT30p)
Sony Xperia C (C2305)
Sony Xperia Z2 Tablet (SGP511)
ALCATEL ONE TOUCH 7025D (Rav4).
ALCATEL ONE TOUCH 7040A (YARISXL)
ALCATEL ONE TOUCH 7041X (YARISXL)
ALCATEL ONE TOUCH 8008D (Scribe5HD)
Lenovo P780
Lenovo A790
Lenovo A850
Lenovo A859 (A859_ROW)
Lenovo S650
Lenovo S920_ROW (S920_ROW)
Lenovo IdeaTab S6000 (S6000)
Lenovo A60+ (Android)
Lenovo A5500-H (A5500-H)
Lenovo LNV-Lenovo A790e (msm7627a)
Nexus 4 (mako)
Nexus 5 (hammerhead)
Nexus 7 (flo)
HTC One (m7)
HTC One M8
HTC Desire 816 dual sim
HTC One mini (htc_m4)
HTC Desire 616 dual sim (htc_v3_dug)
HTC One max (t6ul)
LG Optimus G (geehrc)
Moto RAZR D1 (hawk35_umts)
Moto ME173X (ME173X)