Какие процессоры поддерживает miracast

Обновлено: 06.07.2024

Когда знакомишься с характеристиками некоторых девайсов, то можешь встретить упоминание о том, что устройство поддерживают технологию Miracast. Например, эта технология нередко поддерживается такими девайсами, как телевизор, смартфон, планшет или мультимедиа приставки.

Далее мы поговорим о том, что такое Miracast и подробно остановимся на том, как им пользоваться.

Miracast – это технология, которая предусматривает передачу видеоизображения без проводов. Используя ее, пользователь может перенести изображение с экрана ноутбука, смартфона, планшета на экран монитора и телевизора. Эту технологию получили на базе технологии Wi-Fi Direct. Ее стандартизировало объединение компаний Wi-Fi Alliance.

ВАЖНО! Как и для работы Wi-Fi Direct, Miracast не нуждается в беспроводном роутере, так как подключение между парой девайсов осуществляется напрямую. И никакие посредники в таком деле не нужны. Miracast выгодно отличается этим от прочих аналогичных технологий. Скажем, от AirPlay, который для работы должен иметь Wi-Fi-роутер.

Технология Miracast передает видео в формате H.264. В этом случае можно не только воспроизводить содержимое видео-файлов на подключенном экране. Можно также выполнять полное дублирование одного экрана на другой.

Обратная передача изображения тоже возможна. То есть с экрана телевизора на экран девайса, которым пользуешься. Разрешение видео, которое передаешь, бывает разным. Оно доходит до 1920×1200 пикселей. А чтобы передать звук, необходимо применить один из трех форматов: AAC, двухканальный LPCM или 5.1 канальный Dolby AC3.

Достоинства и недостатки Miracast

Конечно, у технологии Miracast есть свои плюсы и минусы. Основное преимущество в том, что возможна беспроводная синхронизация. И, значит, нет необходимости прокладывать HDMI-кабель, заниматься поиском переходников к нему, а также настраивать. Нужно только разрешить сопряжение между устройствами. Конечно, у технологии Miracast есть свои плюсы и минусы. Основное преимущество в том, что возможна беспроводная синхронизация. И, значит, нет необходимости прокладывать HDMI-кабель, заниматься поиском переходников к нему, а также настраивать. Нужно только разрешить сопряжение между устройствами.

ПРЕИМУЩЕСТВА:

- Технология Miracast предоставляет возможность осуществлять передачу видео-картинки, используя при этом беспроводную сеть популярного стандарта IEEE 802.11n.

- Miracast гарантирует, что изображение будет стабильным, без задержек и рассинхронизации.

- Для работы не нуждается в Wi-Fi роутере. Отсюда значительное расширение сферы использования этой технологии.

- Изображение, которое передается, имеет защиту от доступа со стороны, поскольку задействована технология WPA2.

- Технология действует на базе Wi-Fi, и потому ее применение не ведет к большому расходу батареи.

- Miracast может обеспечить простое обнаружение и подключение устройств, передающих и получающих изображение.

- Технология – это утвержденный стандарт Wi-Fi Alliance.

ВАЖНО! За счет мощного сжатия есть возможность в кратчайшие сроки делиться немалым объемом данных. Скажем, трансляция FullHD видео не приведет к сбою или ресинхронизации.

- Дизайн управления прост и понятен, применить технологию может любой пользователь;

- Есть много девайсов, которые осуществляют поддержку Miracast.

- Miracast поддерживает 3D и DRM-контент.

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

ВАЖНО! Если вы отправляете видео через Miracast, то такой проблемы не будет. Ведь в вашу сессию третий лишний не вмешается.

У девайсов, которые поддерживают Miracast, нередко возникают проблемы совместимости.

В настоящее время Miracast не осуществляет поддержку высоких разрешений. В текущей версии – максимум 1920×1200 пикселей. Нет возможности передать видео в UltraHD. Однако не будем забывать о том, что устройств, которые поддерживают более высокое разрешение, практически не существует. Точнее сказать, они есть, но очень дорогие. Значит, с таким ограничением столкнуться практически невозможно.

Чтобы передавать видео, применяют закрытый кодек H.264.

Какие устройства поддерживают Miracast

