Roland Kamphuis Rotating Header Image

Posts Tagged ‘hosted’

Self hosted: Jellyfin

In 2018 ben ik begonnen voor het eerst met een online streamingdienst abonnement. In dit geval met Netflix. Ik ben al lange tijd fan van streaming diensten, zo heb ik Spotify sinds het begin in 2011. En nu ook fijn om eindelijk je films en series te streamen. Een paar jaar later had ik daar ook Amazon Prime Video, HBO, NPO en Disney+ bij aangenomen. Dat was direct ook het moment dat er iets vreemds gebeurde. Voor het eerst zag je grootschalig content bij Netflix verdwijnen. Maar geen nood het kwam vaak op een andere dienst weer terug. En als je weer wat langer wacht kon het best zijn dat Netflix de aanbesteding van een bepaalde serie weer had gewonnen en het weer terug kwam op Netflix. Onhandig maar nog wel mee te werken.
Totdat de prijsverhogingen kwamen. Waar ik voor 2020 bij de meeste partijen een bedrag van 4-10 euro per maand betaalde is dat in 2026 bij merendeel verdubbeld. Ook begonnen de partijen het lenen van accounts aan te pakken. Waar Netflix in het begin dit bewust toeliet en het zelfs gebruikte in hun marketingcampagne! Waardoor voor veel mensen het best duur werd voor alle verschillende diensten maar iedere keer de hoofdprijs te moeten betalen. Laten we het dan ook niet hebben over de reclames die je tegenwoordig krijgt in je betaalde accounts.

En zo ben ik in Jellyfin gerold. Jellyfin maakt het mogelijk om je eigen streaming dienst te beginnen, helemaal zelf gehost op je eigen omgeving zonder invloed van derden. Een ideale manier om nog wat met je oude DVD iets te kunnen doen!

Met de komst van Jellyfin is mijn content weer stabiel (het is niet zomaar verdwenen), houd ik de prijs laag (eenmalige aanschaf), en bepaal ik ook welke versie film ik zie (Disney+ besluit namelijk zomaar bij Home alone 2 Donald Trump eruit te knippen, en oudere versies van Star Wars zijn ook niet te bekijken). Daarnaast heb ik nu zelfs content die op geen enkele streaming dienst staat. Denk aan bijv Thunderbirds, of mijn favo serie Chuck!

Wat heb je nodig om te beginnen?
Een boel tijd en geduld. Ik ben eerst begonnen mijn eigen DVD collectie in te scannen, en dat kost ongeveer 10-15 minuten per DVD. Met het programma MakeMKV kan je de inhoud van een DVD omzetten naar een .mkv bestand op de computer. Ook mijn enige 2 Blu-ray discs heb ik ingescand: Golden Eye en The Dictator! Nou dat was nog een avontuur. Ergens in een oude computer had ik ooit een blu ray speler ingebouwd. Dus die eruit getrokken en in mijn huidige pc gestopt. Dan kom je erachter dat blu-ray met licenties werkt en ik dus eerst opzoek moest gaan voor de licenties van de films die ik heb. Gelukkig staat er veel op internet, en zodoende kon ik met de licentie ook middels MakeMKV de scan maken. Die overigens 30 min per disc duurt, en voilla!


Mooi dacht ik, nu wordt het tijd om mijn lievelingsfilm: Star Wars toe te voegen. De DVD versie had ik al ingescand en de blu-ray 4k versie had ik snel bij bol.com gekocht. Was erg goedkoop (12 euro per film) want er ontbrak Nederlandse ondertitels. Nouja geen probleem. Maar dat was wel een probleem voor mijn Blu-ray speler, want blijkbaar kon die geen 4k content aan. En probeer anno 2026 maar eens een blu-ray speler voor de computer te kopen! En omdat ik dat certifcaten gebeuren ook wel een beetje zat was heb ik een tweede hands model gekocht bewust met een oude firmware. Deze firmware kan je vervangen door je eigen versie waarmee je wat ‘flexibeler’ met die certificaten over weg kan. En zo kwam de 4k films ook binnen. (Dus doe je onderzoek hierin als je van plan bent blu-rays in te scannen).
Met het programma MKVToolNix kon ik de subtitles uit de DVD release halen en in de MKV van de 4k blu-ray toevoegen.

