Technik

Native Swift. Eigene Engine. Eigener libmpv-Build.

Neverlag für Mac, iPhone, iPad und Apple TV ist eine native Swift-App. Zwischen Anbieter und Decoder sitzt eine eigene Engine, die den Stream holt, hält und zusammenfügt. Der Decoder ist ein eigener Build von libmpv. Diese Seite sagt, was das heisst – für Leute, die es genau wissen wollen.

Stand 12. Oktober 2026mpv 0.41.0FFmpeg 8.0.3

Neverlag ist ein IPTV-Player für Apple TV, iPhone, iPad, Mac und Fire TV für Xtream-Codes- und M3U-Anbieter. Er trennt das Holen des Streams vom Abspielen, damit Verbindungsabbrüche nicht zu Neuladen führen. Gemessen: 60 Sekunden Verbindungsverlust ohne Neuladen.

Kurz gesagt

  • Neverlag für Mac, iPhone, iPad und Apple TV ist eine native Swift-App – kein Webview, kein plattformübergreifendes Framework, je Plattform ein eigenes Build-Ziel.
  • Der Decoder ist libmpv, die Bibliotheksform von mpv, als eigener Build: mpv 0.41.0 mit FFmpeg 8.0.3, LGPL, ohne GPL-Teile, ohne den mpv-Player.
  • Zwischen Anbieter und Decoder sitzt Neverlags eigene Engine. Sie hält die Verbindung, baut einen Vorrat auf, erkennt Abbrüche, Lieferpausen und Zeitsprünge, verbindet neu und fügt die Teile zu einem durchgehenden Strom zusammen.
  • Der Decoder bekommt diesen durchgehenden Strom. Bei einem Verbindungsabbruch lädt er nicht neu. Gemessen: Leitung 60 Sekunden gekappt, null Neuladen.
  • Der Kern der Engine ist vom Decoder unabhängig: Kein Teil davon ruft libmpv auf. Nur eine dünne Schicht spricht mit dem Decoder.
  • Auf dem Mac läuft der Decoder in einem eigenen Prozess, getrennt von der App.
  • Hardware-Dekodierung über Apples VideoToolbox; FFmpeg ist auf allen Plattformen damit gebaut.
  • Neverlag stellt den Bildschirm auf den Takt der Sendung, wo das Gerät es zulässt: 50 Hz am Mac im Vollbild, 120 Hz auf iPhones mit ProMotion. Ab Version 1.0.2 (erscheint in Kürze).
  • Mehrkanal-Ton mischt Neverlag auf Stereo herunter, wo es nötig ist – und nimmt den Dialog mit, der bei manchen Filmen im Tiefton-Kanal liegt. Übliche Player lassen diesen Kanal weg; gemessen an VLC und Apples AudioToolbox.
  • Neverlag IPTV Bench, ein Prüfstand für Player unter denselben Störungen, ist in Vorbereitung.

Technik

Der Weg des Streams

Ein IPTV-Stream ist ein Datenstrom vom Server des Anbieters, der nie abreissen soll – und es doch tut. Entscheidend ist, wer den Abriss sieht: der Decoder oder etwas vor ihm.

Diagramm: Der Stream fliesst vom Anbieter in die Neverlag-Engine, von dort als durchgehender Strom in den libmpv-Decoder und auf den Bildschirm. Anbieter Neverlag-Engine Verbindung · Vorrat · Erkennen Neu verbinden · Zusammenfügen durchgehender Strom libmpv-Decoder Demuxing · Dekodierung VideoToolbox Bildschirm Diagramm: Der Stream fliesst vom Anbieter in die Neverlag-Engine, von dort als durchgehender Strom in den libmpv-Decoder und auf den Bildschirm. Anbieter Neverlag-Engine Verbindung · Vorrat · Erkennen Neu verbinden · Zusammenfügen durchgehender Strom libmpv-Decoder Demuxing · Dekodierung · VideoToolbox Bildschirm
Der Decoder sieht nur den durchgehenden Strom aus der Engine – nie den Anbieter.

Ein üblicher Player

Ein üblicher Player lässt den Decoder den Stream selbst holen. Reisst die Verbindung, merkt der Decoder es, wenn sein Puffer leer ist – und lädt neu. Das Bild steht, der Satz wiederholt sich, das Zurückspulen ist weg.

