Jellyfin buffert wanneer een deel van het afspeelpad niet sneller kan leveren, converteren of decoderen dan de tijdlijn vordert. Videotranscodering is een veelvoorkomende oorzaak, maar niet de enige. Een stream kan ook vastlopen door clientcodecbeperkingen, ondertitelverwerking, onstabiele wifi, onvoldoende uploadbandbreedte op afstand, opslagconcurrentie of een transcodeermap die geen extra tijdelijke data kan accepteren.
De snelste manier om de bottleneck te vinden is door de huidige afspeelmodus te controleren voordat je hardware-instellingen wijzigt. Vergelijk dan of het probleem elk bestand treft, alleen 4K- of HDR-media, één client, externe gebruikers, afspelen met ondertitels, of meerdere gelijktijdige streams.
Controleer de afspeelmodus voordat je iets wijzigt
Open het Jellyfin-dashboard terwijl de getroffen video wordt afgespeeld en inspecteer de actieve sessie. Dit bepaalt of de server het originele bestand levert of actief een deel ervan converteert.
Jellyfin verdeelt het afspelen in vier afspeelroutes met oplopende serverbelasting: Direct Play, Remux, Direct Stream en video Transcode. Direct Play verzendt de originele media met bijna geen verwerking. Remux wijzigt de container, Direct Stream converteert audio terwijl de video behouden blijft, en Transcode codeert de videostream opnieuw.
Dit eerste resultaat verandert de hele richting van het oplossen van problemen. Als Direct Play buffert, begin dan met het netwerk, opslag, client en mediabestand. Als videotranscodering buffert, controleer dan waarom conversie werd aangevraagd en of de server de volledige pipeline snel genoeg kan voltooien.
| Afspelmethode | Wat de server doet | Eerst controleren |
| Direct afspelen | Het originele bestand verzenden | Netwerk, clientdecodering, opslag, bestand |
| Remux | De container wijzigen | Compatibiliteit container en tijdelijke opslag |
| Direct Stream | Audio converteren maar video behouden | Audiocodec, kanaalindeling, clientondersteuning |
| Videotranscodering | Video decoderen en opnieuw coderen | CPU, GPU, ondertitels, HDR, transcodeerpad |
| Afspelfout | Conversie of levering mislukt | FFmpeg-log, machtigingen, vrije ruimte |
Ontdek waarom Jellyfin een transcodering heeft aangevraagd
Een bestand speelt niet Direct af alleen omdat de client de videocodec ondersteunt. Jellyfin evalueert de volledige combinatie van container, videocodec, codecprofiel, bitdiepte, resolutie, audioformaat, kanaalindeling, ondertitels, bitrate en client afspeelbeperkingen.
De client ondersteunt bijvoorbeeld mogelijk HEVC-video, maar niet de meegeleverde TrueHD-audiotrack. Een andere client kan beide streams decoderen, maar faalt bij het weergeven van het geselecteerde ondertitelingsformaat. Die verschillen kunnen hetzelfde bestand op het ene apparaat als Direct Play laten afspelen, op een ander apparaat audio-conversie veroorzaken en in een browser volledige videotranscodering vereisen.
Noteer de reden van afspelen voordat u instellingen wijzigt. Test ook een andere audiotrack, schakel ondertitels uit en speel hetzelfde bestand af via een andere Jellyfin-client. Deze gecontroleerde tests zijn nuttiger dan het inschakelen van elk codec-vakje in het transcoderingmenu.
Softwaretranscodering kan een kleine server overbelasten
Software transcodering gebruikt de CPU om de bron te decoderen, filters toe te passen, het beeld te schalen en een nieuwe stream in realtime te coderen. Een processor met weinig vermogen kan een 1080p-conversie aan, maar faalt bij 4K HEVC, 10-bit video of HDR.
Wanneer conversie niet voorloopt op de weergave, verbruikt de client uiteindelijk de gebufferde videosegmenten en pauzeert. Het CPU-gebruik kan dicht bij het maximum blijven terwijl Jellyfin herhaaldelijk probeert voldoende gegevens voor de huidige positie op te bouwen.
Als de server een ondersteunde geïntegreerde of discrete GPU heeft, is correct geconfigureerde hardwareversnelling meestal nuttiger dan het wijzigen van het aantal FFmpeg-threads. Als de server geen compatibele encoder heeft, kan het verlagen van de gevraagde resolutie of bitrate bevestigen dat de transcodeercapaciteit de beperkende factor is.
Hardwareversnelling is een pijplijn met meerdere fasen
Het selecteren van Intel Quick Sync, VA-API, NVIDIA NVENC of AMD AMF in het dashboard garandeert niet dat elk onderdeel van de conversie op de GPU wordt uitgevoerd.
Een Jellyfin-transcodering kan decoderen, deinterlacing, schalen, formaatconversie, HDR-tonemapping, ondertitelverbranding en codering omvatten. Jellyfin merkt op dat sommige fasen op de CPU kunnen blijven vanwege hardware-, stuurprogramma- of softwarebeperkingen. Gedeeltelijke versnelling kan daarom een hoog CPU-gebruik veroorzaken, zelfs als GPU-activiteit zichtbaar is.
Controleer de hele taak in plaats van alleen de aanwezigheid van een GPU. Forceer een voorspelbare transcodering, bekijk de video decodeer- en encodeermotoren, inspecteer de FFmpeg-opdracht en zoek naar filters die zijn teruggevallen op software.
Schakel geen decodeerformaten in die uw GPU niet aankan
De pagina voor hardwareversnelling stelt beheerders in staat videoformaten te selecteren die Jellyfin via de GPU kan proberen te decoderen. Het inschakelen van een niet-ondersteund formaat voegt die mogelijkheid niet toe aan de hardware.
Als de GPU het exacte codecprofiel of de bitdiepte niet kan decoderen, kan Jellyfin terugvallen op softwaredecodering of falen bij het initialiseren van het hardwarepad. Daarom kan het zijn dat het ene HEVC-bestand werkt terwijl een ander onverwacht hoge CPU-belasting veroorzaakt.
Bevestig de GPU-generatie en ondersteunde profielen, en schakel vervolgens alleen de formaten in die deze daadwerkelijk kan verwerken. Test gewone H.264-, HEVC Main 10- en HDR-bestanden afzonderlijk in plaats van alle 4K-media als één werklast te behandelen.
Docker moet toegang krijgen tot de GPU
Een GPU die door het host-besturingssysteem wordt gedetecteerd, is niet automatisch beschikbaar binnen een Jellyfin-container. De container heeft ook de juiste apparaattoewijzing, runtime, drivers, groepen en rechten nodig.
Voor Intel- en AMD-GPU's op Linux maakt de host meestal renderapparaten beschikbaar onder /dev/dri. De containergebruiker moet toegang hebben tot het relevante renderapparaat. NVIDIA-configuraties vereisen de hostdriver en een geschikte container-runtime. Praktische Docker-controles omvatten het verifiëren van het renderapparaat, het toewijzen ervan aan de container en het toevoegen van de juiste render-groep GID.
Laat de container niet permanent in privileged-modus staan als oplossing. Dit kan kort gebruikt worden om te bevestigen dat het onderliggende probleem apparaat-toegang is, maar de uiteindelijke implementatie moet alleen de benodigde GPU-bronnen en -rechten blootstellen.
Controleer GPU-activiteit tijdens een echte transcodering
Een succesvolle containerstart bewijst niet dat hardwaretranscodering werkt. Jellyfin kan normaal draaien, de bibliotheek scannen en Direct Play-bestanden afspelen zonder bruikbare toegang tot de GPU.
Forceer een transcodering door tijdelijk een lagere clientkwaliteit te kiezen dan de bron. Op Intel-systemen monitor je de video-engines met een tool zoals intel_gpu_topOp NVIDIA-systemen controleer je actieve processen en encoderactiviteit via nvidia-smiControleer ook of het CPU-gebruik daalt in vergelijking met softwaretranscodering.
Als er geen GPU-activiteit is, controleer dan het toegewezen apparaat, de containergebruiker, het lidmaatschap van de render-groep, de hardwareversnellingsmethode en het FFmpeg-logboek. Als de GPU actief is maar de weergave traag blijft, kan een andere pijplijnfase nog steeds in software draaien.
Ondertitels Kunnen Een Volledige Videotranscode Uitlokken
Een veelvoorkomend symptoom is vloeiende weergave totdat ondertitels worden ingeschakeld. Dit gebeurt vaak bij op afbeeldingen gebaseerde ondertitels of gestileerde formaten die de geselecteerde client niet direct kan weergeven.
Wanneer Jellyfin ondertitels in het beeld moet branden, decodeert het elk frame, rendert de ondertitel-laag en codeert een nieuwe videostream. Dat kan een anders lichte Direct Play-sessie veranderen in een van de meest belastende afspeelroutes van de server.
Schakel ondertitels uit en speel dezelfde scène opnieuw af. Als het bufferprobleem verdwijnt, probeer dan een tekstgebaseerde ondertiteltrack zoals SRT, test een andere client of controleer of het geselecteerde hardwarepad de decodeer-, filter- en codeerbewerkingen kan versnellen.
HDR Tone Mapping Kan Zwaarder Zijn Dan Normale Transcodering
Als 1080p en gewone 4K SDR-media correct afspelen maar HDR-inhoud bufferproblemen geeft op een SDR-client, is tone mapping een sterke verdachte.
De server moet mogelijk een 10-bit HDR-bron decoderen, de kleur- en helderheidsrange converteren naar SDR, schalen en een nieuwe videostream coderen. Een systeem dat normale H.264-transcodering aankan, kan die volledige taak mogelijk niet in realtime via software uitvoeren.
Test hetzelfde HDR-bestand op een HDR-compatibele client, forceer vervolgens een SDR-transcode en vergelijk CPU- en GPU-activiteit. Hardware-ondersteuning voor HEVC-decodering bewijst niet automatisch dat de geselecteerde tone-mapping methode volledig wordt versneld.
De Client Bepaalt Een Groot Deel Van Het Afspelpaden
Jellyfin kan een bestand Direct Play afspelen in een desktop mediaclient terwijl het hetzelfde bestand transcoded in een browser- of televisie-applicatie. Dat verschil betekent niet dat de serverconfiguratie tussen sessies is veranderd.
Elke client rapporteert zijn ondersteunde codecs, containers, audioformaten, ondertitels, resoluties en bitrate-limieten. Een capabelere speler kan conversie vermijden, terwijl een beperkte speler mogelijk audioconversie, remuxing of volledige videotranscodering nodig heeft.
Test hetzelfde bestand, audiotrack, ondertiteltrack en netwerkverbinding op twee clients. Als het probleem bij één client blijft, onderzoek dan de afspeelmogelijkheden en app-instellingen van dat apparaat voordat je de server aanpast.
Direct Play Kan Nog Steeds Bufferen
Direct Play elimineert videoconversie als de belangrijkste bottleneck, maar bewijst niet dat elk ander deel van het pad gezond is.
De NAS moet de media nog steeds lezen, het netwerk moet deze continu leveren, en de client moet deze decoderen en weergeven. Hoge bitratepieken, onstabiele wifi, een trage clientinterface, opslagfoutherhalingen of een ondermaats presterende speler kunnen een anders directe stream onderbreken.
Kopieer het probleembestand naar de client en speel het lokaal af. Als lokaal afspelen ook hapert, onderzoek dan het mediabestand of de clientdecoder. Als de lokale kopie werkt terwijl Jellyfin Direct Play buffert, richt je dan op het netwerk en het opslagpad van de server.
Test het werkelijke LAN-pad in plaats van een internetsnelheidstest
Een snelle internetresultaat meet niet het pad van de Jellyfin-server naar een televisie, telefoon of streamingbox in huis. Het onthult ook geen Wi-Fi jitter, pakketverlies, congestie in de mesh-backhaul of een trage apparaatinterface.
Een nuttige lokale diagnose vergelijkt aanhoudende bestandsoverdracht, een bekabelde client, een encode met lagere bitrate en het originele bestand met hoge bitrate. Praktische lokale streamingcontroles omvatten ook het testen van Ethernet, controleren of de client een transcode afdwingt en zware achtergrondtaken buiten de kijktijden plaatsen.
Let op aanhoudende prestaties in plaats van de hoogste waarde die enkele seconden wordt weergegeven. Video met grote bitratepieken heeft voldoende marge nodig om korte netwerkvertragingen te overleven zonder de clientbuffer uit te putten.
Bufferen op afstand heeft meestal een andere oorzaak
Als dezelfde media thuis correct afspeelt maar buffert via een externe verbinding, zijn de uploadbandbreedte van de server en de externe route de belangrijkste verdachten.
De bruikbare snelheid wordt beperkt door de uploadsnelheid van de thuisverbinding, de downloadsnelheid van de externe client, VPN- of reverse-proxy-overhead, concurrerend huishoudelijk verkeer en de bitrate van de stream. Een grote remux kan de beschikbare uploadcapaciteit overschrijden, ook al speelt deze perfect Direct Play af via het LAN.
Verlaag tijdelijk de afspeelkwaliteit op afstand. Als dat het bufferen oplost, stel dan een duurzame bitrate voor op afstand in of gebruik hardwaretranscodering om een kleinere stream te maken. Beschouw de lagere instelling als bewijs van een bandbreedtegrens, niet als bewijs dat het originele bestand defect is.
Opslag faalt vaker bij gelijktijdige werkzaamheden
Een gezonde harde schijf kan meestal zonder problemen één gewone filmstream afspelen. Opslag wordt verdacht wanneer het afspelen overlapt met downloads, back-ups, bibliotheekscans, miniatuurweergavegeneratie, pariteitsbewerkingen, scrubs of meerdere gebruikers.
Die taken creëren concurrerende lees-, schrijf- en zoekbewerkingen. Een schijf kan een acceptabele sequentiële snelheid tonen in een benchmark terwijl hij toch een hoge latentie ontwikkelt bij gemengde activiteit.
Houd het gebruik en de latentie in de gaten tijdens het bufferen. Pauzeer downloads en onderhoudstaken en speel hetzelfde bestand opnieuw af. Bewaar de Jellyfin-database, metadata en cache waar mogelijk op opslag met lagere latentie, terwijl grote mediabestanden op capaciteitgerichte schijven kunnen blijven staan.
Een volle transcodeermap kan het afspelen stoppen
Getranscodeerde video wordt als tijdelijke segmenten geschreven voordat de client deze consumeert. Als het toegewezen bestandssysteem, SSD, RAM-schijf of Docker-volume onvoldoende vrije ruimte heeft, kan FFmpeg geen nieuwe segmenten meer produceren.
Een eerder Jellyfin-probleem documenteerde hoe afspelen alleen kon doorgaan tot het laatste segment dat was gemaakt voordat de transcodeermap vol raakte. Het rapport is oud en gesloten, maar het symptoom blijft een nuttige reden om de ruimte te controleren wanneer een getranscodeerde stream na enkele minuten stopt.
Controleer de vrije ruimte, beschikbaarheid van inodes, container-mapping, schrijfrechten en capaciteitslimiet van het transcodeerpad. Wees vooral voorzichtig met kleine RAM-schijven of tijdelijke bestandssystemen: het gebruik van geheugen kan de opslaglatentie verlagen, maar een te kleine limiet kan een plotselinge afspeelfout veroorzaken.
Eén probleembestand wijst meestal op de media
Als veel bestanden met vergelijkbare resolutie en bitrate correct afspelen, is het minder waarschijnlijk dat één defecte titel bewijst dat de hele server ondermaats is.
Het bestand kan een ongewoon codecprofiel bevatten, beschadigde frames, een niet-ondersteunde audio-indeling, een afbeeldingsondertitelingsspoor, onjuiste tijdstempels of een extreme bitratepiek. Eén seizoen van een serie kan ook anders gecodeerd zijn dan de andere.
Test een andere audiotrack, schakel ondertitels uit, controleer de mediainformatie en vergelijk het bestand met een andere titel die dezelfde codec gebruikt. Een eenvoudige remux naar een nieuwe container kan helpen bepalen of de container of tijdstempels betrokken zijn zonder de hele video opnieuw te coderen.
Meerdere streams onthullen gedeelde resourcebeperkingen
Een thuisserver kan één stream perfect afhandelen en pas gaan bufferen wanneer een andere gebruiker begint met afspelen. Vergelijk de afspeelmodus van elke actieve sessie voordat je ervan uitgaat dat alleen het netwerk de oorzaak is.
Meerdere Direct Play-sessies zorgen vooral voor extra opslag- en netwerkbelasting. Meerdere video-transcodes concurreren ook om GPU-encodeercapaciteit, CPU-filters, geheugenbandbreedte en transcodeermapruimte.
Test één sessie en voeg vervolgens streams één voor één toe terwijl je CPU-, GPU-, schijf- en netwerkgebruik in de gaten houdt. Dit identificeert of de praktische limiet het aantal conversies, de totale mediabitrate of gemengde opslagactiviteit is.
Lees het FFmpeg-logboek voordat je Jellyfin opnieuw installeert.
Het serverdashboard geeft aan welk type afspelen plaatsvindt, terwijl het bijbehorende FFmpeg-logboek uitlegt hoe Jellyfin heeft geprobeerd het bestand te verwerken.
Zoek naar fouten bij het initialiseren van hardwareapparaten, permissiefouten, niet-ondersteunde profielen, softwarefallback, ondertitelfilters, tone-mappingfilters, invoer-/uitvoeringsfouten, procesafsluitcodes en opslagruimtefouten.
Maak een logboek van de exacte sessie die buffert. Een logboek van een niet-gerelateerde Direct Play of succesvolle transcodering kan tot verkeerde conclusies leiden. Het opnieuw installeren van de server lost zelden een client-codeclimiet, een ontoegankelijk GPU-apparaat of een volle tijdelijke map op.
Gebruik het symptoom om de volgende test te kiezen.
| Symptoom. | Meest waarschijnlijke richting. | Volgende test. |
| Buffert alleen met ondertitels. | Ondertitel inbranden. | Schakel ondertitels uit of selecteer SRT. |
| Slechts één client buffert. | Client-codec of decoder. | Speel hetzelfde bestand af in een andere client. |
| Direct Play buffert. | Netwerk, client, opslag of bestand. | Kopieer het bestand lokaal en test Ethernet. |
| CPU bereikt maximum tijdens afspelen. | Software- of gedeeltelijke transcodering. | Controleer GPU-activiteit en FFmpeg-filters. |
| Hardwareversnelling is ingeschakeld maar ongebruikt. | Apparaat, runtime, groep of driver. | Verifieer GPU-toegang binnen de container. |
| Alleen HDR-bestanden bufferen. | Tone mapping of 10-bit decodering. | Test op een HDR-client en controleer GPU-fasen. |
| Lokaal werkt, maar op afstand buffert het. | Uploadbandbreedte of bitrate op afstand. | Verlaag tijdelijk de kwaliteit op afstand. |
| Afspeelstop na enkele minuten. | Opslag of middelen voor transcodering uitgeput. | Controleer vrije ruimte en het FFmpeg-logboek. |
| Slechts één bestand faalt. | Codec-profiel, ondertitel, audio of corruptie. | Wissel van track en controleer mediainformatie. |
| De tweede stream zorgt ervoor dat beide bufferen. | Gedeelde rekenkracht, netwerk- of opslaglimiet. | Vergelijk alle sessiemodi en het gebruik. |
Volg deze volgorde voor probleemoplossing.
- Reproduceer het probleem met hetzelfde bestand en dezelfde client.
- Open het Jellyfin-dashboard en noteer de afspeelmodus.
- Noteer de opgegeven reden voor transcodering of compatibiliteit.
- Schakel ondertitels uit en test een andere audiotrack.
- Speel hetzelfde bestand af via een andere client.
- Controleer de CPU- en GPU-activiteit tijdens de getroffen sessie.
- Open het bijbehorende FFmpeg-logboek.
- Controleer de ruimte en schrijfrechten van de transcode-map.
- Test de continue LAN-doorvoer of de uploadcapaciteit op afstand.
- Pauzeer downloads, back-ups, scans en opslagonderhoud.
- Vergelijk het probleembestand met vergelijkbare media.
- Overweeg nieuwe hardware pas nadat het bewijs een rekengrens aantoont.
Deze volgorde voorkomt dat niet-gerelateerde wijzigingen de oorspronkelijke oorzaak verbergen. Verander één variabele tegelijk en speel dezelfde scène opnieuw af zodat de resultaten vergelijkbaar blijven.
Laatste conclusie
Jellyfin-buffering betekent niet automatisch dat de thuisserver een snellere CPU nodig heeft. Begin met de actieve afspeelmodus, want Direct Play en videotranscodering wijzen op verschillende delen van het systeem.
Voor getranscodeerde sessies, identificeer waarom conversie nodig is, verifieer de volledige hardwareversnellingspijplijn, test zonder ondertitels, inspecteer HDR-tone mapping en bevestig dat het transcodeerpad voldoende schrijfbare ruimte heeft. Controleer in Docker de GPU van binnen de container in plaats van alleen op hostdetectie te vertrouwen.
Voor Direct Play ligt de focus op een constante netwerksnelheid, clientdecodering, opslagactiviteit en het individuele mediabestand. De combinatie van afspeelmodus, client, codec, ondertitels, resource-activiteit en FFmpeg-logs biedt een betrouwbaardere diagnose dan willekeurige instellingen wijzigen of eerst hardware vervangen.
FAQ
Waarom buffert Jellyfin alleen als ondertitels zijn ingeschakeld?
Het geselecteerde ondertitelingsformaat kan burn-in vereisen. Jellyfin moet dan de video decoderen, ondertitels op elk frame renderen en een nieuwe stream encoderen. Probeer ondertitels uit te schakelen, een tekstgebaseerde track te selecteren of een client te gebruiken die het ondertitelingsformaat direct kan weergeven.
Waarom transcodeert Jellyfin op het ene apparaat, maar gebruikt het Direct Play op het andere?
Clients ondersteunen verschillende combinaties van containers, videocodecs, audioformaten, ondertiteltypes, profielen en bitrates. Het minst compatibele apparaat vraagt de server om het niet-ondersteunde deel van het bestand te converteren.
Hoe kan ik bevestigen dat Jellyfin hardwareversnelling werkt?
Forceer een videotranscode en controleer vervolgens de GPU-decodeer- en encodeermotoren van de server. Bevestig ook dat het FFmpeg-logboek het verwachte hardwareapparaat gebruikt en dat de container toegang heeft tot het apparaat zonder permissiefouten.
Waarom buffert Jellyfin, ook al zegt het Direct Play?
Direct Play verwijdert videotranscodering uit het pad, maar het netwerk, de opslag, het mediabestand en de clientdecoder kunnen nog steeds te traag of onstabiel zijn. Test het bestand lokaal op dezelfde client en vergelijk bekabelde en draadloze weergave.
Moet Jellyfin een SSD gebruiken voor transcoding?
Een SSD kan de latentie van tijdelijke segmenten verminderen en is nuttig voor de Jellyfin-database, metadata en cache. De belangrijkere vereiste is een transcodeerpad met voldoende ruimte, betrouwbare schrijfacties en correcte permissies. Een RAM-schijf met de juiste grootte kan ook werken, maar een te kleine kan de weergave stoppen.
Ondersteuning & Tips
Meer om te lezen

Hoe optimaliseer je NAS-opslag voor Adobe Premiere Pro-bewerking
Bewaar gedeelde media op de NAS, Premiere-cache op de lokale SSD, en dimensioneer het netwerk voor codec-bitrate, actieve streams en gelijktijdige editors.

CasaOS-appinstallatie mislukt: logs, DNS en poorten
Deze gids legt uit hoe je problemen met het installeren van CasaOS-apps kunt oplossen door de CasaOS-logboeken, Docker-logboeken, DNS-resolutie, systeemtijd, CPU-architectuur, afbeeldingscompatibiliteit, poortconflicten en...

10 Zelfgehoste Apps Die Je Moet Proberen op een Thuisserver
Ontdek 10 praktische zelfgehoste apps, waaronder Immich, Jellyfin, Vaultwarden, Nextcloud, Home Assistant, Stirling-PDF en AdGuard Home.

