Catch-up und Timeshift: was sie sind und warum Ihr Fenster kürzer ist als beworben

Ein Anbieter, der ein Archiv von sieben Tagen bewirbt, und ein Client, der zwei Tage zeigt, sagen meist beide die Wahrheit. Die Grenze ist der Programmführer, nicht das Archiv.

Drei Wörter werden für sich überschneidende Dinge verwendet. Trennen Sie sie zuerst.

Timeshift ist das Anhalten oder Zurückspulen eines Live-Streams, den Sie gerade sehen. Catch-up ist das Öffnen einer bereits beendeten Sendung aus dem Archiv Ihres Anbieters. Aufnahme ist das Mitschneiden eines Streams in eine Datei auf Ihrem eigenen Rechner.

Sie sind unterschiedlich umgesetzt, sie scheitern unterschiedlich, und nur eines davon liegt vollständig in Ihrer Hand.

Warum Sie einen Live-Stream meist nicht zurückspulen können

Beginnen wir mit dem, von dem die Leute erwarten, dass es funktioniert, und das es meist nicht tut.

Ein Live-IPTV-Stream ist in seiner normalen Form eine einzige HTTP-Antwort, die nie endet. Es gibt keine Länge. Es gibt keinen Index. Der Server schreibt Bytes und der Player liest sie, und keiner von beiden hat einen Begriff von einer Position vor 10 Minuten, weil nichts sie aufbewahrt hat.

Die eigene Sperre des Clients für das Spulen im Live-Betrieb bildet das genau ab: der Player muss den Stream als spulbar melden und eine positive Länge muss verfügbar sein. Beides muss zutreffen. Der Transportweg geht überhaupt nicht ein.

Der Test, der das abdeckt, trägt den ehrlichen Kommentar: ein typischer Live-Transportstrom kann einen Demuxer haben, der Spulbarkeit behauptet, während es keine Länge gibt, gegen die man spulen könnte. Eine Behauptung ohne Länge ist keine Fähigkeit.

Manche Anbieter bieten sehr wohl ein zurückspulbares Live-Fenster an. Wo sie es tun, ist es als Archiv umgesetzt und nicht als Eigenschaft des Live-Streams, und das bringt uns zu dem Mechanismus, auf den es ankommt.

Wie Catch-up tatsächlich funktioniert

Ein Anbieter, der ein Archiv führt, nimmt seine eigenen Sender fortlaufend in Speicher auf seiner Seite auf. Ihr Client streamt nicht aus einer gespeicherten Datei mit einem Namen; er fragt nach einem Ausschnitt aus der Zeitachse des Senders.

Die strukturelle Tatsache ist, dass der Client diese Anfrage konstruiert. Es wird nirgends eine Adresse je Sendung geliefert. Der Baumeister nimmt einen Sender, eine Startzeit und eine Dauer und erzeugt eine Adresse:

live      http://line.example.com:8080/user/pass/12345.ts
catch-up  http://line.example.com:8080/timeshift/user/pass/120/2026-08-30:21-00/12345.ts
                                                  ^^^  ^^^^^^^^^^^^^^^^^^^^
                                                  minutes    start, local time

Daraus folgen zwei Dinge, und beide erklären Meldungen, die sonst wie Fehler aussehen.

Ein Portal, das Archive unterstützt, aber seine Pfade anders anlegt, bekommt eine Anfrage nach einer Adresse, die es dort nicht gibt. Vom Sofa aus sieht das nach einer fehlenden Sendung aus und nicht nach einer falschen Adresse.

Und die Startzeit und die Dauer kommen aus einer Programmzeile. Catch-up hängt also vollständig vom Programmführer ab.

Der Grund, warum Ihr Fenster kürzer ist als beworben

Ihr Anbieter sagt 7 Tage. Sie erreichen 2. Nichts ist kaputt und niemand lügt.

Ein Catch-up-Eintrag entsteht aus einer Programmzeile in Ihrem Programmführer. Eine Sendung, die Ihr Programmführer nicht mehr hält, hat keine Zeile und daher nichts zu öffnen. Die erreichbare Tiefe ist also der jeweils kleinere Wert: das Archivfenster des Anbieters oder Ihre Aufbewahrung des Programmführers.

Auch die Aufbewahrung ist kein Zufall. Der Auswerter behält standardmäßig 8 Tage vorwärts und 1 Tag zurück, begrenzt auf 14 und 7, und er verwirft Sendungen außerhalb dieses Fensters schon während der Auswertung, statt sie zu speichern und später aufzuräumen. Ein Programmführer, der 14 Tage veröffentlicht, in einen Client, der 8 behält, verliert keine Daten durch einen Defekt.

provider archive   7 days back
guide retention    1 day back  (default)
reachable          1 day back

