Miracast: Jak wysyłać bezprzewodowo obraz i dźwięk?

Jedną z mało znanych nowości Windows 8.1, która z drugiej strony budzi bardzo duże zainteresowanie (jak ktoś już się o tym dowie) jest Miracast. Miałem okazję o tej funkcjonalności wspominać na MTS 2013 i na całej serii moich prezentacji na uczelniach w całej Polsce. I na każdej z nich padało bardzo dużo dodatkowych pytań o tą technologię i prośba o podanie więcej szczegółów.

Postanowiłem więc opisać czym jest technologia Miracast, co potrzeba do skorzystania z niej, kiedy i jak można ją użyć oraz czemu to takie fajne :) O ile sam post jeest dosyć długi (chciałem wszystko dokładnie opisać) to korzystanie później z tej technologii jest banalnie proste i szybkie.

Czym jest Miracast?

Definicyjnie to standard bezprzewodowego przesyłania obrazu i dźwięku między urządzeniami w trybie peer-to-peer (bez pośrednictwa innych sieci czy urządzeń). Działa on bez względu na producenta sprzętu czy rodzaj używanego oprogramowania / systemu operacyjnego - ważne, aby nadajnik i odbiornik wspierały tą technologię. W dużym skrócie i uproszczeniu - jest to wirtualny kabel HDMI. Wszędzie tam gdzie istnieje fizyczny kabel HDMI możecie pomyśleć o jego wyeliminowaniu za pomocą własnie Miracast.

Wi-Fi AllianceStandard stworzyło Wi-Fi Alliance, które na pewno dobrze znacie z ich znaczka Wi-Fi. Ale ich działalność jest bardzo szeroka - promują wykorzystanie technologii Wi-Fi, certyfikują urządzenia (pod kątem IEEE 802.11 i nie tylko). W ramach tej grupy współpracują ze sobą firmy takie jak Cisco, Nokia, Sony, Apple, Samsung, LG, Dell, Qualcomm czy też oczywiście Microsoft (ale i wiele innych).

Co możesz zrobić z Miracast?

Tak jak wspomniałem - Miracast to taki wirtualny kabel HDMI, więc sami możecie wymyśleć na pewno kilka zastosowań, ale te kluczowe to oczywiście bezprzewodowa transmisja obrazu z jednego urządzenia (laptop, tablet, telefon) na drugie urządzenie - najczęściej po prostu o większym ekranie (duży TV na ścianie, projektor w sali).

Już Wam świta gdzie moglibyście tego użyć ? Oglądaniu zdjęć z laptopa na dużym ekranie TV w gronie znajomych, wyświetlenie prezentacji z tabletu w sali lekcyjnej / wykładowej, obejrzenie filmu z laptopa przez projektor lub Wasz duży TV? To wszystko możecie zrealizować za pomocą Miracast.

Świetną sprawą jest to, że Miracast obsługuje tryby wysyłania obrazu z laptopa zarówno w trybie duplikacji ekranu (macie wtedy to samo na laptopie co na TV) jak i rozszerzenia ekranu (np. na laptopie macie notatki prezentacji, a sama prezentacja jest na projektorze LUB na laptopie piszecie sobie maila a jednocześniej na rozszerzonym ekranie odtwarzacie sobie film z laptopa).

Obraz transmitowany między urządzeniami jest w standardzie 1080p (Full HD) z dźwiękiem Surround 5.1 - czyli tak naprawdę bardzo dobra jakość obrazu i dźwięku. Przesyłane mogą być również media objęte DRM - np. film z płyty DVD. Po prostu przesyłane jest dokładnie to, co macie na ekranie urządzenia źródłowego. Jedyne do czego wiem, że Miracast się średnio nadaje to gry gdzie wymagana jest bardzo szybka interakcja z użytkownikiem - ponieważ obraz i dźwięk przesyłane są z minimalnym, ale jednak opóźnieniem. W wypadku wielu zastosowań nie ma to znaczenia (również przy filmach HD), ale akurat w grach może powodować pewne problemy.