Технологию Miracast официально представили в 2012 году. В настоящее время ее поддерживают многие телевизоры с функцией SmartTV. Также Miracast нашла поддержку в большинстве операционных систем. Технологию Miracast официально представили в 2012 году. В настоящее время ее поддерживают многие телевизоры с функцией SmartTV. Также Miracast нашла поддержку в большинстве операционных систем.

Скажем, эту технологию поддерживают операционные системы Windows 8.1 и Windows 10. А в Windows 7 ее могут поддержать через Wi-Fi Direct.

В операционной системе Linux поддержку можно реализовать с помощью программы MiracleCast. Мобильные операционные системы тоже осуществляют поддержку Miracast. Например, такая поддержка существует в Android. Причем, начиная с версии 4.2. А еще такая поддержка есть в BlackBerry OS, начиная с версии 10.2.1, а также в Windows Phone 8.1.

Подчеркнем, что не поддерживают Miracast, операционные системы iOS и macOS. Тем, кто пользуется данными операционными системами, предлагают собственные технологии AirPlay.

Как определить, поддерживает ли девайс Miracast

Есть 4 типа девайсов, в которых поддержка Miracast вшита часто: современные ЖК-телевизоры, ноутбуки под управлением Windows, телефоны и планшеты под управлением Android и IOS. Есть 4 типа девайсов, в которых поддержка Miracast вшита часто: современные ЖК-телевизоры, ноутбуки под управлением Windows, телефоны и планшеты под управлением Android и IOS.

Поддержка технологии зависит от компании и от модели девайса. Если вы этой информацией располагаете, то не представляет большого труда отыскать в глобальной сети описание нужного вам девайса. Там же можно найти перечень технологий, которые им поддерживаются. Есть еще один способ. Он предполагает изучение способностей вручную, но для этого надо применить инструкции, которые будут описаны ниже.

Львиная доля гаджетов, у которых стандартная прошивка версии 4.2 Jelly Bean и выше, эту технологию поддерживают. И в этом нетрудно убедиться. Достаточно открыть настройки устройства и найти пункт «Беспроводной монитор» или Wireless Display. Бывает так, что данная функция расположена в разделе «Экран».

На IOS функция, которая предоставляет возможность соединяться через Miracast, получила название AirPlay. Ее поддерживают все девайсы под брендом Apple.

Открываем перечень Wi-Fi сетей и подключаемся к той, которую раздает телевизор или Miracast-приемник. Вынимаем панель быстрого доступа и выбираем блок AirPlay. Выбираем экран, который будет принимать отправленный сигнал.

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

Открываем настройки телевизора и находим пункт Miracast. Он может быть в том разделе, который связан с глобальной сетью или Wi-Fi сетью.

Если нигде его не обнаружите, то это означает, что телевизор не осуществляет поддержку технологии. Однако возможности телевизора можно расширить. Для этого нужно купить маленькое специальное устройство — Miracast-приемник. Подключите его к телевизору через HDMI или USB. И тогда поддержка Miracast в телевизоре появится.

Далее активируем функцию. На разных моделях она может включаться по-разному. То есть способ включения может отличаться. Когда кнопка, включающая Miracast, найдена, дождитесь момента, когда телевизор уведомит вас о том, что его видят остальные девайсы.

4. ОС WINDOWS

- Windows 10

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

В том случае, когда технология вам нужна, но она не поддерживается, рекомендуем купить Miracast-приемник, который подключается к компьютеру с помощью USB-переходника.

ВАЖНО! Каково подключение в данном случае? Поначалу необходимо сделать подключение к сети, которую раздает телевизор. Открываем параметры системы.

Выбираем блок «Устройства». В подразделе «Подключенные устройства» нужно кликнуть по кнопке «Добавить устройство». Выбираем в перечне монитор или приемник Miracast. После недолгого процесса синхронизации вы увидите картинку на телевизоре.

В случае, когда после успешного прохождения синхронизации, изображение не появилось, необходима настройка вывода вручную. Нажимаем комбинацию Win+P на клавиатуре. Когда экран развернется, нажмем на кнопку «Подключение к беспроводному экрану» и укажем на имя телевизора.