Wenn Ihr Catch-up-Fenster also enttäuscht, ist das, was Sie ausweiten müssen, die Aufbewahrung des Programmführers und keine Archiveinstellung. Das hat mich überrascht, als ich zum ersten Mal eine Angabe von 7 Tagen auf ein Fenster von 1 Tag zurückverfolgt habe: der natürliche Ort zum Nachsehen ist eine Archiveinstellung, und die Grenze wohnt im Auswerter des Programmführers. Es ist das Nützlichste an diesem Artikel.

Was gebaut ist und was nicht

Catch-up kam zuerst auf dem Desktop-Kopf, mit einer eigenen Katalog-Schemaversion. Die Konsolenseite ist als offene Arbeit benannt, zusammen mit den Wiedergabepositionen und der erneuten Synchronisierung der Kennzeichen. Auf einer Xbox bekommen Sie heute also Live-Sender und das Programm, und das Zurückspulen liegt in der Windows-App. Catch-up-TV auf der Xbox sagt, was Sie in der Zwischenzeit tun.

Die vorgesehene Kaskade, in der das Archivverhalten je Quelle, dann je Sender, dann gar nicht entschieden wird, ist halb gebaut. Das Erzeugen der Adressen wird ausgeliefert. Die Einstellungsoberfläche zur Wahl zwischen diesen Stufen nicht.

Die Aufnahme, also der Teil, den Sie steuern

Alles oben Genannte hängt davon ab, dass Ihr Anbieter etwas aufbewahrt. Die Aufnahme nicht.

Das Planen aus dem Programmführer ist vollständig, und der Planer ist sorgfältig mit dem, was eine Aufnahme am häufigsten ruiniert: die Zeiten im Programmführer sind auf eine Weise ungefähr, wie es Archivausschnitte nicht sind. Eine Aufnahme aus dem Programmführer verwendet an jedem Ende einen automatischen Zuschlag von 2 Prozent der Sendungsdauer, begrenzt auf zwischen 1 und 5 Minuten:

programme     margin (2% of duration, clamped to 1..5 minutes)
30 minutes    1 minute      (0.6 rounded up to the floor)
40 minutes    1 minute
2 hours       2.4 minutes
3 hours       5 minutes     (3.6 would be 3.6, the ceiling binds at longer runs)

Eine fertige Aufnahme trägt als Vorschaubild ein Einzelbild aus sich selbst statt des Senderlogos, eine Liste von Aufnahmen lässt sich also überfliegen.

Zwei Eigenschaften von Aufnahmen sind Absicht und kein Nebenprodukt.

Aufnahmen sind lokale Dateien auf dem Client, der sie gemacht hat. Der Server hält überhaupt keine Aufnahmedaten: es gibt im Synchronisierungsmodell keine Aufnahmefamilie und im Katalogdienst keine Aufnahmetypen. Die serverseitige Aufnahmeverwaltung wurde als Ziel gestrichen statt verschoben, denn ein Verzeichnis dessen, was Sie aufgenommen haben, ist Wissen darüber, was Sie sehen, und es zu halten würde den Dienst inhaltsbewusst machen. Das ist eine Linie, die dieses Produkt nicht überschreitet, und ein Cloud-Rekorder ist unter derselben Regel ein dauerhaftes Nichtziel.

Und eine laufende Aufnahme kann ihren Fortschritt nicht in Prozent melden, weil die Dauer der Eingabe unbekannt ist. Das ist dieselbe Tatsache, die das Spulen im Live-Betrieb unmöglich macht, nur an anderer Stelle. Eine laufende Aufnahme kann Ihnen sagen, wie lange sie schon läuft. Sie kann Ihnen nicht sagen, wie weit sie ist, denn es gibt kein Ende, gegen das man messen könnte.

Was eine Aufnahme mit dem Stream tatsächlich macht

Eine Aufnahme ist ein Umpacken und keine Neukodierung. Die Aufnahme-Engine treibt FFmpeg an, die Elementarströme aus dem Live-Transport in eine Datei zu kopieren, ohne irgendetwas zu dekodieren oder neu zu komprimieren. Das Bild in der Datei ist Bit für Bit das Bild, das gesendet wurde.

Daraus folgen unmittelbar zwei Dinge.

Es kostet fast nichts. Es gibt kein Dekodieren und kein Kodieren, nur Demultiplexen und Multiplexen, einen 4K-Sender aufzunehmen belastet den Rechner also nicht so, wie ihn abzuspielen. Sie können aufnehmen und dabei etwas anderes sehen.

Und es gibt keine Qualitätseinstellungen, denn es ist keine Qualitätsentscheidung zu treffen. Eine Aufnahme ist genau so gut wie der Stream, und nicht besser. Ist der Sender eine weiche 1080p-Hochskalierung, ist es die Datei auch. Voreinstellungen für die Aufnahmequalität stehen auf unserer eigenen Liste verbleibender Arbeit, und was sie tatsächlich steuern würden, wäre eine Neukodierung, und das ist eine andere Funktion mit anderen Kosten.