Sein Vorrat ist ein fester Lesepuffer von wenigen Megabyte: bei HD ein paar Sekunden bis eine halbe Minute, und er wächst nicht nach. Reisst die Verbindung, muss der Decoder neu laden – neue Verbindung, neuer Anlauf, der Rückspulpuffer beginnt von vorn. Eine Stelle, an der sich die neue Verbindung an die alte anschliessen liesse, gibt es nicht. Er kann den Abbruch nicht vor dem Decoder verbergen.

Neverlag

Neverlag baut anders. Die Engine holt den Stream vom Anbieter und hält einen Vorrat auf dem Gerät. Sie überwacht die Lieferung, erkennt Abbrüche, Lieferpausen und Zeitsprünge, verbindet im Hintergrund neu und fügt die neue Verbindung an den Vorrat an.

Der Decoder bekommt einen durchgehenden Strom. Bei einem Verbindungsabbruch sieht er keinen Abbruch und lädt nicht neu. Startet der Anbieter den Stream neu, setzt die Engine den Strom neu an: 0.44 Sekunden Standbild, kein schwarzes Bild.

Gemessen am 8. September 2026: Leitung des Geräts 20, 30, 45 und 60 Sekunden gekappt – null Neuladen in jedem Lauf, neue Verbindung 1.1 bis 2.1 Sekunden nach Rückkehr des Servers.

Was die Engine tut

Sieben Aufgaben, alle vor dem Decoder. Jede mit einer Messung aus dem Playback Lab, wo es eine gibt.

  1. 01

    Verbindung halten

    Die Engine hält die Verbindung zum Anbieter und holt den Stream voraus – getrennt vom Abspielen.

    5 Minuten ungestört: 2 Anfragen ans Konto, 2 Stream-Verbindungen, 0 Neuladen (24. September 2026).

  2. 02

    Vorrat

    30 bis 60 Sekunden Sendung liegen auf dem Gerät, bevor sie gespielt werden. Der Vorrat ist der Spielraum, den jede Störung zuerst aufbrauchen muss.

    Leitung 20 s gekappt bei 30 s Vorrat: 0 Neuladen, 0 Wechsel, ein Stocken von 0.6 s (25. September 2026).

  3. 03

    Erkennen

    Abbruch, Lieferpause, Zeitsprung, zu langsame Leitung: Die Engine erkennt die Störung am Datenstrom, bevor das Bild steht – nicht am Standbild.

    Sender beim Anbieter tot: Wechsel auf den anderen Weg nach 14 s, erstes Bild 1.2 s nach dem Wechsel (24. September 2026).

  4. 04

    Neu verbinden

    Die neue Verbindung entsteht im Hintergrund, während der Vorrat weiterspielt.

    Neue Verbindung 1.1 bis 2.1 s nach Rückkehr des Servers (8. September 2026).

  5. 05

    Zusammenfügen

    Die Engine fügt die neue Verbindung an den Vorrat an. Der Decoder bekommt einen durchgehenden Strom und lädt nicht neu.

    Leitung 60 s gekappt: 0 Neuladen (8. September 2026).

  6. 06

    Ein Schiedsrichter

    Bei einer Störung reagiert genau ein Mechanismus – neu verbinden, Qualität senken oder den Weg wechseln, nie alles zugleich. Jede Entscheidung steht in der Diagnose.

  7. 07

    Langsame Leitung

    Liefert die Leitung dauerhaft weniger, als der Sender braucht, passt Neverlag die Wiedergabe an, statt neu zu laden.

    15 Minuten auf rund 90 % des Bedarfs gedrosselt: 42 Aussetzer ohne Anpassung, 0 mit, 1 Verbindung (9. September 2026).

libmpv

Der Decoder: libmpv, eigener Build

Neverlag dekodiert mit libmpv, der Bibliotheksform des Players mpv. Der mpv-Player selbst ist nicht enthalten: keine Kommandozeile, kein Lua, kein JavaScript, keine GPL-Teile.

