Jak wiadomo komputerek Raspberry PI ma wiele różnych zastosowań. Jednym z tych zastosować to multimedia, dość często komputerek wykorzystywany jest jako MediaCenter ( XBMC ) za pomocą oprogramowania: OSMC, Kodi, OpenElec. Oprogramowanie to jest dość wygodne, gdyż ma dostosowane GUI do dużych TV, jednak materiał z niektórych serwisów internetowych jak np. popularny cda.pl jest niedostępny a uruchamiany bezpośrednio w przeglądarce na jednym z systemów pod Raspberry daje nam 5-10FPSów co uniemożliwia oglądanie filmów. Rozwiązaniem może być streaming z komputera PC do Raspberry dodatkowo możemy wykorzytać ten streaming nie tylko do oglądania filmów wymagających większej mocy od CPU/GPU ale także do streamowania gier 🙂
Aby obraz stremowany z PC do Raspberry był w FULL HD w 30FPS zastosujemy połączenie po kablu Ethernet. Na komputerze PC wymagana także będzie karta firmy Nvidia – producent dodał odpowiednie oprogramowanie, które sprzętowo wykorzystuje GPU w celu kodowania materiału z małym narzutem na CPU. Użytkownicy innym kart pozostaje streaming z wykorzystanie programu Splashtop. Do testów wykorzystałem Raspberry Pi 2 ( Ubuntu Mate ) i komputer PC ( Windows 8.1 ) z kartą Nvidia GeForce GTX 650 Ti.
Instalacja oprogramowania na Raspberry Pi
+ Instalacja z repozytorium
Najprostszą metodą będzie instalacja pakietów z repozytorium. Niestety w momencie pisania tego tekstu pakiet z repozytorium był niedostępny..
Na początku dodajemy do pliku: /etc/pat/sources.list poniższe repozytorium:
deb http://archive.itimmer.nl/raspbian/moonlight wheezy main
Aktualizujemy pakiety:
sudo apt-get update && apt-get upgrade
i instalujemy nasz pakiet:
sudo apt-get install moonlight-embedded
+ Instalacja ze źródeł
Ściągamy źródła ze strony: https://github.com/irtimmer/moonlight-embedded/releases – mają to być pełne źródła wraz z bibliotekami, plik nazywa się: moonlight-embedded-2.1.2.tar.xz
Na początku instalujemy biblioteki w wersji deweloperskiej jak i dynamiczne:
sudo apt-get install [NAZWA_PAKIETU]
Lista wymaganych bibliotek deweloperskich niezbędnych do skompilowania kodu:
- libssl-dev
- libopus-dev
- libasound2-dev
- libudev-dev
- libavahi-client-dev
- libcurl4-openssl-dev
- libevdev-dev
- libexpat1-dev
- cmake
- rbp-userland-dev-osmc (Raspberry Pi and OSMC)
- libraspberrypi-dev (Raspberry Pi and Raspbian)
- fakeroot (Package creation)
- debhelper (Package creation)
Lista niezbędnych bibliotek dynamicznych niezbędnych do działania już skompilowanego programu:
- libopus0
- libexpat1
- libasound2
- libudev0
- libavahi-client3
- libcurl3
- libevdev2
- rbp-userland-osmc (Raspberry Pi and OSMC)
- libraspberrypi0 (Raspberry Pi and Raspbian)
Po instalacji powyższych bibliotek rozpakowywujemy źródła i wykonujemy poniższe polecenia:
mkdir build cd build/ cmake ../ make make install
Po zainstalowaniu programu, uruchamiamy go w konsoli, sprawdzając czy przypadkiem nie ma jakiś nieoczekiwanych błędów:
moonlight
Jeśli będzie problem z uruchomieniem moonlight poprzez poniższy błąd:
moonlight: error while loading shared libraries: libgamestream.so.0: cannot open shared object file: No such file or directory
wykonujemy poniższe polecenie:
sudo ldconfig
Jeśli nie ma dźwięku sprawdź czy działa ALSA:
sudo aplay /usr/share/sounds/alsa/Front_Center.wav
Uruchamianie Streaming
Z poziomu Raspberry Pi kontrolujemy streaming z poziomu konsoli za pomocą aplikacji moonlight działającej w trybie tekstowym.
Logujemy się na Raspberry lokalnie lub zdalnie przez ssh po czym parujemy nasze maszyny. W opcji pair oczywiście podajemy IP naszego komputera ( mój miał IP 192.168.1.10 ). Jeśli nie znasz IP swojego komputera to uruchom CMD i wpisz w konsoli Windows: ipconfig
moonlight pair 192.168.1.10
Aby udostępnić jakąkolwiek aplikację czy to grę czy przeglądarkę internetową należy ją dodać w programie Nvidia Geforce Experience ( lewy dolny róg ekranu – w zasobniku ). Poniżej zrzut ekranu pokazujący program z oknem w którym dodaje się aplikacje udostępniane do streamingu.
Sprawdzamy listę dodanych aplikacji, które mogą być streamowane z komputera na Raspberry:
moonlight list
Następnie uruchamiamy streaming z podaniem nazwy aplikacji z listingu ( uwzględniane są wielkości liter ! ):
moonlight stream -1080 -30fps -app "NAZWA_APLIKACJI"
Jeśli wybierzemy FULL HD czyli 1080 należy łączyć się z malinką za pomocą karta Ethernet, gdyż po WIFI będą gubione klatki. Ethernet 100Mb/s w zupełności wystarczy do streamowania w FULL HD.
Może się pojawić komunikat:
Can't open configuration file: hosts/192.168.1.14.conf
Jednak jest on nie szkodliwy i nie przeszkadza podczas streamingu video.
Słowa kluczowe: streaming gier, stream video, cda.pl, streaming filmów, youtube, raspberry Pi