# Video Programming System

Das Video Programming System (VPS) [ˌvɪdioʊ ˈproʊgɹæmɪŋ ˌsɪstəm] dient Videorekordern dazu, bei der Aufnahme von Sendungen auf Verschiebungen der Anfangszeit, Sendeausfälle und Überziehungen der geplanten Sendedauer zu reagieren. Es basiert auf einem Signal, welches einige Fernsehsender in der Austastlücke (genauer in der Videozeile 16) des Fernsehsignals übertragen. Das Signal wurde in Deutschland erstmals 1985 von der ARD gesendet.
Erfunden wurde das System von Arthur Heller beim Institut für Rundfunktechnik im Jahr 1983 unter dem Namen „Einrichtung zum zeit- oder ereignisgesteuerten Aufzeichnen von Fernsehprogrammsignalen“.
Das System überträgt während der Dauer der Sendung oder des Beitrags die im Teletext und in Fernsehzeitschriften angegebene VPS-Zeit. Der Videorekorder vergleicht die vom Benutzer programmierte Anfangszeit mit der VPS-Zeitangabe: Stimmen beide Zeiten überein, wird die Aufzeichnung gestartet. Die Aufzeichnung läuft, solange die gesendete VPS-Zeit und die programmierte Startzeit übereinstimmen.
Neu in das Tagesprogramm aufgenommene Sendungen erhalten in der Regel eine VPS-Zeit eine Minute vor dem Sendestart, so dass es zu keiner Kollision mit der ausfallenden/verschobenen Sendung kommt.
Bei der digitalen Verbreitung per DVB war das VPS-Signal (für eine bestimmte Zeit) nicht mehr anwendbar. Deshalb wurde mit Programme Delivery Control (PDC) ein VPS-ähnliches digitales Signal entwickelt, das in Form von Zusatzdaten über die DVB-Serviceinformationen gesendet wird. Mittlerweile bieten auch die deutschen öffentlich-rechtlichen Programme dieses digitale Aufzeichnungssteuerungssignal an.
VPS hat nichts mit ShowView zu tun. Beides sind unabhängige Systeme, die sich ergänzen. ShowView wurde entwickelt, um die Timerprogrammierung von Videorecordern zu vereinfachen, und funktioniert auch dann, wenn keine VPS-Daten vom Sender übermittelt werden. VPS hingegen steuert eine bereits (mit oder ohne ShowView) programmierte Aufnahme.

## Technische Details

Die VPS-Daten werden kontinuierlich übertragen. Dafür sind in der vertikalen Austastlücke der Zeile 16 jedes Vollbildes 15 Byte reserviert (entspricht einem Übertragungszyklus von 40 ms):
| Byte-Nr. | Funktion / Verwendung |
| 1 | run in | Synchronisation der empfängerseitigen Taktgeneratoren |
| 2 | Startcode | ist zur Erkennung der Datenzeile |
| 3 und 4 | Quellenerkennung | zur Identifikation der Programmquelle |
| 5 | Tondaten, Sonderkennung | Information über die Art der Tonübertragung zum Beispiel: Kennung für eine jugendfreie Sendung |
| 6–10 | Inhaltskennung und Signale für interne Steueraufgaben |
| 11–14 | VPS-Label | Signale zur Steuerung von Videorekordern |
| 15 | Reserve |
Aufbau des 32 Bit (Byte 11 bis 14) großen VPS-Labels:
* 2 Bit: Identifikation des Adressbereiches
* 5 Bit: angekündigter Sendetag
* 4 Bit: angekündigter Sendemonat
* 5 Bit: angekündigter Beitragsbeginn, Stunde
* 6 Bit: angekündigter Beitragsbeginn, Minute
* 4 Bit: Nationalitätencode
* 6 Bit: Programmquellencode (Sendercode)
Daneben sind noch drei Systemcodes vorgesehen:
* System-Statuscode (Ausstrahlung, wenn kein VPS-Label vorhanden ist und der Videorecorder im Timer-Betrieb arbeiten soll)
* Unterbrechungscode (Ausstrahlung bei gewollten und ungewollten Programmunterbrechungen, etwa Werbung oder eingeschobenen Nachrichten während einer längeren Sportsendung; wird regelmäßig bei Werbeunterbrechungen bei ARD und ZDF im Vorabendprogramm benutzt)
* Leercode (Ausstrahlung nicht für die Aufzeichnung bestimmter Beiträge, etwa beim Testbild)

## Praktische Hinweise