Co jest potrzebne?

Sprawa jest prosta - potrzebujecie dwóch rzeczy: nadajnika i odbiornika. Jeśli oba natywnie wspierają Miracast to ich konfiguracja będzie prosta i szybka. Jeśli posiadacie komputer z Windows 8.1 (nadajnik) oraz np. telewizor z obsługą Miracast (odbiornik) - to będziecie mieli parę idealną. Ale w poście opiszę jeszcze co zrobić kiedy Wasz odbiornik nie obsługuje tego standardu.

Nadajnik - komputer z Windows

I teraz jeśli chodzi o sprzęt wspierający Miracast po stronie nadajnika. W zasadzie wszystkie nowe komputery z procesorami Intela (w tym 3 generacji Intel Atom "Bay Trail" czy 4 generacji Intel Core "Haswell") wspierają to natywnie, bo całość zaszyta jest właśnie w procesorze. Jeśli macie starszy komputer (z 3 generacją Intel Core "Ivy Bridge") to również powinniście mieć to wbudowane.

Ważne w takiej sytuacji jest to, aby mieć najnowsze sterowniki do urządzeń w komputerze (czasami oznaczone jako "opcjonalne"!). Wtedy możecie sprawdzić czy Wasze urządzenie da sobie radę czy nie (o tym w sekcji poniżej).

I jeśli macie Windows 8.1 to nie musicie zupełnie nic robić - po prostu będziecie mogli wskazać określony odbiornik w interfejsie systemu (o tym za chwilę). Jeśli macie poprzedni system czyli Windows 8 - to zachęcam do bezpłatnej aktualizacji do 8.1. Ale nawet mając Windows 8 lub Windows 7 będziecie mogli z tego skorzystać, przy czym będziecie musieli doinstalować sobie oprogramowanie Intel WiDi. Windows RT 8.1 również oczywiście wspiera tą technologię (o ile procesor pod spodem też ją wspiera - NVIDIA produkuje swoje procesory ARM ze wsparciem dla Miracast).

PS. Pisałem tu oczywiście o komputerach z Windows, ale są też inne systemy, które wspierają Miracast (np. Android) - ale tu już odeślę Was do ich pomocy technicznej lub na fora społeczności. Wiem tylko, że Android od wersji 4.2 również powinien mieć natywną obsługę Miracast.

Odbiornik - TV lub projektor

Coraz więcej sprzętu do odbioru sygnału zaczyna mieć Miracast wbudowane i w standardzie. Możecie to sprawdzić oczywiście na stronie producenta lub na ich infolinii (niektórzy producenci np. LG mają dedykowaną stronę o tym) lub bezpośrednio na stronie Wi-Fi Alliance, gdzie publikowane są listy certyfikowanych urządzeń odbiorczych. Jak znam życie to będzie się tych urządzeń pojawiało coraz więcej.

Netgear Push2TV PTV3000Ale pewnie nadal zdecydowana większość z Was może mieć z tym problem, który jednak da się dosyć prosto rozwiązać :) Ja sam byłem w tej sytuacji i postanowiłem kupić sobie bardzo małe urządzenie, które pozwala mi podpiąć dowolny TV, który tylko na złącze HDMI. Ja osobiście kupiłem Netgear Push2TV PTV3000 (koszt: około 300 PLN), ale znaleźć też możecie inne (np. ActionTec ScreenBeam Pro).

Urządzenie takie podpinamy do zasilania (z zasilacza albo po kabelku USB prosto ze złącza w TV) oraz do złącza HDMI w TV. I to praktycznie wszystko. Ja swoje urządzenie "ukryłem" za telewizorem, więc nawet nie widać go w codziennym użyciu (zasilanie mam właśnie z portu USB w TV). W ten sposób mój telewizor kupiony 6 lat temu otrzymał obsługę standardu Miracast :)