Der Build ist unser eigener. mpv 0.41.0 und FFmpeg 8.0.3 kommen aus den unveränderten Release-Archiven, dazu libplacebo 7.360.1, libass 0.17.3, FreeType 2.13.3, FriBidi 1.0.16 und HarfBuzz 10.1.0 – gebaut mit Apples clang für arm64 (Mac zusätzlich x86_64), je Plattform zu einem Framework gelinkt und als Libmpv.xcframework in die App eingebettet.

FFmpeg ist in strikter LGPL-Konfiguration gebaut – ohne GPL- und ohne Non-free-Teile. Kein x264, kein x265, kein fdk-aac, kein OpenSSL – verschlüsselte Verbindungen laufen über das System von Apple. Der Build bricht ab, wenn GPL-Code hineinkäme.

FFmpeg, libplacebo, libass, FreeType, FriBidi und HarfBuzz sind unverändert – kein Patch, nur Konfiguration. Der Codec-Satz ist der native von FFmpeg, ohne externe Codec-Bibliotheken.

Hardware-Dekodierung über VideoToolbox, Software-Dekodierung als Rückfall, wo Apples Hardware ein Format nicht annimmt – etwa bei Halbbild-Material. Ton über Apples Audio-Stack, Untertitel über libass, GPU-Verarbeitung über libplacebo auf Mac, iPhone und iPad; auf dem Apple TV bringt Neverlag jedes Bild selbst auf den Bildschirm.

Das Medien-Framework (Libmpv.framework) liegt als eigene, dynamisch geladene Datei im App-Bundle. Die App nutzt nur die öffentliche libmpv-Schnittstelle. Du darfst das Framework durch einen eigenen Build mit gleicher Schnittstelle ersetzen (LGPL 2.1 § 6 b); auf dem Mac ersetzt du jede Kopie davon im Bundle. Auf iPhone, iPad und Apple TV verlangt Apple zusätzlich, dass das ganze App-Bundle mit eigenem Entwicklerzertifikat neu signiert wird – das gibt die Plattform vor, nicht die Lizenz. Quellen, Patch und Build-Skripte dafür erhältst du über das schriftliche Angebot. Die Stream-Engine selbst steckt nicht im Framework, sondern in der App – ein Austausch des Frameworks lässt sie unberührt.

Was wir an mpv geändert haben

Wir haben mpv nicht einfach übernommen. Für Apple-Plattformen haben wir das Build-System umgebaut, damit libmpv auf Mac, iPhone, iPad und Apple TV ohne die Desktop-Abhängigkeiten des mpv-Players läuft. Und wir haben die Render-Schnittstelle von libmpv um einen Weg erweitert, über den dekodierte Bilder direkt in Neverlags eigene Darstellung gehen – ohne Umweg über die Ausgabewege von mpv. Das ist die Grundlage für Neverlag auf dem Apple TV: Dort bringt die App jedes Bild selbst auf den Bildschirm. FFmpeg und alle übrigen Bibliotheken sind unverändert. Die Änderungen stehen unter LGPL 2.1 oder neuer; den Patch liefern wir über das schriftliche Angebot auf der Open-Source-Seite.

Open Source: Komponenten, Lizenzen, Prüfsummen und Quellangebot

Die Grenze zwischen Engine und Decoder

Die Engine ist vom Decoder unabhängig. Ihr Kern – Verbindung, Vorrat, Erkennen, Neuverbinden, Schiedsrichter, Diagnose – enthält keinen einzigen Aufruf von libmpv.

Nur eine dünne Schicht spricht mit dem Decoder, über die öffentliche libmpv-API. Der Kern hängt nicht an mpv.

Auf dem Mac läuft der Decoder in einem eigenen Prozess, getrennt von der App. Ein Absturz des Decoders reisst die App nicht mit. Auf iPhone, iPad und Apple TV läuft er im Prozess der App – die Plattform erlaubt keinen zweiten.

Die Diagnose sitzt in der Engine, nicht im Decoder. Sie sieht Verbindung, Vorrat und jede Entscheidung des Schiedsrichters. Ihr Urteil steht in der App: ob es der Anbieter war, dein WLAN oder dein Gerät. Das Journal hält zu jeder Störung fest, wer sie ausgelöst hat – Anbieter, Netz oder Gerät.

Bild und Ton