Eine praktische Voraussetzung: FFmpeg muss auffindbar sein. Ist es nicht vorhanden, liefert die Aufnahme einen Nicht-gefunden-Fehler zurück, statt auf halbem Weg still zu scheitern.

Wohin Aufnahmen gehen

Zwei Speicherwege werden ausgeliefert: die lokale Festplatte und eine SMB-Netzwerkfreigabe, mit einem Verbindungstest für den zweiten, damit Sie vor einer Aufnahme erfahren, dass die Zugangsdaten falsch sind, und nicht danach.

Ein SMB-Ziel ist die richtige Antwort für einen Haushalt mit einem Netzwerkspeicher, und es verändert die Rechnung erheblich. Live-Fernsehen in Sendedatenraten sind ein paar Gigabyte pro Stunde. Eine Staffel von irgendetwas füllt ein Notebook schnell.

Ein Cloud-Speicher ist nicht umgesetzt und aus dem oben genannten Grenzgrund auch nicht geplant.

Die Lücke bei der Planung

Einzelne Aufnahmen aus dem Programmführer funktionieren. Serien- und Wiederholungsaufnahmen gibt es nicht.

"Nimm jede Folge davon auf" können Sie heute also nicht verlangen; jede Folge wird einzeln aus dem Programmführer geplant. Das ist die größte einzelne Lücke in diesem Bereich des Produkts und wissenswert, bevor Sie einen Ablauf darum herum planen.

Die Verbindungskosten, die niemand einplant

Eine Sache erwischt Haushalte, und sie gilt für alle 3 dieser Mechanismen gleichermaßen.

Catch-up ist ein Stream. Eine Aufnahme ist ein Stream. Beide verbrauchen eine Anbieterverbindung, solange sie laufen, genau wie das Live-Zusehen. Ein Zugang, der 2 Verbindungen erlaubt, hat mit 1 laufenden Aufnahme noch 1 übrig.

Deshalb kann eine für den Abend geplante Aufnahme still verhindern, dass jemand anders zusieht, und deshalb heißt zwei sich überlappende Aufnahmen auf einem Zugang mit 2 Verbindungen, dass niemand irgendetwas sieht. Die Aufnahmeseite des Verbindungsbewusstseins steht auf unserer Liste verbleibender Arbeit, die App warnt Sie derzeit also nicht vor dieser Kollision, bevor sie eintritt. Maximale Verbindungen behandelt die Zählweise, einschließlich der Frage, warum eine Verbindung nach dem Ende eines Streams belegt bleiben kann.

Was Sie nehmen sollten

Wenn die Sendung bereits gelaufen ist und Ihr Anbieter ein Archiv hat, nehmen Sie Catch-up, und rechnen Sie damit, dass das erreichbare Fenster von Ihrem Programmführer begrenzt wird und nicht von der Angabe des Anbieters.

Wenn die Sendung noch nicht gelaufen ist, nehmen Sie sie auf. Sie läuft nicht ab, wenn das Fenster des Anbieters weiterrollt, und sie hängt danach nicht von der Aufbewahrung des Programmführers ab. Sie ist eine Datei, die Ihnen gehört.

Wenn Sie das Live-Fernsehen anhalten wollen, ist die ehrliche Antwort, dass Sie das meist nicht können, und der Grund ist struktureller Art und keine fehlende Funktion. MPEG-TS oder HLS behandelt, was ein Live-Stream ist und warum eine Position darin nichts ist, das es gibt.

