Streaming z komputera PC na Raspberry Pi

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.

Gry Filmy Streaming i Raspberry Pi

Streaming Video

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

Dodaj komentarz