Эта технология не поддерживается в Windows 7. Чтобы была возможность применить ее, нужно обновиться до Windows 8 или 10.

Стандарт беспроводных дисплеев Miracast позволяет пользователю отображать изображение с одного устройства на другое. Например, пользователи могут зеркально отразить дисплей своего ноутбука на экране рабочего стола или телевизора с включенным Miracast. Miracast похож на беспроводной кабель HDMI, который позволяет пользователям подключать устройства для проецирования своих дисплеев.


Что такое Miracast?


Miracast - это беспроводная технология, которая позволяет пользователю отображать экран с одного устройства на другое. Его можно описать как беспроводной кабель HDMI. Однако он работает только как протокол зеркального отображения экрана. Предположим, вы хотите использовать Miracast для потоковой передачи видео с ПК на телевизор. Экран вашего ПК должен быть постоянно включен. Miracast не имеет «умного» компонента.

Для использования Miracast вам понадобится USB-флешка Wi-Fi, или ваше устройство должно иметь встроенные функции Wi-Fi.

Эта проблема может возникнуть по следующим причинам:

  • Графическое оборудование Intel отключено.
  • Wi-Fi отключен.
  • Одно из устройств не включено для зеркалирования.
  • Беспроводной адаптер вынужден 5 ГГц.
  • Cisco AnyConnect или подобное программное обеспечение останавливает соединение Miracast. Соединение Miracast не может быть установлено, потому что стороннее программное обеспечение со встроенной функцией VPN определяет технологию Micracast как угрозу безопасности «раздельного туннеля».

Ноябрьское обновление 2021:

Теперь вы можете предотвратить проблемы с ПК с помощью этого инструмента, например, защитить вас от потери файлов и вредоносных программ. Кроме того, это отличный способ оптимизировать ваш компьютер для достижения максимальной производительности. Программа с легкостью исправляет типичные ошибки, которые могут возникнуть в системах Windows - нет необходимости часами искать и устранять неполадки, если у вас под рукой есть идеальное решение:

скачать

Запустите средство диагностики DirectX (dxdiag)


  1. Когда откроется страница средства диагностики DirectX, перейдите на вкладку «Вид» и найдите водитель модель в нижней части столбца Драйверы на правой панели. Если модель драйвера не имеет статуса WDDM 1.3 или выше, ваша система не оборудована для подключения Miracast.
  2. Вы можете выйти из страницы DxDiag.
  3. Затем щелкните правой кнопкой мыши Пуск, выберите Windows PowerShell, чтобы открыть окно PowerShell.
  4. Скопируйте и вставьте приведенную ниже команду в окно Powershell, затем нажмите Enter, чтобы убедиться, что у вас установлена ​​правильная версия драйвера сетевого адаптера:
    • Get-netadapter | выберите имя, отклик
  5. Если возвращенная версия Ndis выше 6.30, ваш компьютер оснащен поддержкой Miracast из сетевого расположения.
  6. Вы можете выйти из окна Powershell.

Изменение беспроводного адаптера на Авто


Вы можете решить проблему «Ваш компьютер не поддерживает Miracast», сбросив для выбора беспроводного режима значение Авто. Вот краткое руководство, как это сделать:

Шаг 1: Нажмите кнопки Windows + R, чтобы открыть диалоговое окно «Выполнить». Затем введите devmgmt.msc и нажмите OK, чтобы открыть диспетчер устройств.

Шаг 2. Раскройте раскрывающееся меню «Сетевой адаптер», щелкните правой кнопкой мыши адаптер беспроводной сети и выберите «Свойства».

Шаг 3: Перейдите на вкладку «Дополнительно», выберите свойство «Выбор беспроводного режима» и установите значение «Авто».

Шаг 4: Нажмите OK и дождитесь восстановления сетевого подключения.

Затем перезагрузите компьютер и проверьте, можете ли вы использовать функцию Miracast.

Убедитесь, что Wi-Fi включен на обоих устройствах.

Хотя это очевидно, многие пользователи решили проблему, обнаружив, что компонент Wi-Fi был отключен на одном (или на обоих) устройствах, участвующих в попытке подключения Miracast.