Co ważne - to samo możecie zrobić np. w biurze jeśli tylko Wasz projektor ma złącze HDMI - to zamiast wpinać tam komputer, wepnijcie po prostu tego Netgeara. A będziecie mogli chodzić po sali konferencyjnej z tabletem w ręcę i będziecie mogli transmitować obraz bezprzewodowo na ekran :) Wrażenie robi to nieziemskie.

Jak skonifgurować i używać?

Korzystanie z Miracast to dwa elementy. Po pierwsze musicie dwa takie urządzenia sparować , ale na szczęście robicie to jednorazowo - zajmie Wam to ok. 3 minuty.

Później przy kolejnych razach - po prostu wybieracie urządzenie docelowe (odbiornik) i nic więcej nie musicie robić. To zajmuje naprawdę 5 sekund i już możecie się cieszyć obrazem z Waszego komputera / tableta na wielkim telewizorze w domu :)

Parowanie urządzeń

Add a wireless displayDostęp do parowania urządzeń w Windows 8.1 dostaniemy wybierając z *** bocznego charms (Win+C) opcję Devices > Project i tam wybierasz na dole "Add a wireless device".

Uwaga: Jeśli nie widzisz tego napisu może to oznaczać, że albo Twój sprzęt (nadajnik) jednak nie obsługuje Miracast albo nie masz najnowszych sterowników do sprzętu. W tym drugim wypadku warto sprawdzić Windows Update oraz stronę producenta sprzętu (potrzebne będą sterowniki WDDM 1.3 oraz NDIS 6.4 WiFi). Warto zaktualizować również firmware.

W tym momencie nastąpi wyszukiwanie urządzeń obsługujących Miracast i jeśli wybierzesz swoje urządzenie rozpocznie się proces parowania. Na ekranie TV (odbiornik) powinieneś zobaczyć informacje o próbie podłączenia oraz kod bezpieczeństwa, który musisz podać w interfejsie Windows 8.1 (nadajniku). W tym momencie powinno nastąpić sparowanie tych urządzeń. I od tej chwili będziesz już mógł korzystać z drugiego "wyświetlacza".

Projekcja obrazu

PTV3000Po sparowaniu ten proces będziesz wykonywał za każdym razem chcąc się podpiąć do tego zewnętrznego ekranu. Wybieramy więc ponownie Charms (Win+C) > Devices > Project. I od teraz na liście powinniśmy widzieć już nasze sparowane urządzenie. Wybieramy już teraz tylko sposób przekazywania obrazu (duplikowany, rozszerzony, tylko drugi ekran) i powinno nam wszystko zadziałać.

Kiedy chcemy odpiąć ekran to albo po prostu wychodzimy z jego zasięgu albo wybieramy ponownie Project i tam wybieramy "Disconnect". Oczywiście do tego menu możemy się jak zawsze dostać z przydatnego skrótu: Win+P.

Aspekty techniczne

Jeśli bardzo Was interesują aspekty techniczne - to tu dwa słowa + odesłanie do źródeł. Otóż kiedy dwa urządzenia wspierające Miracast wyszukają się nawzajem to następuję nawiązanie połączenia point-to-point pomiędzy nimi za pośrednictwem Wi-Fi Direct. Bezpieczeństwo jest negocjowane za pomocą Wi-Fi Protected Setup (WPS) a cała komunikacja pomiędzy urządzeniami zabezpieczona jest WPA2-AES. Kiedy połączenie jest już nawiązane (na 2.4GHz domyślnie) urządzenia negocjują swoje możliwości (np. rozdzielczość czy odświeżanie ekranu) i następuje lokalne kodowanie obrazu i dźwięku i jego wysłanie do odbiornika. Ten dekoduje sygnał i po prostu go wyświetla. Czyli de facto to wszystko co widzicie na ekranie może zostać wysłane do odbiornika - więc nie jesteście ograniczeni do jakiejś aplikacji czy kawałka ekranu.