Neverlag stellt den Bildschirm auf den Takt der Sendung, wo das Gerät es zulässt. Ab Version 1.0.2 (erscheint in Kürze) schaltet der Mac im Vollbild auf 50 Hz für Sendungen mit 25 und 50 Bildern pro Sekunde und danach zurück. Gemessen: 50 Hz gehalten, Bildabstand 20.0 ms, kein Bild ausserhalb des Takts.

iPhones mit ProMotion zeigen Video mit 120 Hz. Am Apple TV ist «Bildrate anpassen» eine Einstellung des Systems.

Mehrkanal-Ton (5.1) mischt Neverlag auf Stereo herunter, wo es nötig ist. Dabei prüft es je Datei, ob der Dialog im Tiefton-Kanal liegt, und nimmt ihn mit. Übliche Player lassen diesen Kanal beim Mischen auf zwei Lautsprecher weg – gemessen an VLC und Apples AudioToolbox. Ab Version 1.0.2 (erscheint in Kürze).

Playback Lab

Woher die Zahlen kommen

Jede Neverlag-Installation führt ein Wiedergabe-Journal auf dem Gerät: Verbindungen, Vorrat, Störungen, jede Entscheidung des Schiedsrichters. Es verlässt das Gerät nicht, ausser du teilst es selbst mit dem Support.

Im Playback Lab spielen wir aufgezeichnete Störungen gegen den Release-Build: Leitung gekappt, Leitung gedrosselt, Stream neu gestartet, Sender tot. Jeder Lauf steht mit Datum im Lab und in den Fakten.

Neverlag IPTV Bench – ein Prüfstand, der Player unter denselben Störungen misst – ist in Vorbereitung.

Neuladen
Leitung 60 s gekappt, 8. September 2026
Standbild
Stream beim Anbieter neu gestartet, 24. September 2026
neue Verbindung
nach Rückkehr des Servers, 8. September 2026
Verbindungen
in 5 Minuten ungestört, 24. September 2026

Komponenten und Lizenzen

Neverlag selbst ist nicht Open Source. Die Bibliotheken sind es und bleiben unter ihren Lizenzen. Versionen aus der Build-Konfiguration, beim Bau dieser Seite gelesen.

KomponenteVersionLizenzRolle
mpv (libmpv) 0.41.0 LGPL-2.1-or-later Wiedergabekern, von Neverlag für Apple-Plattformen umgebaut. (alle Plattformen)
FFmpeg 8.0.3 LGPL-2.1-or-later Container, Protokolle und Decoder. (alle Plattformen)
libplacebo 7.360.1 LGPL-2.1-or-later GPU-Verarbeitung: Farbmanagement, Skalierung, Tone-Mapping. (alle Plattformen)
libass 0.17.3 ISC Untertitel-Darstellung. (alle Plattformen)
FreeType 2.13.3 FTL Schrift-Rendering für Untertitel. (alle Plattformen)
FriBidi 1.0.16 LGPL-2.1-or-later Bidirektionaler Text für Untertitel. (alle Plattformen)
HarfBuzz 10.1.0 MIT Text-Shaping für Untertitel. (alle Plattformen)
GRDB.swift 7.11.1 MIT Datenbank für Katalog und Programmführer. (alle Plattformen)

Die Komponenten mit Versionen und Lizenzen, die Prüfsummen der Quellarchive und das schriftliche Quellangebot nach LGPL 2.1 stehen auf der Open-Source-Seite.

Plattformen

GerätTechnik
Mac macOS 14 oder neuer, Apple Silicon und Intel. Decoder in eigenem Prozess, Bild über OpenGL.
iPhone und iPad iOS und iPadOS 17 oder neuer, arm64. Decoder im Prozess der App, Bild über OpenGL.
Apple TV tvOS 17 oder neuer, arm64. Decoder im Prozess der App; eigenes Render-Backend, Bild ohne Kopie, gezeichnet mit Metal.
Fire TV Eigene App als direkter Download, mit denselben Mechanismen: Vorrat, neue Verbindung im Hintergrund, anderer Weg, 4K kommt von selbst zurück.
Android Android — in Arbeit, Play-Store-Fassung folgt.

Fragen zur Technik

Worauf basiert Neverlag?