Поскольку он использует Wi-Fi Direct, он не обязательно требует подключения обоих устройств к одной и той же сети, но вы должны убедиться, что Wi-Fi включен на всех устройствах.

  • Чтобы убедиться, что Wi-Fi включен на ПК с Windows 10, нажмите Windows + R, чтобы открыть диалоговое окно «Выполнить».
  • Затем введите или вставьте «ms-settings: network-wifi» и нажмите Enter, чтобы открыть вкладку Wi-Fi в меню «Настройки сети и Интернета».
  • Если вы находитесь на вкладке Wi-Fi, убедитесь, что переключатель, связанный с Wi-Fi, включен.

CCNA, веб-разработчик, ПК для устранения неполадок

Я компьютерный энтузиаст и практикующий ИТ-специалист. У меня за плечами многолетний опыт работы в области компьютерного программирования, устранения неисправностей и ремонта оборудования. Я специализируюсь на веб-разработке и дизайне баз данных. У меня также есть сертификат CCNA для проектирования сетей и устранения неполадок.

Наконец-то я разобрался с функцией беспроводного дисплея в Windows 10. Пол дня все подключал и проверял, чтобы подготовить для вас статью с проверенной информацией. Ну и конечно же с фото и скриншотами.

Есть две основные технологии: Miracast и Intel WiDi (компания Intel прекратила разработку этой технологии) , с помощью которых можно выводить изображение и звук с компьютера, ноутбука или мобильных устройств по Wi-Fi. Проще говоря, использовать телевизор (проектор, монитор) , как беспроводной дисплей. Фишка в том, что с помощью этих технологий можно не просто вывести на экран "по воздуху" фильм, или фото (как в случае с DLNA) , а транслировать все, что происходит на основном мониторе компьютера, или экране ноутбука.

Miracast на ПК или ноутбуке

Беспроводной дисплей, в роли которого чаще всего выступает телевизор, работает так, как будто он подключен по HDMI кабелю. Можно дублировать изображение, расширить экран и т. д. И все это без проводов. Есть так же мониторы с поддержкой Miracast.

Функция "Беспроводной дисплей" в Windows 10 выводит изображение по технологии Miracast. Но, почему-то при подключении, на телевизоре у была надпись "Intel's WiDi". Как оказалось (прочитал на сайте Intel) , они прекратили разработку и поддержку технологии Intel® WiDi. И сообщают о том, что в Windows 8.1 и Windows 10 уже изначально есть поддержка Miracast, которую можно использовать для подключения беспроводных дисплеев без дополнительных программ.

Чтобы все работало, должна быть поддержка Miracast на уровне железа и драйверов. Wi-Fi адаптер, который встроен в вашем ноутбуке, или подключен к ПК, должен поддерживать функцию беспроводного дисплея. Так же такая поддержка должна быть у видеоадаптера.

Я проверял на таком оборудовании:

  • ПК с процессором Intel Core i3-6098P и видеокартой GeForce GTX 750Ti. Wi-Fi адаптер TP-Link TL-WN725N V2.
  • Ноутбук со старым процессором Intel Core i3 третьего поколения и встроенным видео Intel HD Graphics 4000. Видеокарта NVIDIA GeForce GT 635M. Wi-Fi адаптер тот же TP-Link TL-WN725N V2. Так как через встроенный в ноутбук адаптер не работает.
  • В качестве беспроводного дисплея использовал телевизор LG. Модель еще 2012 года, но с поддержкой Miracast и Intel WiDi. Как оказалось, в новом и навороченном телевизоре Philips нет встроенной поддержки Miracast. Если в вашем телевизоре так же нет поддержки этой технологии, то можно использовать Miracast адаптер.
Данное соединение работает без роутера, напрямую. Нет необходимости подключать компьютер (ноутбук) и телевизор к одному маршрутизатору.

В этой статье я сначала покажу, как включить Miracast в Windows 10 и как подключиться к беспроводному дисплею. Затем, рассмотрим решения возможных проблем и ошибок.

Подключение к беспроводному дисплею (телевизору) в Windows 10 по Miracast

