DLNA is een geweldige dienst. Met een DLNA server kun je video’s, muziek of foto’s distribueren naar bijna elke Smart TV en/of set top box zoals een Amazon Fire TV. Met DLNA hoef je je geen zorgen te maken of je TV het gegeven bestandsformaat ondersteunt. DLNA dekt dit voor je. Een van de DLNA diensten die eenvoudig te installeren, te configureren en te gebruiken is, is MiniDLNA. Dit artikel laat zien hoe je in een paar eenvoudige stappen een MiniDLNA server onder Linux / Raspberry Pi kunt opzetten.
Welke hardware te gebruiken?
Het goede is, dat je geen Intel / AMD gebaseerde machine hoeft te gebruiken om Full HD over DLNA te streamen. Zelfs een Raspberry Pi met een externe USB harde schijf is in staat om Full HD films te streamen via een Gigabit Ethernet. Als je zelf een DLNA Raspberry Pi server wilt bouwen, raad ik je de volgende hardware aan:
- Het nieuwste model van de Raspberry Pi (op het moment dat ik dit schrijf is dat versie 3)
- Een harde schijf met 1TB opslagruimte. (Aanbevolen minimale grootte)
- Als u de harde schijf als een externe USB-schijf wilt gebruiken (wat u moet doen als u zelf een Raspberry Pi DLNA-server bouwt), moet u ook een USB-harde schijfhouder kopen. Als alternatief kun je een kant-en-klare externe USB harde schijf kopen, zoals een Western Digital Elements.
Of je nu wel of niet voor de Raspberry Pi kiest, zorg ervoor dat je een harde schijf hebt die groot genoeg is om je mediabestanden op te slaan. Als Linux distributie van keuze raad ik je Ubuntu of Debian aan (deze tutorial is ook geschreven voor Debian en Ubuntu). Als je voor een Raspberry Pi kiest, kijk dan eens naar Raspbian (dat is een Debian gemaakt voor de Raspberry Pi). Om je Raspberry Pi op te zetten met Raspbian, kun je de Raspberry Pi image tutorial van de Raspberry Pi Foundation bekijken.
Waarom MiniDLNA als DLNA server software?
Naast MiniDLNA zijn er genoeg andere diensten beschikbaar. Een van de grootste oplossingen zijn MediaTomb en Twonky. Beide zijn het tegenovergestelde van MiniDLNA. Ze komen met complexe en krachtigere configuratietools. Tegelijkertijd zijn ze veel meer resource hongerig. MiniDLNA werkt met een “keep-it-simple” methode. In principe hoeft u alleen de service te installeren en MiniDLNA te vertellen waar de mediabestanden die u wilt streamen zich bevinden.
Naast de “keep-it-simple” factor, is MiniDLNA ook een zeer resource besparende oplossing, zoals reeds vermeld. Dit gaat hand in hand met de beperkingen die een Raspberry Pi ons geeft. Echter, zelfs als u een MiniDLNA server op een Intel Core i7 gaat installeren, is een eenvoudig te installeren/gebruiken oplossing naar mijn bescheiden mening altijd de eerste die u zou moeten overwegen.
Installeer MiniDLNA
De pakketrepositories van Raspbian, Debian en Ubuntu bieden al een kant-en-klaar MiniDLNA pakket. Met dat gezegd zijnde, installeert het volgende commando het laatst beschikbare MiniDLNA pakket op uw systeem:
user@raspberrypi:~$ sudo apt-get update && sudo apt-get install minidlna
Afhankelijk van uw internet snelheid, zou het downloaden en installeren van het MiniDLNA pakket binnen een minuut of twee gedaan moeten zijn.
Configureer MiniDLNA
Op dit punt van de tutorial ga ik er van uit dat uw (externe USB) harde schijf al geformatteerd is en gevuld is met de media die u wilt delen via DLNA. Om je een voorbeeld te geven dat zo accuraat mogelijk is, ga ik er ook van uit dat je harde schijf al gemount is op je Linux machine onder /mnt/usb. Als uw harde schijf op een andere locatie is aangekoppeld, vervangt u gewoon /mnt/usb door het koppelpunt dat u had gekozen.
Het configuratiebestand voor MiniDLNA is eenvoudig. Hoewel we dieper in de configuratieparameters zouden kunnen duiken, willen we het ook zo eenvoudig mogelijk houden. De enige twee parameters die nu interessant zijn voor onze setup zijn media_dir en user. Om deze twee configuratie parameters in te stellen, open het configuratie bestand met een editor naar keuze en ga verder met het lezen van dit artikel. Het configuratiebestand bevindt zich in /etc/minidlna.conf.
Start MiniDLNA als een niet-root gebruiker
Standaard start MiniDLNA het proces met de root gebruiker. Hoewel dit dingen eenvoudiger maakt, is het een beveiligingsprobleem dat verholpen zou moeten worden. Om dit te doen, scrolt u naar beneden in het MiniDLNA configuratiebestand en zoekt u naar de volgende regels:
# Specify the user name or uid to run as (root by default).# On Debian system command line option (from /etc/default/minidlna) overrides this.#user=minidlna
Verwijder de start-hash van de gebruikersregel. Dit vertelt de MiniDLNA Daemon om het proces te starten als de gebruiker minidlna. De gebruiker minidlna is al aangemaakt door MiniDLNA twee stappen eerder te installeren.
Mediadirectories toevoegen aan MiniDLNA
MiniDLNA ondersteunt audio, foto en video bestanden. U hoeft niet alle bestanden op een enkele harde schijf op te slaan om ze via MiniDLNA te kunnen delen. U moet echter wel per opslag een mediadirectory configureren. U kunt dit ook doen in het MiniDLNA configuratiebestand:
# Path to the directory you want scanned for media files.## This option can be specified more than once if you want multiple directories# scanned.## If you want to restrict a media_dir to a specific content type, you can# prepend the directory name with a letter representing the type (A, P or V),# followed by a comma, as so:# * "A" for audio (eg. media_dir=A,/var/lib/minidlna/music)# * "P" for pictures (eg. media_dir=P,/var/lib/minidlna/pictures)# * "V" for video (eg. media_dir=V,/var/lib/minidlna/videos)# * "PV" for pictures and video (eg. media_dir=PV,media_dir=/var/lib/minidlna
Zoals u kunt zien, is er in het standaard configuratiebestand al een mediadirectory geconfigureerd. Dit is echter slechts een voorbeeld en u moet dit veranderen in de werkelijke directory waar uw mediabestanden zijn opgeslagen. Als voorbeeld, een setup met drie media directories zou er als volgt uit kunnen zien:
media_dir=/mnt/usb/audiomedia_dir=/mnt/usb/videomedia_dir=/mnt/usb/picture
Als u alle gewenste media directories heeft toegevoegd, slaat u het configuratie bestand op en sluit het. Om uiteindelijk de wijzigingen op de MiniDLNA server toe te passen, moet u de service herstarten:
user@server:~$ sudo systemctl restart minidlna
Het eerste scan proces kan enkele minuten duren. Als u na verloop van tijd extra bestanden kopieert / verplaatst naar deze directories, zal MiniDLNA deze automatisch vinden. Kijk op de webinterface als u wilt weten of het scanproces is voltooid (ga naar het volgende hoofdstuk om uit te vinden hoe u de MiniDLNA webinterface kunt openen).
Webinterface
De MiniDLNA service wordt geleverd met een kleine webinterface. Deze webinterface is slechts voor informatieve doeleinden. U zult hier niets kunnen configureren. Het geeft u echter een mooi en kort informatiescherm hoeveel bestanden er door MiniDLNA zijn gevonden. MiniDLNA wordt geleverd met een eigen webserver geïntegreerd. Dit betekent dat er geen extra webserver nodig is om de webinterface te gebruiken.
Om toegang te krijgen tot de webinterface, opent u de browser van uw keuze en voert u het IP-adres of de hostnaam in van de server / Raspberry waarmee u verbinding wilt maken, gevolgd door de poort 8200. Bijv: http://raspberrypi:8200:
Zoals u kunt zien, stream ik alleen videobestanden over mijn MiniDLNA setup. In de bovenste tabel kunt u zien dat mijn MiniDLNA Raspberry setup klaar is om 1108 videobestanden op aanvraag te streamen. De Verbonden clients tabel toont de daadwerkelijk verbonden clients. In deze lijst zie ik apparaten zoals mijn Smart TV, mijn Playstation en vele anderen. Hoewel veel van deze clients op dit moment niet streamen, houden ze een actieve verbinding met de MiniDLNA server. Wanneer ze beginnen met het streamen van bestanden, zult u de actuele verbindingen zien in de laatste cel van de tweede tabel.
Het eigenlijke streaming proces
Deze paragraaf is slechts een kort overzicht hoe een verbinding van een client naar de geconfigureerde en draaiende MiniDLNA server zou kunnen werken. In dit scenario gebruiken we simpelweg een computer die zich in hetzelfde local area network bevindt als de server. Als client software gebruiken wij de Video Lan Client. Eenvoudig, robuust, cross-platform en open source. Na het starten van VLC ga je naar de afspeellijst modus door op CTRL+L te drukken. Je ziet nu aan de linkerkant een categorie die Local Network heet. Klik op Universal Plug’n’Play dat zich onder de categorie Local Network bevindt. U ziet nu een lijst met beschikbare DLNA-diensten binnen uw lokale netwerk. In deze lijst zou u uw DLNA-server moeten zien. Navigeer door de verschillende mappen voor muziek, video’s en foto’s en selecteer een bestand om het streamingproces te starten:
Dit is slechts een voorbeeld van hoe u verbinding maakt met uw MiniDLNA-server met een desktop client. VLC is ook beschikbaar voor Android-toestellen. Door MiniDLNA met VLC op een Android toestel te gebruiken, kunt u zelfs de Chromecast gebruiken om een muziekbestand, serie foto’s of video’s naar uw TV te casten. Als u echter een Smart TV heeft, kunnen de meeste daarvan direct verbinding maken met DLNA-diensten.
Start, Stop en herstart MiniDLNA
Het starten, stoppen of herstarten van de MiniDLNA-service is “business-as-usual”. Maar voor de goede orde, hier zijn de commando’s:
user@server:~$ sudo systemctl start minidlnauser@server:~$ sudo systemctl stop minidlnauser@server:~$ sudo systemctl restart minidlna
Conclusie
Het opzetten van uw eigen DLNA server is echt eenvoudig. Als je een Raspberry Pi gebruikt in combinatie met een USB harde schijf, heb je een goedkope maar solide en flexibele open source gebaseerde oplossing. Je bent niet verplicht om een voorgebouwd NAS-apparaat te gebruiken dat je misschien beperkt in de maximale grootte van de harde schijf of de bestandsformaten die je wilt gebruiken. Ook is het installeren en configureren van uw eigen DLNA-oplossing een goede leerervaring. Dus waar wacht u nog op. Begin met het streamen van je eigen films, foto’s en muziek via DLNA. En als je vragen hebt of me gewoon wilt laten weten hoe je eigen DLNA-installatie eruitziet: Laat een berichtje achter in de comments hieronder 🙂
Volgende links
- Headerafbeelding
- Support me