Was dieser Artikel gemessen hat23 Behauptungen, jeweils mit den Beweisen dahinter
AnspruchBeweiseGezählt
Eine Catch-up-Adresse wird vom Client aus einem Sender, einer Startzeit und einer Dauer gebaut. Sie wird nicht je Sendung vom Programmführer oder von der API geliefert.n = 123.08.2026
Die erreichbare Catch-up-Tiefe wird von der Aufbewahrung des Programmführers begrenzt und nicht allein vom beworbenen Archiv des Anbieters, denn ein Catch-up-Eintrag entsteht aus einer Programmzeile.n = 131.08.2026
Der Auswerter des Programmführers behält standardmäßig 8 Tage vorwärts und 1 Tag zurück, begrenzt auf 14 und 7, und verwirft Sendungen außerhalb dieses Fensters schon während der Auswertung, statt sie zu speichern und später aufzuräumen.n = 131.08.2026
Die vorgesehene dreistufige Kaskade, erst Quelle, dann Sender, dann keine, ist nur teilweise umgesetzt: das Erzeugen der Adressen wird ausgeliefert, die Einstellungsoberfläche zur Wahl zwischen den Stufen nicht.n = 131.08.2026
Catch-up kam zuerst auf dem Desktop-Kopf, und die Konsolenseite ist als verbleibende Arbeit benannt, zusammen mit den Wiedergabepositionen und der erneuten Synchronisierung der Kennzeichen.n = 131.08.2026
Ob ein Live-Stream überhaupt durchsucht werden kann, ist die Und-Verknüpfung aus dem Spulbarkeits-Kennzeichen des Players und einer positiven Länge, und der Transportweg geht in diese Entscheidung nicht ein.n = 123.08.2026
Eine Aufnahme aus dem Programmführer verwendet einen automatischen Zuschlag von 2 Prozent der Sendungsdauer, begrenzt auf zwischen 1 und 5 Minuten, vor dem geplanten Beginn und nach dem im Programmführer verzeichneten Ende.n = 114.08.2026
Aufnahmen sind lokale Dateien auf dem Client und der Server hält überhaupt keine Aufnahmedaten. Die serverseitige Aufnahmeverwaltung wurde als Ziel gestrichen statt aufgeschoben.n = 116.08.2026
Die Aufnahme ist ein Umpacken und keine Neukodierung: die Aufnahme-Engine treibt FFmpeg an, die Datenströme in eine Datei zu kopieren, weshalb sie wenig Rechenleistung kostet und die Qualität nicht ändern kann.n = 131.08.2026
Aufnahmen können auf die lokale Festplatte oder auf eine SMB-Netzwerkfreigabe geschrieben werden, mit einem Verbindungstest für den Netzwerkfall, und ein Cloud-Speicher ist nicht umgesetzt.n = 231.08.2026
Serien- und Wiederholungsaufnahmen sind nicht umgesetzt. Jede Aufnahme wird einzeln geplant.n = 131.08.2026
Eine fertige Aufnahme aus dem Programmführer trägt als Vorschaubild ein Einzelbild aus der Aufnahme selbst und stoppt automatisch am dort verzeichneten Sendungsende.n = 114.08.2026
Die Aufnahme hängt davon ab, dass eine externe Kodierer-Binärdatei auffindbar ist, und eine fehlende erzeugt ein ausdrückliches Nicht-gefunden-Ergebnis statt einer unvollständigen Aufnahme.n = 101.09.2026
Die Aufnahme liest in Blöcken von 64 KB und verfolgt dabei die geschriebenen Bytes, und genau das erlaubt es einer laufenden Aufnahme, die Größe zu melden, obwohl sie keinen Prozentsatz melden kann.n = 101.09.2026
Es gibt zwei Speicherwege, die lokale Festplatte und eine SMB-Netzwerkfreigabe, mit einem Ergebnistyp zur Prüfung, um den Netzwerkfall zu testen, bevor man sich darauf verlässt.n = 201.09.2026
Die serverseitige Aufnahme ist kein Punkt auf der Zukunftsliste, sondern ein erklärtes Nichtziel, mit der Begründung, dass ein Verzeichnis dessen, was Sie aufgenommen haben, den Dienst inhaltsbewusst machen würde.n = 116.08.2026
Aufnahmen fehlen nach Entwurf in den synchronisierten Zustandsfamilien: es gibt dreizehn Familien und keine davon trägt Aufnahmedaten.n = 1301.09.2026
Sendungen außerhalb des Aufbewahrungsfensters werden schon beim Auswerten verworfen und nicht gespeichert und später aufgeräumt, und deshalb heißt mehr Reichweite, die Aufbewahrung zu ändern, und nicht einen Zwischenspeicher zu leeren.n = 101.09.2026
Eine Auswertung meldet, wie viele Sendungen sie verworfen hat, neben der Anzahl der behaltenen, ein flaches Catch-up-Fenster lässt sich also der Aufbewahrung zuordnen, statt geraten zu werden.n = 101.09.2026
Der Baumeister der Live-Adressen hängt ohne Verzweigung und ohne Einstellung eine Transportstrom-Endung an, und der Catch-up-Baumeister tut dasselbe, beide beschreiben also, was der Client anfordert, und nicht, was ein Portal zurückgibt.n = 223.08.2026
Nichts im Datensatz eines Senders hält einen Behälter oder einen Transportweg fest, ein Client kann also nicht im Voraus wissen, ob eine Archivanfrage in der erwarteten Form beantwortet wird.n = 123.08.2026
Das Planen aus dem Programmführer ist eine der wenigen Zeilen, die in unserer eigenen Nachverfolgung als vollständig markiert sind, und das macht es zur verlässlichen Hälfte dieses Themas.n = 101.09.2026
Eine laufende Aufnahme kann ihren Fortschritt nicht in Prozent melden, weil die Dauer der Eingabe unbekannt ist.n = 123.08.2026