Нажмите на клавиатуре сочетание клавиш Win + P (английская) . Справа должно появится окно с разными вариантами вывода изображения. И там должен быть пункт "Подключение к беспроводному дисплею". Нажимаем на него. Если такого пункта нет, то скорее ваше железо или драйвер не поддерживает эту функцию. В конце статьи напишу об этом более подробно, и покажу, как выполнить проверку.

Подключение к беспроводному дисплею

Начнется поиск беспроводных дисплеев и аудиоустройств.

Скорее всего, нужно включить функцию Miracast/Intel WiDi на телевизоре. В старых моделях LG, это делается в меню, в разделе "Сеть". Вот так:

Активация Miracast и Intel WiDi на телевизоре

На новых моделях LG, скорее всего эти настройки выглядят иначе. На телевизорах Samsung, в меню выбора источника сигнала нужно выбрать "Screen Mirroring" (возможно, не на всех моделях) . На ТВ от Sony – "Дублирование экрана" в источниках сигнала (отдельная кнопка на пульте) . На телевизорах Philips: в разделе "Настройки" - "Параметры сети" - "Wi-Fi Miracast". Но на моем, который с Android TV такого пункта нет.

Если в вашем телевизоре нет встроенной поддержки Miracast, то можно купить отдельный Miracast (Mirascreen) адаптер. Он подключается в HDMI-порт телевизора. Принимает изображение и звук и выводит его на телевизор.

Телевизор должен появится в результатах поиска. Просто выбираем его и пойдет процесс подключения.

Подключение ноутбука к телевизору по Miracast в Windows 10

Там будет надпись "Выполните инструкции на экране устройства". В моем случае, на телевизоре нужно подтвердить подключение компьютера.

Подключение компьютера к телевизору LG по Miracast

Телевизор как монитор для ПК и ноутбука по Wi-Fi

Если с первого раза не удалось подключиться – не сдавайтесь. Попробуйте еще раз. Перезагрузите устройства. У меня с первого раза тоже что-то не законектилось.

Можно изменить режим проекции. Например, расширить экраны, или использовать только второй (телевизор, который по Miracast подключен) . Или же дублировать изображение на оба экрана.

Управление беспроводным дисплеем в Windows 10

Там же можно отключиться от беспроводного дисплея.

Подключение через добавление нового устройства в параметрах

Есть еще один способ. В параметрах перейдите в раздел "Устройства" и выберите пункт "Добавление Bluetooth или другого устройства". Затем нажмите на "Беспроводной дисплей или док-станция".

Беспроводной дисплей или док-станция в Windows 10

Включите Миракаст на телевизоре и он должен появится в списке. Выбираем свой телевизор и устанавливаем подключение.

Добавление нового устройства: беспроводной экран

Может кому-то этот способ больше подойдет.

Управление звуком при подключении по Miracast

Как и по HDMI кабелю, по Miracast так же передается звук. У меня, сразу после подключения, звук с компьютера выводился через динамики телевизора. По умолчанию было устройство "Digital Output". И это не всегда удобно. Поэтому, чтобы звук воспроизводителя через динамики ноутбука, или колонки, нужно просто поменять устройство воспроизведения по умолчанию.

Звук с компьютера по Miracast и Intel WiDi

После этого, звук будет воспроизводится через динамики компьютера. Если понадобится, то можно обратно сделать "Digital Output" устройством по умолчанию.

Не работает Miracast и нет пункта "Подключение к беспроводному дисплею"

В новых версиях, просто нет пункта "Подключение к беспроводному дисплею" в меню "Проецировать", которое открывается сочетанием клавиш Win + P.

Не работает Miracast в Windows 10

Скорее всего, нет поддержки Miracast на уровне Wi-Fi адаптера. Вот у меня, например, через встроенный в ноутбуке Wi-Fi модуль нет возможности подключится к беспроводному дисплею. Ноутбук, правда, не новый. Где-то 2012-13 года. А после подключения Wi-Fi адаптера TP-Link TL-WN725N V2 все работает.

Чтобы данная функция работала, нужна поддержка на стороне Wi-Fi адаптера и графического адаптера (видеокарты) . Как на уровне железа, так и драйвера. Это легко проверить.

Запустите командную строку и выполните команду netsh wlan show driver.

В результатах будет строчка "Поддерживается беспроводной дисплей:" С заводским (старым) Wi-Fi модулем на ноутбуке у меня такой результат:

Проверка поддержки функции беспроводной дисплей

Как видите, нет поддержки. Графический драйвер поддерживает, а Wi-Fi – нет.

А вот уже результат проверки с другим Wi-Fi адаптером:

Поддержка беспроводного дисплея Wi-Fi адаптером

И при такой конфигурации все отлично работает.

Что можно сделать:

  • Обновить драйвер Wi-Fi адаптера. Маловероятно, но вдруг сработает. Вот инструкция: обновление (установка) драйвера на Wi-Fi в Windows 10.
  • Если по результатам проверки проблема только в Wi-Fi, то можно заменить сам Wi-Fi адаптер. Но я заметил, что в характеристиках просто не указывают, есть ли поддержка беспроводного дисплея, или нет. На TP-Link TL-WN725N второй аппаратной версии (V2) все работает. Но я уверен, что есть большое количество других адаптеров с поддержкой Miracast. Нужно искать.
  • Возможно, вам будет проще подключить телевизор по HDMI кабелю.

Рассмотрим еще одну проблему.

Не удалось подключиться к беспроводному дисплею

Компьютер находит телевизор, выбираем его, долго идет подключение и появляется ошибка "Не удалось подключиться". Или компьютер не видит телевизор и он не отображается в списке доступных устройств.

Windows 10: не удалось подключиться к беспроводному дисплею (телевизору)

У меня тоже несколько раз появлялась эта ошибка. Сложно сказать, с чем это связано. Обязательно попробуйте установить подключение еще раз.

  • Перезагрузите компьютер и отключите на пару минут питание телевизора.
  • Возможно, это из-за плохого сигнала. Если есть возможность, сократите расстояние между компьютером и телевизором. Проверьте, активна ли функция Miracast (или что-то в этом роде) на телевизоре.
  • Обновите драйвер Wi-Fi адаптера. Ссылку на инструкцию я давал выше.
  • Если есть возможность, попробуйте подключиться к другому телевизору, который так же может работать как беспроводной дисплей.

Обновление: Евгений в комментариях поделился решением, которое, как оказалось, помогло не только ему. Проблема была следующая: компьютер находил телевизор, как показано в инструкции выше. Но при попытке подключится на телевизоре мигал экран и появлялась ошибка: "Запрос на подключение от . завершился неудачно. Можно повторить попытку с мобильного устройства".

Помогло отключение дискретной видеокарты в диспетчере устройств. Не знаю, насколько это правильное решение, ведь мы по сути отключаем производительный видеоадаптер. Но похоже, это работает. Можете попробовать. Заходим в диспетчер устройств и отключаем дискретную видеокарту, оставив работать интегрированную.

Ошибка "Запрос на подключение от . завершился неудачно" при подключении беспроводного дисплея

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

Если не помогло – сделайте наоборот, отключите встроенную видеокарту (обычно это Intel HD Graphics) и оставьте включенной дискретную.

Обновление: отключаем антивирус и брандмауэр

Уже появилось несколько комментариев, что Miracast в Windows 10 начал работать после отключения антивируса или брандмауэра.

Miracast в Windows 10 не работает из-за антивируса

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

Много времени и сил я потратил на эту статью. Надеюсь, не зря. Если вам есть что добавить, или хотите задать вопрос, то жду вас в комментариях. Всего хорошего!

Не так давно (начиная с JellyBean 4.2) Google добавила в Android поддержку технологии Miracast.
Практическому исследованию этой технологии методами reverse engineering и посвящена статья.

Что такое Miracast в двух словах? Это очередное детище Wi-Fi альянса — стандарт для передачи мультимедийного контента по сети Wi-Fi в peer-to-peer режиме. Для пользователя это означает прежде всего то, что для соединения с телевизором (к примеру) ему не понадобится Wi-Fi маршрутизатор. Два устройства по задумке альянса должны связываться друг с другом напрямую. Это обеспечивается использованием стандарта Wi-Fi Direct за авторством той же организации. Иными словами, новый стандарт решает задачи очень похожие на AirPlay от Apple, WiDi от Intel, или старое-доброе DLNA.