Vor allem private Sendeanstalten verwenden wenig Sorgfalt auf eine korrekte VPS-Codierung, so dass es für den Anwender riskant ist, sich bei der Aufnahmeprogrammierung auf VPS zu verlassen. Das zeigt sich auch darin, dass viele Sender ohne VPS (etwa RTL, Pro7) grundlos das VPS-Trägersignal übermitteln, so dass viele Videorekorder diese Sender fälschlich als VPS-Anbieter erkennen. Nur bei den öffentlich-rechtlichen Sendern funktionierte VPS mit Stand 2009 in Deutschland halbwegs zuverlässig. Bei Digitalempfang (DVB-T, DVB-S, DVB-C) hängt die Funktionsfähigkeit zudem vom Receiver ab (siehe unten).
Manche DVD-Rekorder mit Festplatte benötigen nach Übertragungsbeginn des VPS-Signals einige Zeit zum Starten, so dass die Aufnahme verspätet beginnt. In diesen Fällen kann es sinnvoller sein, auf die VPS-Steuerung zu verzichten und stattdessen großzügig Zeit zuzugeben (zumal die Aufnahme anschließend geschnitten werden kann).
Bei Aufnahmen mit VPS muss als Anfangszeit grundsätzlich die in der Programmzeitschrift oder Teletext angegebene VPS-Zeit programmiert werden. Bei jeder anderen Zeit, auch wenn diese nur um eine Minute differiert, wird die Aufnahme nicht starten. Die Endzeit ist dagegen unkritisch, jede Zeit kann dazu programmiert werden, nur nicht dieselbe wie die Anfangszeit.
Außerdem muss bei VPS jede Sendung einzeln programmiert werden. Auch wenn zwei oder mehr direkt aufeinanderfolgende Sendungen desselben Senders aufgenommen werden sollen, müssen diese bei der Verwendung von VPS jeweils einzeln programmiert werden, ansonsten wird nur die erste aufgenommen.

## VPS via DVB

Mit der Einführung des digitalen Fernsehens (DVB) war die Übertragung des VPS-Signales zunächst nicht mehr möglich.
1997 wurde der DVB SI (Service Information) Standard (ETSI EN 300 468) aber um VPS (PDC) erweitert. Die SI besteht aus mehreren Datentabellen und enthält unter anderem die Daten für den Electronic Program Guide (EPG). Zusätzlich zu den bisherigen Informationen kann der PDC-Descriptor (Descriptortag 0x69) verwendet werden. Dieser Descriptor besteht im Wesentlichen aus einem Label, welches aus Tag, Monat, Stunde und Minute zusammengesetzt ist. Wird nun eine Sendung verschoben, wird das im EPG vermerkt mit dem Hinweis: „die folgende Sendung wird mit neuer Startzeit ausgestrahlt“, anhand des Labels erkennt der Receiver jedoch, dass es dieselbe Sendung ist und fängt später mit der Aufnahme an. Die Aufnahme dauert, solange der EPG der aktuell laufende (current running) ist.
Zusätzlich wurde im Jahr 2000 mit dem Standard ETSI EN 301775 auch die Grundlage geschaffen, die bekannten analogen (siehe oben) VPS-Signale über DVB zu übertragen. Das geschieht wie bei Teletext auf Basis der VBI (Vertical Blanking Information). Es ermöglicht das Einfügen des VPS-Signales am analogen Receiverausgang (z. B. SCART), wodurch ein Videorecorder wieder mittels VPS aufnehmen kann. Dieser Standard wird aber nur von sehr wenigen DVB-Receivern unterstützt. Für Linux-basierte Satellitenreceiver gibt es ein Plug-in, mit dem sich VPS nutzen lässt.
Ein weiteres Verfahren, das speziell für digitale Übertragungswege (z. B. DVB) und für digitale Endgeräte (z. B. PVR, PDR) entwickelt worden ist, wurde erstmals im Jahr 2004 vom ETSI veröffentlicht. Es ist unter dem Namen Accurate Recording (auch „Perfect Recording“ oder „Automatische Zeitsteuerung“ oder „Signalunterstützte Aufnahme“) bekannt und wird in Deutschland vorwiegend von öffentlich-rechtlichen Sendeanstalten unterstützt (dort als "PDC-Descriptor"-Verfahren bezeichnet). Eine genaue Beschreibung dieses Verfahrens ist in Kapitel 11 der technischen Spezifikation ETSI TS 102 323 V1.5.1 (2012-01) zu finden.
Somit wurden verschiedene Lösungen geschaffen, die für unterschiedliche Endgeräte (HDD-Recorder bzw. Videorecorder) konzipiert sind.

## Deutschsprachige Sendeanstalten mit funktionierendem VPS-Signal

ARD (Das Erste), Arte, BR, ARD-alpha, 3sat, hr, KiKA, MDR, NDR, ORF 1, ORF 2, ORF III, Phoenix, Radio Bremen, RBB, SRF 1, SRF zwei, SR, SWR, Tele 5, WDR, ZDF