Auf einer eigenen Engine in Swift, die den Stream holt, hält und zusammenfügt, und auf libmpv als Decoder – einem eigenen LGPL-Build von mpv 0.41.0 mit FFmpeg 8.0.3. Die App ist native Swift für Mac, iPhone, iPad und Apple TV.

Ist Neverlag nur ein mpv-Frontend?

Nein. Die meisten Player dekodieren mit FFmpeg – VLC, mpv und Kodi eingeschlossen. Der Unterschied entsteht davor: beim Holen, Puffern, Überbrücken und Zusammenfügen des Stroms. Genau das hat Neverlag neu gebaut. mpv dekodiert – alles davor ist Neverlags eigene Stream-Engine: Verbindung halten, Vorrat aufbauen, Abbrüche erkennen, im Hintergrund neu verbinden, die Teile zu einem durchgehenden Strom zusammenfügen, Diagnose. Ihr Kern enthält keinen einzigen libmpv-Aufruf. Dazu haben wir libmpv für Apple-Plattformen umgebaut und seine Render-Schnittstelle erweitert; auf dem Apple TV bringt die App jedes Bild selbst auf den Bildschirm, auf dem Mac läuft der Decoder in einem eigenen Prozess.

Ist Neverlag ein Webview oder ein plattformübergreifendes Framework?

Nein. Neverlag ist in Swift geschrieben und wird je Plattform als eigene native App gebaut – Mac, iPhone und iPad, Apple TV. Kein Webview, kein Electron, kein Flutter, kein React Native.

Warum lädt der Decoder bei einem Abbruch nicht neu?

Weil er den Abbruch nicht sieht. Die Engine hält einen Vorrat von 30 bis 60 Sekunden auf dem Gerät, verbindet im Hintergrund neu und fügt die neue Verbindung an den Vorrat an. Der Decoder bekommt einen durchgehenden Strom.

Gemessen am 8. September 2026: Leitung 60 Sekunden gekappt, null Neuladen, neue Verbindung 2.1 Sekunden nach Rückkehr des Servers.

Welche Formate und Codecs spielt Neverlag?

MPEG-TS und HLS vom Anbieter; als Container ausserdem MP4/MOV, Matroska, MPEG-PS und FLV. Video: H.264, HEVC, MPEG-2, MPEG-4 und VP9 – in Hardware über VideoToolbox, wo der Chip den Codec beherrscht, sonst in Software; AV1 nur auf Geräten mit AV1-Hardware. Ton: AAC, AC-3, E-AC-3, MP2, MP3, Opus, FLAC. Alles native FFmpeg-Decoder, keine externe Codec-Bibliothek. Kein DRM.

Welche Daten verlassen das Gerät?

Keine an Neverlag. Die App spricht mit deinem Anbieter und mit dem App Store. Kein Konto, kein Tracking, keine Analytik. Das Wiedergabe-Journal bleibt auf dem Gerät; du exportierst es selbst, wenn du es dem Support schicken willst.

Kann ich das Medien-Framework austauschen?

Ja. Das Medien-Framework (Libmpv.framework) liegt als eigene, dynamisch geladene Datei im App-Bundle. Die App nutzt nur die öffentliche libmpv-Schnittstelle. Du darfst das Framework durch einen eigenen Build mit gleicher Schnittstelle ersetzen (LGPL 2.1 § 6 b); auf dem Mac ersetzt du jede Kopie davon im Bundle. Auf iPhone, iPad und Apple TV verlangt Apple zusätzlich, dass das ganze App-Bundle mit eigenem Entwicklerzertifikat neu signiert wird – das gibt die Plattform vor, nicht die Lizenz. Quellen, Patch und Build-Skripte dafür erhältst du über das schriftliche Angebot. Die Stream-Engine selbst steckt nicht im Framework, sondern in der App – ein Austausch des Frameworks lässt sie unberührt.

Was ist der Neverlag IPTV Bench?

Ein Prüfstand, der Player unter denselben aufgezeichneten Störungen misst wie das Playback Lab. In Vorbereitung; mehr dazu, wenn er läuft.

Stand 12. Oktober 2026

Neverlag ist ein Player. Du benötigst eine eigene M3U-Playlist oder Zugangsdaten eines IPTV-Anbieters. Neverlag enthält, liefert und vermittelt keine Inhalte.