Зачем было городить огород — спросите вы. Почему было не воспользоваться уже существующим решением? Тут мне будет трудно ответить. Понятно, что лицензировать решения от прямых конкурентов или даже от Intel — не кошерный вариант имеющий к тому же фатальный недостаток, но почему не взять то же DLNA, возможно, чуть доработав рашпилем. Быть может, хотелось чего-то новенького, с модными нонче словами peer-to-peer? Не буду гадать. Так или иначе, технология была реализована в Android, и свежие телефоны типа Nexus 4 и Samsung Galaxy S3 имеют ее на борту.

Хуже обстоит дело с производителями телевизоров. Если поддержка DLNА уже есть практически в каждом современном телевизоре достаточно высокого уровня, то с Miracast дела обстоят хуже. Несмотря на существование чипов, модели телевизоров и проекторов умеющие принимать Miracast можно пересчитать по пальцам. Впрочем, ситуация наверняка изменится в 2014 году, а пока — пользователь может довольствоваться многочисленными гаджетами, принимающими сигнал по Wi-Fi и преобразующими его в HDMI. Такая штука втыкается в HDMI-разъем телевизора, и вот уже у вас есть Miracast-enabled устройство!

Один из инженерных образцов с чипом Broadcom попал в мои цепкие руки:

внешний вид

Убедившись, что с Android-смартфоном все работает на ура, я задумался над вопросом — нельзя ли наладить вещание через Miracast прямо из под Linux? Ведь что такое Android внутри? Тот же Linux…

Для начала, хотелось понять как вообще выглядит стек протоколов Miracast? Что стоит за красивым названием? Гонится ли видео-сигнал напрямую в Ethernet-фреймах или используется IP и еще более высокоуровневые протоколы. К сожалению, сам стандарт, хоть и открытый, но далеко не бесплатный, так что пришлось изыскивать иные, более традиционные пути исследования. В какой-то презентации я ухватил ключевые слова — MPEG-TS и RTSP, и это дало возможность раскрутить клубок дальше. Если я хоть что-то в чем-то смыслю, то RTSP — это TCP, а TCP — это IP. А IP — это подходящий протокол, который можно послушать tcpdump-ом! Сказано-сделано, запустив на Nexus-е tcpdump и включив Wireless display в настройках, через 5 минут я имел дамп пакетов, приемлемый для дальнейшего анализа.

Временно отложив трудности с соединением через Wi-Fi я взялся сразу за анализ TCP-потока. И вот что увидел:

Неправда ли, напоминает обычный RTSP. Итак, часть дела сделана. Остается понять чем отличается Miracast-овская реализация RTSP от стандартной. Для тех, кто никогда не сталкивался с RTSP (Real Time Streaming Protocol) напомню, что он используется для управления мультимедийным потоком с сервера на клиенте. Сиречь — позволяет выдать такие команды как PLAY, PAUSE, TEARDOWN и т.п. Также имеется возможность обменяться опциями и настроить параметры. Именно _PARAMETER и стали основной моей головной болью при анализе. Не имея под рукой стандарта, я не мог знать, что значат все эти wfd_video_formats, wfd_audio_codecs и т.п. Но мог догадываться!

Поскольку из анализа фреймов MPEG-TS я понял, что использовалось стандартное разрешение 720x480, и кодек H.264 (AVC), то было неплохой идеей создать видеофайл с ровно такими же параметрами, и тогда поля типа wfd_video_formats можно оставить без изменения! Порывшись в DVD-дисках я перекодировал небольшой VOB из телесериала «Cracker», в нужный мне формат посредством ffmpeg. Теперь оставалось только скормить файл серверу. Но для этого нужно найти сервер!

Чтобы не писать RTSP-сервер самостоятельно (что никак не входило в мои планы) я начал просматривать Open Source варианты, которые было бы легко доработать до состояния совместимого с Miracast. Если вы внимательно смотрели на логи из tcpdump-а, то могли заметить несколько странностей. Традиционная клиент-серверная модель RTSP заменена «peer-to-peer» взаимодействием. Это значит, что активность в запросах может исходить не только от клиента (им в данном случае выступает телевизор или проектор), а и от «сервера» (то бишь телефона или компьютера). Зачем понадобилось так делать — непонятно, но факт остается фактом — и «клиент» и «сервер» могут слать запросы когда им вздумается, что сводит на нет их традиционные роли. Тем не менее, сторону которая шлет видеосигнал я буду продолжать именовать сервером (в нашем случае это Linix-PC), а сторону, принимающую и декодирующую видео — клиентом (в нашем случае — это будет проектор).

