Streaming Media Server απο το PC στην τηλεόραση με το gerbera

Θέλω να παίξω τα βίντεο που έχω στον υπολογιστή μου στην τηλεόραση με χρήση ενός Android TV Box. Στο σημείωμα αυτό θα δούμε πως μπορούμε να το κάνουμε με το gerbera ένα Media Server.

Εγκατάσταση του gerbara

Το σύστημα της δοκιμής είναι ένα Pop OS. Στα αποθετήρια η έκδοση που υπάρχει είναι πολύ παλιά και δε δούλεψε σωστά με τις συσκευές. Αλλά υπάρχει ευτυχώς ένα PPA.

Για την εγκατάσταση:

wget -qO- https://gerbera.jfrog.io/artifactory/api/gpg/key/public  >  gerbera.asc
sudo mv  gerbera.asc/etc/apt/trusted.gpg.d/gerbera.asc
sudo apt-add-repository https://gerbera.jfrog.io/artifactory/debian

και μετά

sudo apt updtate
sudo apt install gerbera ffmpegthumbnailer

Ρύθμιση

Θα βρούμε ένα αρχείο ρυθμίσεων στη θέση /etc/gerbera/config.xml. Θα κάνουμε κάποιες αλλαγές:

  <server>
    <ui enabled="yes" show-tooltips="yes">
      <accounts enabled="no" session-timeout="30">
        <account user="" password=""/>
      </accounts>
    </ui>
    <name>Cosmic</name>
    <port>10000</port>

Ενεργοποίησα το web interface, και όρισα μια σταθερή πόρτα για να το βρίσκω. Θα βρω το Web Interface στη διεύθυνσή http://192.168.X.X:10000/. Δεν είναι προσβάσιμο με localhost. Αν θέλω να το αλλάξω θα προσθέσω ένα <ip>127.0.0.1</ip>, αλλά δε θα είναι μετά προσβάσιμο απο άλλους υπολογιστές. Συνιστώ να έχει ο υπολογιστής μια σταθερή IP.

Θα βρεις τη σωστή διέυθυνση στο αρχείο: /var/lib/gerbera/gerbera.html

Σημαντικό:
Κάθε φορά που κάνουμε αλλαγές θα πρέπει να επανεκινούμε την υπηρεσία συστήματος, με την εντολή

sudo systemctl daemon-reload
sudo gerbera --check-config --cfgdir /etc/gerbera/
sudo systemctl restart gerbera.service

και βέβαια μπορούμε να βλέπουμε τι συμβαίνει με την εντολή

journalctl -f -u gerbera.service

Στην περίπτωση μου μετά την εγκατάσταση από το PPA έπρεπε να σβήσω την παλιά βάση δεδομένων /var/lib/gerbera/gerbera.db.

Για αυξημένη ασφάλεια

Για αυξημένη ασφάλεια προσθέτουμε ένα χρήστη gerbera στο σύστημα (αν δεν υπάρχει ήδη)

> sudo useradd --system gerbera
sudo chown -Rv gerbera:gerbera /etc/gerbera

και ενημερώνουμε το αρχείο ρυθμίσεων. Οι φάκελοι με τα Video, τις εικόνες και τη μουσική, θα πρέπει βέβαια να είναι προσβάσιμοι για αυτόν τον χρήστη. Ισχύουν τα γνωστά για με τα δικαιώματα πρόσβασης σε αρχεία.

Στο σύστημα μου η εγκατάσταση του PPA πρόσθεσε τον χρήστη αυτόματα, και το αρχείο υπηρεσίας ξεκινάει την υπηρεσία με αυτόν τον χρήστη, οπότε δε θα χρειαστεί:

Ας ρίξουμε μια ματιά στην υπηρεσία συστήματος systemctl cat gerbera.service

[Unit]
Description=Gerbera Media Server with MySQL
After=mysql.target network-online.target
Wants=network-online.target

[Service]
Type=simple
User=gerbera
Group=gerbera
ExecStart=/usr/bin/gerbera -c /etc/gerbera/config.xml
Restart=on-failure
RestartSec=5

[Install]
WantedBy=multi-user.target

Αγνοήστε τη λέξη MySQL. Μπορούμε βέβαια να ρυθμίσουμε το σύστημα να τη χρησιμοποιεί, αλλά δεν υπάρχει λόγος.

Προσθήκη Αρχείων

Στην εγκατάσταση μου έκανα κάτι απλό.Έφτιαξα ένα κατάλογο που περιέχει όλα τα βίντεο και τον έσωσα στον χρήστη gerbera. Πρόσθεσα τον εαυτό μου σε αυτό το group.

Θα ανοίξουμε το Wen Interface και θα δούμε:

Στη συνέχεια από το web interface πρόσθεσα τον φάκελο με τα Video σαν autoscan folder

Θα μπορούσαμε επίσης να προσθέσουμε απλά τους φακέλους που θέλουμε και να τους ανανεώνουμε με το χέρι. Ο Kernel έχει ένα περιορισμό στους πόσους κατάλογους μπορεί να παρακολουθεί, αλλά συνήθως αυτό δεν είναι πρόβλημα.

Εγκατάσταση στο Arndroid TV Box

Τέλος, θα πρέπει να εγκαταστήσουμε το vlc στην τηλεόραση ή το Android TV Box για να παίζει τα Video. Το VLC αρκεί, αλλά θέλω κάτι καλύτερο να βλέπω τι έχει ο server.

To σύστημα της δοκιμής είναι ένα Mi Box και προαιρετικά εγκατέστησα το DLNA Channels. Σε ένα Amazon FireTV (μην το πάρετε ποτέ αυτό το καταραμένο μηχάνημα) δεν υπάρχει και έβαλα το πολυπλοκότερο BubbleUPnP.

Αν θέλεις κάτι ποιο δυνατό υπάρχει το Jellyfin, έχω και τα δύο να τρέχουν, αλλά για τη χρήση που θέλω να του κάνω, σειρές με μαθήματα, δε με βόλεψε τόσο και το βρήκα δυσκολότερο στο στήσιμο.

Αλλά είναι η πρώτη φορά που κάνω κάτι παρόμοιο, δεν ξέρω καλά το android και τι υπάρχει, οπότε ανοικτός σε κάθε άλλη πρόταση. Ειδικά αν κάτι μπορεί να δει Playlist εύκολα.