Transcoden
Een ander handig programma is Handbrake. Daarmee kan je de videobestanden transcoderen en daarmee comprimeren. Bijv een DVD heeft mpeg4 encoding, dat kan een hul stuk beter om naar h.264 of h.265 te zetten, bespaard zo 70% aan capaciteit zonder kwaliteitsverlies! Ook Blu-rays kan je omzetten, zonder daar een concessie in te doen kan je daar 50% besparen. Ik heb veel omgezet naar h.265 omdat dat tegenwoordig overal ondersteund wordt en net betere manier van compressie heeft zonder kwaliteitsverlies dan h.264. En naarmate ik bezig was kan ik AV1 ook aanraden. Handbrake heeft de optie je videokaart transcoder te gebruiken waardoor de snelheid drastisch omhoog gaat ten opzichte van cpu transcoding.

Echter is transcoding niet nodig, Jellyfin heeft FFMpeg ingebouwd en kan on the fly films transcoderen als de client het ene formaat niet aan kan. Het voordeel om alles van te voren wel te transcoderen is voornamelijk opslag besparing en ontzorgen van transcoden van Jellyfin. Bijv een h.264 wordt overal wel ondersteund. En dan hoeft Jellyfin niet on the fly meer transcoden als de bron al is omgezet.
Ik draai Jellyfin op een Intel N355 met ingebouwde GPU. Die gpu kan net 3 x een 4k stream aan als het gaat om on the fly transcoden. Eerder gebruikte ik een N100, en die kon 0.97x een 4k stream aan. Ofwel hier moest ik 5 min de film pauzeren want in realtime redde hij het net niet. En AV1 gaf mij problemen met sommige players die zeiden dat ze 4k av1 aankonden, maar bij afspelen gingen die haperen. Gelukkig kan je dan Jellyfin naar een ander formaat transcoderen zodat je alsnog kan kijken.

En als je eenmaal door hebt hoe het gaat kan je dus alles gaan toevoegen. Nadat ik mijn eigen DVD’s had gedaan ben ik regelmatig langs de kringloop gegaan, rommelmakten bezocht en heel af en toe op marktplaatst opzoek gegaan naar DVD’s en Blu-Rays. Om de kosten van de hobby niet uit de hand te laten lopen had ik een limit van 1 euro voor een dvd en 3 euro voor een blu-ray voor mezelf ingesteld. Op die manier heb ik heel veel films kunnen verzamelen: 465 Dvd’s en 283 Blu-rays.

Jellyfin
Jellyfin is een stukje software die je zelf kan hosten waarmee je je eigen streaming dienst op zet. Het heeft een ingebouwde webserver en serveert een webpagina aan media bestanden. Deze kan je dan heel eenvoudig in je browser streamen of je kan natuurlijk de bijbehorende apps installeren.

Installeren van jellyfin is erg eenvoudig, volg de handleiding op hun site en voila! Ik heb een kale VM voor jellyfin aangemaakt zodat alles in een eigen omgeving draait. Middels een NFS share bied ik Jellyfin de DVD en Blu-rays aan. Ik vond het een enge gedachte dat Jellyfin direct access moest hebben tot mijn share, vandaar de read only rechten op de movie map.
De VM is een proxmox VM. Dus met een beetje moeite kon ik de GPU in pass trough mode zetten naar deze VM, zodat Jellyfin de GPU on the fly kan gebruiken voor transcoding. Doordat het de interne gpu van de cpu is, trekt deze maximaal een 6 Watt stroom op moment dat volledige transcoding nodig is.
Vervolgens Jellyfin je media map laten scannen en voilla!

Hier en daar zal jellyfin mogelijk niet alles kunnen vinden. Soms komt dat door een typefout in de naam van het bestand of doordat er meerdere films zijn met dezelfde naam. Gelukkig kan je dat snel verhelpen of handmatig de meta data aan te passen.

En als je de handleiding van Jellyfin volgt hoe de media map eruit ziet krijg je ook nog eens heel mooi de keuze welke versie film je wilt zien. Zoals in bovenstaande screenshot te zien valt kan je kiezen voor de 4k versie, de Blu-ray versie of de DVD versie.

Ik heb de server thuis draaien, en middels een VPN koppeling kan ik overal in de wereld mijn media streamen!
Je kan Jellyfin ook direct op het grote internet zetten, maar dan is mijn advies wel een SSL certificaat te gebruiken en de niet SSL versie uit te zetten.