Zapewne spora część z Was korzysta z aplikacji Plex lub Emby. Zasada działania takich programów jest prosta – użytkownik instaluje serwer, dodaje pliki multimedialne i korzysta z nich na różnych urządzeniach w sieci, zazwyczaj lokalnej. Jest to doskonałe rozwiązanie, gdy posiadamy w domu smart TV, gdyż aplikacje są dostępne na większość obecnie używanych systemów operacyjnych. Konfiguracja zazwyczaj nie jest przesadnie skomplikowana, a darmowe wersje programów pozwalają na cieszenie się ulubionymi filmami i serialami, które zgraliśmy z kolekcji DVD lub Blu-Ray.
{reklama-artykul}Okazuje się jednak, że korzystanie z serwera na komputerze osobistym ma pewne minusy. Po pierwsze, urządzenie klasy PC pobiera zazwyczaj sporo prądu w porównaniu do np. Raspberry Pi. Po drugie, komputer musi być włączony w momencie oglądania filmu lub serialu. Po trzecie, przestrzeń dyskowa kończy się nadzwyczaj szybko, gdy przechowujemy filmy w Full HD lub 4K.
Jeśli posiadamy komputer z Linuksem lub nawet urządzenie z Androidem, to w prosty sposób możemy skonfigurować je, aby stało się serwerem Emby. Dzięki rclone możliwe będzie również wykorzystanie jednego z dostawców rozwiązań serwerowych (Google Drive, Dropbox, OneDrive, 1fichier i inne) do przechowywania plików multimedialnych. Emby lub Plex, oprócz filmów pozwalają na przechowywanie muzyki i zdjęć. Chmura nie jest rozwiązaniem tanim, gdyż sensowna przestrzeń dyskowa kosztuje zazwyczaj od kilkudziesięciu do kilkuset złotych miesięcznie. Istnieją jednak sposoby aby ten problem obejść, jednak ze względów etycznych nie będę o nich wspominał.
Jako przykład skorzystam z darmowego konta Google, które zapewnia 15 GB przestrzeni na pliki. Rclone nie posiada limitu podpiętych kont, więc nic nie stoi na przeszkodzie, aby korzystać z więcej niż jednego konta na raz. Jeśli chmura nie jest rozwiązaniem, które nas interesuje, to zawsze można pozostać tradycjonalistą i podłączyć do komputera dysk twardy.
Aby stworzyć serwer Emby na komputerze z Linuksem potrzebujemy trzech składników:
Czym w zasadzie jest rclone? Według twórców jest to “szwajcarski scyzoryk do rozwiązań chmurowych”… i jest to perfekcyjnie adekwatne określenie. Rclone to program, który wywołujemy z wiersza poleceń/terminala, a jego zadaniem jest synchronizacja plików na naszym dysku twardym z tym, co wgraliśmy na chmurę. Bardzo istotne jest to, że po zamontowaniu dysku nie tracimy przestrzeni dyskowej, gdyż program tworzy tylko odwołania. Można za jego pomocą w prosty sposób wygodnie modyfikować pliki bez konieczności użytkowania interfejsu graficznego, czyli zazwyczaj zasobożerne strony internetowej.
Instalacja rclone’a, czyli szwajcarskiego scyzoryka do rozwiązań chmurowych
Instalacja rclone jest bardzo prosta i ogranicza się do wpisania jednej komendy:
curl https://rclone.org/install.sh | sudo bash
Po wpisaniu hasła superusera, instalacja trwa kilka sekund.
Pora na skonfigurowanie naszego pierwszego tzw. remote’a. Chcemy, aby rclone miało pełny dostęp do naszego dysku Google. Wpisujemy następującą komendę:
rclone config
Wybieramy opcję New remote, czyli “n” i podajemy nazwę w polu “name”. Dla przykładu nazwijmy nasz remote “dyskgoogle”.
Kolejnym krokiem jest wybór dysku Google z listy wspieranych projektów. Nic nie stoi na przeszkodzie, abyście wybrali inne rozwiązanie np. 1fichier, który oferuje 1 terabajt przestrzeni dyskowej za 22 euro rocznie. Dysk Google znajduje się pod liczbą 13.
Po wpisaniu 13 i naciśnięciu Enter, rclone wyświetli kilka opcji konfiguracyjnych, które można pozostawić bez odpowiedzi. Są to pola client_id i client_secret.
Ważną decyzją jest ustawienie poziomu uprawnień dla programu. Jeśli nie posiadamy na Dysku Google żadnych ważnych plików, które możemy w mniej lub bardziej przypadkowy sposób usunąć, to śmiało można wybrać opcję “Full access all files, excluding Application Data Folder”. Wybieramy opcję numer 1.
Następnym krokiem jest dwukrotne naciśnięcie Enter przy polach “root_folder_id” oraz “service_account_file”. Przy pytaniu “Edit advanced config” wybieramy “n”, gdyż nasza konfiguracja nie wymaga zaawansowanych ustawień. Ważna jest odpowiedź na pytanie “Use auto config?”. System pyta nas, czy otworzyć przeglądarkę w celu skonfigurowania dysku Google. Jeśli korzystamy z Linuksa i konfigurujemy go na naszym komputerze z dostępem do przeglądarki, to można wybrać odpowiedź “Yes”. W moim przypadku połączenie odbywa się przez SSH, więc wyborem jest “No”.
Po wyborze opcji “n”, rclone wyświetli link, który należy skopiować i wkleić do przeglądarki internetowej. Link zaznaczamy myszką i kopiujemy kombinacją Ctrl + Shift + C. Po wklejeniu powinny pojawić się nam następujące ekrany:
Aby dokończyć konfigurację rclone, potrzebujemy kodu, który ukazał się na trzecim ekranie. Wystarczy kliknąć przycisk kopiowania i wkleić wartość do terminala w polu “Enter verification code”.
Jeśli korzystamy z konta prywatnego, to na pytanie “Configure this as a team drive?” odpowiadamy “n”. W przypadku korzystania z konta współdzielonego (konta firmowe często nie mają limitu danych), warto odpowiedzieć “y”.
Jeśli wszystko jest w porządku, to odpowiadamy “y” na ostatnie pytanie i wychodzimy z kreatora opcją “q”.
W tym momencie możemy przetestować, czy nasze konto jest poprawnie skonfigurowane. Spróbujmy wysłać testowy, pusty plik za pomocą komendy rclone.
Aby stworzyć testowy plik, wpisujemy komendę: touch dummy.txt
Stworzony plik kopiujemy na serwer następującym poleceniem:
clone copy dummy.txt dyskgoogle:/
Struktura polecenia jest dość prosta. Wybieramy co chcemy zrobić z plikiem copy w celu skopiowania, move w celu przeniesienia. Drugim elementem jest wybór pliku lub folderu, a trzecim wybór naszego remote’a i folder, gdzie chcemy plik skopiować. Powyższa komenda kopiuje plik do folderu głównego. Jeśli wszystko poszło jak należy, to plik powinien pojawić się na Dysku Google.
Ostatnim krokiem jest zamontowanie naszego remote’a, jako folder na urządzeniu aby umożliwić Emby lub Plexowi dostęp do plików. Emby wymaga flagi –allow-other, która nie jest domyślnie ustawiona w konfiguracji rclone. Aby stworzyć skrypt, który automatycznie zamontuje nasz folder przy starcie systemu musimy edytować plik /etc/fuse.conf. Za pomocą ulubionego edytora, np. Nano, usuwamy komentarz “#” z linii user_allow_other i zapisujemy poprzez naciśnięcie Ctrl + O i Ctrl + X.
# /etc/fuse.conf – Configuration file for Filesystem in Userspace (FUSE)
# Set the maximum number of FUSE mounts allowed to non-root users.
# The default is 1000.
#mount_max = 1000
# Allow non-root users to specify the allow_other or allow_root mount options.
user_allow_other
Tworzymy folder, gdzie będziemy przechowywać dane np. /mnt/dyskgoogle
mkdir /mnt/dyskgoogle
Oraz tworzymy skrypt, który będzie montował automatycznie folder.
sudo nano /etc/systemd/system/rclonemount.service
W treści wklejamy następujący tekst, modyfikując pola User i Group, gdzie wprowadzamy dane użytkownika.
[Unit]
[Service]
Type=simple
[Install]
Zapisujemy plik i dodajemy skrypt do systemctl.
sudo systemctl enable rclonemount.service
Na sam koniec uruchamiamy skrypt:
sudo service rclonemount start
Jeśli wszystko jest skonfigurowane poprawnie, to po wpisaniu ls /mnt/dyskgoogle/ powinniśmy zobaczyć listę plików na Dysku Google. W międzyczasie wgrałem tam jeden z plików video.
Instalacja Emby, czyli programu do obsługi sieciowych plików multimedialnych
Uporawszy się z rclone, pora przejść do instalacji serwera multimedialnego. Mój wybór padł na Emby, który oprócz tego, że posiada klienta na niemal każdą platformę, to bardzo dobrze współgra z Kodi, którego jestem wiernym fanem.
Instalacja i konfiguracja Emby nie jest aż tak skomplikowana jak rclone. W celu pobrania najnowszej wersji serwera należy udać się na stronę programu. Gdzie odnajdujemy interesującą nas architekturę i kopiujemy link do pliku.
W moim przypadku architekturą jest arm64. Plik dpk pobieramy za pomocą narzędzia wget.
Po pobraniu instalujemy pakiet wedle instrukcji, czyli następującą komendą.
sudo dpkg -i emby-server-deb_4.4.3.0_arm64.deb
Po kilku chwilach Emby jest gotowe do użycia. Aby dostać się do panelu konfiguracyjnego wystarczy wpisać w przeglądarce adres IP urządzenia, na którym zainstalowany jest serwer i dodać port 8096. Program wspiera język polski i jest bardzo łatwy w obsłudze.
Filmy dodajemy poprzez naciśnięcie przycisku “New Library”. Kolejne okienko to wybór rodzaju treści (np. filmy lub seriale) oraz skonfigurowanie foldera, w którym przechowywane są nasze treści. W naszym przypadku jest to /mnt/dyskgoogle, gdzie przechowywane są filmy z Dysku Google.
Na końcu akceptujemy postanowienia regulaminu i możemy cieszyć się dostępem do biblioteki filmów. Aby ułatwić zadanie Emby, warto filmy przetrzymywać w folderach nazwanych, tak jak sugeruje to TMDB. Unikniemy tym sposobem konieczności identyfikowania mediów w edytorze metadanych.
Filmy można odtwarzać na wielu urządzeniach np. przeglądarkach lub smartfonach. Jeśli korzystamy z sieci Wi-Fi, to Emby powinno zostać automatycznie wykryte przez podłączone urządzenia. Warto nadmienić, że format filmów ma znaczenie. Niektóre urządzenia/przeglądarki nie wspierają kodowania HEVC, przez co plik video podlega transkodowaniu na wspierany format. W przypadku korzystania z Raspberry Pi jako serwera może to doprowadzić do bardzo niskiej responsywności urządzenia, gdyż nie posiada ono odpowiedniej mocy obliczeniowej do przeprowadzenia tak skomplikowanej operacji. Dobrym rozwiązaniem jest więc Kodi, które bez problemu radzi sobie niemal z każdym z ówcześnie stosowanym formatem audio i video.
Czy myślicie, że Emby lub Plex to dobre rozwiązania? Czy korzystacie z nich na co dzień? Czekamy na Wasze opinie w komentarzach!
Grafika: Unsplash / Emby LLC