Jeśli checie jeszcze bardziej pogłębić swoją wiedzę (lub znaleźć odpowiedź na bardzo specyficzne pytanie) to zachęcam Was do odwiedzin strony poświęconej Miracast na Wi-Fi Alliance. Tam znajdziecie wiele szczegółów technicznych, często zadawane pytania oraz listę urządzeń wspierających - zarówno nadajników jak i odbiorników.

Potencjalne problemy

Spotkałem kilka potencjalnych problemów, które mogą się zdarzyć przy korzystaniu z Miracast.

Dźwięk odtwarza się na komputerze a nie TV

Może się zdarzyć, że dźwięk będzie odtwarzany na komputerze. Należy wtedy zmienić ustawienia dźwięku i miejsca jego odtwarzania - prawy przycisk na głośniku w zasobniku systemowym i "Playback devices". Tam powinniśmy wybrać (przy podłączonym odbiorniku) właśnie ten odbiornik.

Obraz się nie chce pokazać / Nie nawiązuje się połączenie

To jest jeden z problemów, który zajął mi ponad 2 godziny szukania przyczyny :) Nie mogłem za nic dojść czemu w domu wszystko działa, a w pracy nie mogłem się podłączyć praktycznie do takiego samego sprzętu (monitora). Dłuższe grzebanie zawiodło mnie do... Windows Firewall. Okazało się, że w naszej sieci firmowej zablokowane jest korzystanie z Wireless Display (nie mam pojęcia czemu). Przez to niestety nadajnik nie mógł się połączyć z odbiornikiem bo cały ruch był wycinany w tym miejscu. Niestety w związku z tym, że na firewalla w sieci firmowej wpływu nie mam - to jedyny workaround jaki mam - to po prostu przy potrzebie skorzystania z tego w sali konferencyjnej w biurze odpinam się od sieci firmowej. Sugeruję więc sprawdzić w razie potrzeby to, czy nie zostało to wycięte tu właśnie.

Firewall: Wireless Display

Szum na ekranie lub czarny ekran

Niestety w związku z tym, że obraz przesyłany za pomocą Miracast jest kodowany, to może się zdarzyć, że gdy korzystacie z urządzenia typu Netgear i podpięliście tam projektor - to obraz będzie wyglądał jak szum. Jest to problem związany z funkcją HDCP w HDMI. Ma ona za zadanie chronić treści przed ich niuprawnionym wykorzystaniem. Niestety powoduje to, że jeśli podepniecie takie urządzenie do kabla HDMI, który później przechodzi przez jakiś splitter syganału (częsta sytuacja na konferencjach i w salach konferencyjnych) - to HDMI wykrywa próbę przesłania sygnału na inne urządzenia i zaczyna kodować obraz. Mi niestety przez to zabezpieczenie nie udało się pokazać Miracast na MTS 2013 :(

Transmitowany obraz jest kiepskiej jakości

Jeśli obraz jest transmitowany, ale jest kiepskiej jakości (np. są pojedyńcze klatki, itp.) - warto spróbować zmienić rozdzielczość w komputerze na niższą.

Inne problemy?

Nie jestem specjalistą w tym temacie, nie znam też wszystkich szczegółów tej technologii, ale jeśli macie jakieś problemy - piszcie, a spróbuję Wam pomóc. Sugerowałbym jednak zawsze zacząć od sprawdzenia czy Wasz sprzęt wspiera Miracast i czy macie najnowsze sterowniki.

Mam nadzieję, że tym (przydługim) postem udało mi się opisać tą fantastyczną moim zdaniem technologię i dacie się do niej przekonać i sami spróbujecie w domu jak wygląda i jak działa. A później już tylko krok do tego, żeby zabrać ze sobą taki sprzęt na jakieś spotkanie i spowodować wyjście oczu z orbit Waszych słuchaczy ;)