Итак, после нескольких часов поисков я остановился на live555. Этот сервер написан на С++, распространяется под лицензией LGPL и поддерживает как RTSP, так и вещание в MPEG-TS. Поглядев на обработчик RTSP я понял, что его вполне реально переработать под peer-to-peer специфику Miracast. Но, оставалось еще заставить клиента (т.е. Мiracast-гаджет) соединяться с Linux!

Эта задача была посложней «Фауста» Гёте. Прежде я никогда не настраивал в Linux-е даже обычный Wi-Fi, справедливо полагая, что провода как-то понадежнее. Что уж говорить про Wi-Fi Direct. Однако, прочитав стопку manual-ов, я понял, что надо рыть в направлении загадочного WPA supplicant. Для чего нужен этот supplicant? Именно он обеспечивает аутентификацию при подключении по Wi-Fi к точке доступа или к другому узлу. Как я уже писал выше, Miracast работает в режиме p2p, т.е. устройства связываются напрямую, минуя маршрутизаторы. Эта возможность, к счастью, поддержана в последних версиях wpa_supplicant. Не знаю точно, с какого момента была добавлена поддержка p2p, но в версии 2.1-devel она уже есть.

Однако, обновить supplicant мало! Надо еще иметь конфигурационные файлы для него. С грехом пополам я написал конфигурацию приемлемую для моего устройства (NetGear, WNA1100 Wireless-N 150 [Atheros AR9271]), возможно, она подойдет и вам.

Итак, в файле /etc/wpa_p2p.conf пишем:


Далее, нужен shell-скрип для запуска supplicant:

Вот вроде и все (уточню, что данная конфигурация работает в Ubuntu-based дистрибутиве Linux Mint 13 Maya, версия ядра — 3.2.0-57-generic).

Дальше нужно овладеть такой утилитой как wpa_cli, именно она позволяет управлять соединением «вручную».
После запуска wpa_supplicant через скрипт, нужно открыть отдельную консоль и выдать что-то вроде:

Это командный интерфейс к supplicant-у. Включив гаджет мы можем командой p2p_find найти все устройства в округе, готовые подключиться к нам в режиме p2p. Далее, используя команду p2p_connect мы производим само подключение.

Вот пример лога для моего устройства:

В принципе, из лога все понятно, кроме разве что загадочного слова 'pbc' в команде p2p_connect после адреса устройства. Что же оно значит? Это один из вариантов аутентификации при подключении по Wi-Fi direct. Означает он — Push Button Control. Это упрощенная аутентификация, не требующая от пользователя ввода пароля или даже pin-кода. Просто в момент соединения нужно нажать кнопку на устройстве, и аутентификаця будет считаться успешной.

Итак, из лога мы видим, что соединение успешно произошло. И теперь мы имеем возможность получить IP-адрес для интерфейса wlan0.
DHCP-сервером в данном случае будет выступать телевизор или проектор. Введем в отдельном терминале:

Если после этого запустить tcpdump, то мы обнаружим попытки посылки SYN-пакета на порт 7236. Этот порт отличается от стандартного порта для RTSP (554), но пугать это нас не должно. Самое главное, что гаджет хочет с нами договориться! Запустив уже слегка доработанный livemedia сервер на этом порту (7236) мы получаем возможность отлаживать собственно «клиент-серверное» взаимодействие.

Я не буду утомлять читателя подробностями отладки протокола, скажу лишь, что все проблемы так или иначе были решены. И вот, наконец, результат налицо — я смог смотреть видео со своего PC через новомодный Miracast!


Нужно ли это вам? Не знаю. Во всяком случае, разобраться в новом стандарте всегда интересно (если конечно это не ASN.1).

Для тех, кому было лень вникать в технические подробности тезисно обрисую процедуру соединения для Miracast-based устройств:

Читайте также: