Deze pagina is vertaald door PageTurner AI (beta). Niet officieel goedgekeurd door het project. Een fout gevonden? Probleem melden →
Codec-tabellen
Het doel is om alle media via Direct Play af te spelen. Dit betekent dat de container, video, audio en ondertiteling allemaal compatibel zijn met de client. Als media om welke reden dan ook incompatibel is, gebruikt Jellyfin FFmpeg om de media om te zetten naar een formaat dat de client kan verwerken. Direct Stream treedt op als de audio, container of ondertiteling niet ondersteund wordt. Als de videocodec niet ondersteund wordt, resulteert dit in videotranscoding. Ondertiteling kan lastig zijn omdat dit Direct Stream (ondertiteling wordt geremuxed) of videotranscoding (inbranden van ondertiteling) kan veroorzaken. Dit is de meest CPU-intensieve component van transcoding. Decoderen is minder intensief dan encoderen.
Video-compatibiliteit
Test de compatibiliteit van je browser voor elk codec-profiel.
| Sorted by efficiency (excluding bit depth) | Chrome | Edge | Firefox | Safari | Android | Android TV | iOS | SwiftFin (iOS) | Roku | Kodi | Jellyfin Media Player |
|---|---|---|---|---|---|---|---|---|---|---|---|
| MPEG-4 Part 2/SP | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| MPEG-4 Part 2/ASP | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ✅ | |
| H.264 8Bit | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| H.264 10Bit | ✅ | ✅ | ❌ | 🔶12 | ✅ | ✅ | ❌ | ✅ | ❌ | ✅ | ✅ |
| H.265 8Bit | 🔶8 | ✅7 | ✅15 | 🔶1 | 🔶2 | ✅5 | 🔶1 | ✅6 | 🔶9 | ✅ | ✅ |
| H.265 10Bit | 🔶8 | ✅7 | ✅15 | 🔶1 | 🔶2 | 🔶5 | 🔶1 | ✅6 | 🔶9 | ✅ | ✅ |
| VP9 | ✅ | ✅ | ✅ | ✅10 | ✅3 | 🔶3 | ❌ | ✅13 | ✅ | ✅ | ✅ |
| AV1 | ✅ | ✅ | ✅ | 🔶11 | ✅ | 🔶4 | ❌ | 🔶14 | ✅ | ✅ | ✅ |
1HEVC is only supported in MP4, M4V, and MOV containers.
2Android playback is currently broken. Client reports that HEVC is supported and attempts to Direct Stream.
3May be (partially) dependent on Hardware support (can be compensated with CPU decoding on Android). Most new Android phones in the higher price range and many "4K" Android TV devices have VP9 hardware decoding support. Refer to you manufacturer for supported codecs.
4Needs at least Android TV 10.
5As of version 0.12, HEVC is enabled on all devices running Android 5.0+, but early generations of the Amazon Fire may not work yet. 10Bit may be supported depending on your device. Before Client 0.12, HEVC support was enabled on specific devices.
6HEVC decoding is supported on Apple devices with the A8X chip or newer and at least iOS 14.
7HEVC decoding is only supported on Windows 10 with the HEVC Video Extension from the Microsoft store.
8Chromium 107 does support HEVC decoding when HEVC hardware decoding is available.
9HEVC decoding is only supported on 4K devices.
10VP9 decoding on Safari requires at least Safari 14.
11AV1 decoding is only available on devices with A17 or M3 series chips or newer and requires at least Safari 17.
12Need to be manually enabled in Settings > Playback > Enable H.264 High 10 Profile. Playback on Apple Silicon Macs with macOS version < 14 and Intel Macs with all macOS versions may result in blank frames if this is enabled.
13VP9 is only available with Swiftfin (VLCKit) player.
14AV1 is enabled by default for Swiftfin (VLCKit). AV1 is disabled by default but can be enabled for Native (AVKit) using Custom Device Profiles. Enabling AV1 may result in a poor experience for SOCs prior to A17.
15Requires Firefox 134+ for Windows, 136+ for macOS, and 137+ for Linux. On Windows 11 22H2+ and Windows 10 1507-1709, you can play H.265 (HEVC) video natively. Windows 10 1803+ and Windows 11 21H2 need the HEVC video extension from Microsoft Store. Linux requires system ffmpeg for support.
| MPEG-2 Part 2 | MPEG-4 Part-21 | MPEG-4 Part-10 | MPEG-4 Part-14 | MPEG-H Part 2 |
|---|---|---|---|---|
| H.262 | MPEG-4 SP/ASP | H.264 | MP4 Container2 | H.265 |
| MPEG-2 Video | DivX | MPEG-4 AVC | HEVC | |
| DVD-Video | DX50 |
2 MPEG-4 Part 17: MP4TT Subtitles
Ondersteuning voor HDR
HDR wordt alleen ondersteund op een zeer beperkt aantal apparaten:
-
iOS-apparaten met een HDR-capabel intern scherm kunnen HDR-inhoud weergeven bij gebruik van een browser of de Jellyfin iOS-app (niet Swiftfin), mits de client de codec ondersteunt. Alle apparaten ondersteunen HEVC en VP9, terwijl nieuwere apparaten ook AV1 ondersteunen. HDR10, Dolby Vision en HLG worden ondersteund.
-
Android-apparaten met de officiële Android-app of Chrome kunnen HDR-inhoud weergeven als het apparaat HDR ondersteunt en het bronformaat compatibel is. De ondersteunde formaten zijn afhankelijk van het apparaat.
-
Macs met macOS die HDR ondersteunen, kunnen HDR-inhoud afspelen via Safari, Chrome of Firefox op een HDR-capabel scherm, mits de broncodec wordt ondersteund. Safari biedt de meest complete ondersteuning, inclusief HDR10, Dolby Vision (inclusief P5) en HLG. Chrome en Firefox ondersteunen alleen HDR10. Chrome ondersteunt HDR10 op HEVC, VP9 en AV1. Firefox ondersteunt HDR alleen bij VP9- en AV1-inhoud. Raadpleeg de lijst van HDR-capabele Macs om te controleren of uw apparaat wordt ondersteund. Op niet-Apple-schermen worden andere HDR-formaten door het clientapparaat getone mapped naar HDR10.
-
Windows-pc's met een HDR-scherm waarop HDR is ingeschakeld in de instellingen, via Edge of Chrome. Dolby Vision werkt alleen in Edge en vereist dat de Dolby Vision-add-on uit de Microsoft Store is geïnstalleerd. Edge produceert over het algemeen betere kleuren dan Chrome bij het afspelen van HDR-inhoud.
-
Android TV-apparaten met HDR-ondersteuning die de officiële Android TV-app gebruiken. De ondersteunde HDR-formaten zijn afhankelijk van het specifieke apparaat.
-
WebOS-apparaten (nieuwere LG-smart-tv's) met de officiële WebOS-client ondersteunen HDR. Echter kunnen mkv-containers problemen veroorzaken. Schakel als tijdelijke oplossing de optie "Forceer remux van mkv naar mp4" in de clientinstellingen in.
-
Sommige Chromium-gebaseerde browsers op Linux proberen client-side HDR naar SDR tone mapping toe te passen. Dit ziet er over het algemeen zeer slecht uit. De server is hierbij niet betrokken.
Apparaten die niet hierboven staan vermeld, ondersteunen HDR niet in officiële clients. HDR-inhoud moet door de server worden omgezet naar SDR voor correcte afspeel op deze clients. Voor meer informatie raadpleegt u onze documentatie over tone mapping
Audio-compatibiliteit
Als de audiocodec niet ondersteund of incompatibel is (bijvoorbeeld het afspelen van een 5.1-kanaals stream op een stereo-apparaat), moet de audiocodec getranscodeerd worden. Dit is lang niet zo intensief als videotranscoding.
| Codec | Chrome | Edge | Firefox | Safari | Android | Android TV | iOS | SwiftFin (iOS) | Roku | Kodi | Desktop |
|---|---|---|---|---|---|---|---|---|---|---|---|
| FLAC | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MP3 | 🔶1 | ✅ | 🔶 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| AAC | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| AC3 | ✅ | ✅ | ❌ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
| EAC32 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | |
| VORBIS3 | ✅ | ✅ | ✅ | ✅8 | ✅ | ❌ | ✅8 | ✅ | ✅ | ✅ | ✅ |
| DTS4 | ❌ | ❌ | ❌ | ❌ | ✅ | ✅ | ❌ | ✅ | ✅6 | ✅ | ✅ |
| OPUS | ✅ | ✅ | ✅ | ✅5, 7, 8 | ✅ | ✅ | ✅5, 7, 8 | ✅ | ✅ | ✅ | ✅ |
| ALAC | ❌ | ❌ | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ |
| MPEG-1 | MPEG-2 |
|---|---|
| MP2 (layer 2) | AAC (Part 7) |
| MP3 (layer 3) |
1MP3 Mono is incorrectly reported as unsupported and will transcode to AAC.
2Only EAC3 2.0 has been tested.
3OGG containers are not supported and will cause VORBIS to convert.
4Only DTS Mono has been tested.
5Safari only supports opus in .caf files
6Supported via passthrough on all devices. Native support for AC3 & E-AC3 on Roku TVs & Ultra.
7iOS 17 / macOS 14 and above supports stereo Opus in MP4 containers.
8iOS 18.4 / macOS 15.4 and above supports Vorbis and Opus in OGG containers.
ATSC-standaard voor AC-3 en EAC-3.
Ondertitelingscompatibiliteit
Ondertiteling kan een subtiel probleem zijn bij transcoding. Containers ondersteunen een beperkt aantal ondertitelingsformaten. Als ondertiteling getranscodeerd moet worden, gebeurt dit op één van twee manieren: óf ze worden omgezet naar een ander ondersteund formaat, óf ze worden in de video ingebrand als de ondertitelingsconversie niet ondersteund wordt. Het inbranden van ondertiteling is de meest intensieve transcodeermethode. Dit komt doordat er twee transcodings tegelijk plaatsvinden: het toepassen van de ondertitellaag bovenop de videolaag.
Hier is een overzicht van veelvoorkomende ondertitelingsformaten.
| Subtitle Format | Format | TS | MP4 | MKV | AVI |
|---|---|---|---|---|---|
| SubRip Text (SRT) | Text | ❌ | 🔶 | ✅ | 🔶 |
| WebVTT (VTT)1 | Text | ❌ | ❌ | ✅ | 🔶 |
| ASS/SSA | Formatted Text | ❌ | ❌ | ✅ | 🔶 |
| VobSub2 | Picture | ✅ | ✅ | ✅ | 🔶 |
| MP4TT/TXTT | XML | ❌ | ✅ | ❌ | ❌ |
| PGSSUB | Picture | ❌ | ❌ | ✅ | ❌ |
| EIA-608/7083 | Embedded | ✅ | ✅ | ✅ | ❌ |
1VTT are supported in an HLS Stream.
2DVB-SUB (SUB + IDX) is another name for VobSub files.
3EIA-608/708 subtitles are embedded in private channels (channel 21) in a MPEG video codec. EIA-608 are standard CC subtitles with the black bar background, while EIA-708 are typically SDH.
Soorten ondertiteling
Er zijn veel soorten ondertiteling. Gesloten, open, ingebrand, gedwongen, SDH en CC behoren tot de meest voorkomende. Het formaat (zoals SubRIP of VobSUB) maakt niet uit voor het type ondertiteling.
Gesloten ondertiteling
Dit is de algemene naam voor ondertiteling die aan- of uitgezet kan worden. Dit kan gedwongen ondertiteling, SDH, CC of normale ondertiteling zijn.
Ingebrande ondertiteling
Open ondertiteling (ook wel ingebrande ondertiteling genoemd) is ondertiteling die permanent in de video is geplaatst en niet uitgezet kan worden. Open ondertiteling is het meest voorkomende type, waarbij de ondertiteling onderdeel is van de videostream en niet in- of uitgeschakeld kan worden.
SDH en gesloten bijschriften
SDH en CC zijn ondertiteling voor doven en slechthorenden. Ze bevatten extra informatie zoals achtergrondgeluiden. SDH en CC worden niet gedefinieerd door een specifiek ondertitelingsformaat, maar door hun doel. Bij gebruik van een OTA-tuner en DVR worden de ondertitels in de video ingebed, en transcoderen voor het extraheren ervan zal de ondertitels beschadigen.
Geforceerd
"Geforceerde ondertiteling komt vaak voor bij films en biedt alleen ondertitels wanneer personages een vreemde of buitenaardse taal spreken, of wanneer een bord, vlag of andere tekst in een scène niet is vertaald tijdens de lokalisatie- en nasynchronisatieprocedure. In sommige gevallen kan buitenlandse dialoog onvertaald blijven als de film bedoeld is om gezien te worden vanuit het perspectief van een specifiek personage dat de betreffende taal niet spreekt." - Wikipedia
Ondertitels extraheren
Om ondertitels te extraheren kunnen de volgende commando's worden gebruikt. Het gedeelte 0:s:0 betekent de eerste ondertitel, dus 0:s:1 zou de tweede ondertitel zijn.
SSA/ASS-ondertitels
ffmpeg -dump_attachment:t "" -i file.mkv -map 0:s:1 -c:s ass extracted-subtitle.ass
Opgenomen OTA-inhoud
Via ether opgenomen inhoud heeft meestal ondertitels ingebed in de videocodec zelf. Dit zijn meestal EIA-608 voor analoge en EIA-708 voor digitale signalen.
ffmpeg -f lavfi -i "movie=Ronin (1998).ts[out+subcc]" -map 0:1 "Ronin (1998).srt"
Lettertypen
Op tekst gebaseerde ondertitelingsformaten vereisen lettertypen voor correcte weergave. Raadpleeg Lettertypen voor installatie-instructies.
Containercompatibiliteit
Als de container niet wordt ondersteund, resulteert dit in remuxen. De video- en audiocodec blijven intact maar worden verpakt in een ondersteunde container. Dit is het minst intensieve proces. De meeste videocontainers worden geremuxed naar het HLS-streamingprotocol met TS-containers. Remuxen zou zelfs voor een RPi3 geen probleem moeten zijn.
| Container | Chrome | Edge | Firefox | Safari | Android | Android TV | Kodi | Roku |
|---|---|---|---|---|---|---|---|---|
| MP41 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| MKV2, 3, 8 | ❌ | ✅ | ❌ | ❌ | ✅ | ✅ | ✅ | ✅ |
| WebM3, 5, 6 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| TS4 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
| OGG5, 7 | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ | ✅ |
1MP4 containers are one of the few containers that will not remux.
2MKV containers can hold nearly any codec, but are not compatible with streaming in Firefox and will remux.
3MKV containers are improperly labeled as WebM in Firefox during playback.
4TS is one of the primary containers for streaming for Jellyfin.
5WebM and OGG have limited codec support (by design), refer to this for WebM and this for OGG.
6WebM on Safari requires at least Safari 14.
7OGG on Safari requires at least iOS 18.4 / macOS 15.4
8MKV support in Firefox is currently disabled in Jellyfin, as there are significant issues making it unusable for Jellyfin. 1 2