# Aufzeichnungsplaner Der Aufzeichnungsplaner ist eine Bedienoberfläche zur einfachen Erfassung von Parametern für eine TV-Aufzeichnung. [Demo](https://uhilger.de/data/ulrich/demo/recplaner/) ## Zweck Mit [ffmpeg](https://ffmpeg.org/) gibt es ein leistungsfähiges Programm zur Aufzeichnung von Livestreams. Werden die Programme [ffmpeg](https://ffmpeg.org/) und [at](https://wiki.ubuntuusers.de/at/) verwendet, können mit einem einzigen Befehl auf der Kommandozeile Livestream-Inhalte aus dem Netz aufgezeichnet werden. Allerdings ist die Zusammenstellung und Übertragung der Parameter mühselig. Es müssen - der Name und Ablageort der Ausgabedatei, - der Sender, - Datum und Uhrzeit des Aufnahmebeginns, - die Aufzeichnungsdauer in Sekunden sowie - der Name und Ablageort einer Datei mit Empfangsparametern je Sender bestimmt und in das erwartete Format gebracht werden, bevor das Kommando zur Programmierung der Aufzeichnung gegeben werden kann. Zur Vereinfachung dieser Schritte dient die mit dem Aufzeichnungsplaner bereitgestellte grafische Bedienoberfläche. ## Bestandteile Der Aufzeichnungsplaner wird mit einem Webbrowser genutzt. Er besteht aus den Dateien - `index.html` - `stile.css` - `app.js` #### index.html In der Datei `index.html` sind die Bedienelemente in der Hypertext Markup Language (HTML) deklariert. #### stile.css Die Datei `stile.css` enthält die Gestaltungsvorgaben als Cascading Style Sheet (CSS) und sorgt für die gewünschte Darstellung in Bezug auf Anordnung und Typografie. #### app.js Die Datei `app.js` enthält Javascript-Funktionen zur Umwandlung der Angaben auf der Bedienoberfläche in einen Befehl zur Aufzeichnung. ## Verwendung Um den Aufzeichnungsplaner zu verwenden werden dessen Bestandteile in einen Ordner im Dateisystem eines Rechners gespeichert und die Datei `index.html` mit einem Webbrowser wie beispielsweise Firefox geöffnet. #### Lokale Benutzung ermöglichen Eine lokale Benutzung wie oben beschrieben erfordert bei manchen Webbrowsern eine Anpassung der Sicherheitseinstellungen. Bei Firefox verhindert beispielsweise die Einstellung `privacy.file_unique_origin`, dass lokale Dateien per HTTP GET gelesen werden. Um dies zu ermöglichen wird bei Firefox der URL `about:config` aufgerufen und der Eintrag `privacy.file_unique_origin` über das Suchfeld angezeigt. Der Eintrag steht standrmäßig auf `true`. Wird er auf `false` gesetzt, kann der Aufzeichnungsplaner wie oben beschrieben lokal ausgeführt werden. Ohne diese Anpassung kann der Aufzeichnungsplaner zwar lokal ausgeführt werden, die Senderliste kann jedoch nicht aus der Datei `channels.conf` gebildet werden. Anstelle einer lokalen Ausführung mit Anpassung der Sicherheitseinstellungen kann der Aufzeichnungsplaner auch von einem Webserver ausgeliefert werden, dann besteht die hier beschriebene Einschränkung nicht. ## Abhängigkeiten Der Aufzeichnungsplaner verwendet die folgenden Zeichensätze: - [Roboto Condensed](https://fonts.google.com/specimen/Roboto+Condensed) - [Ubuntu Mono](https://fonts.google.com/specimen/Ubuntu+Mono) Sie werden direkt von Google Fonts geladen, was die erste Verwendung des Aufzeichnungsplaners vereinfacht. Die Datei `index.html` enthält dazu Verweise wie z.B. `` Um nicht bei Aufruf des Aufzeichnungsplaners jedesmal die Zeichensätze von Google laden zu müssen können diese auch heruntergeladen und lokal eingebunden werden. Dazu wird in der Datei `stile.css` der Ablageort des betreffenden Zeichensatz notiert, z.B. ``` @font-face { font-family: 'Roboto Condensed'; font-style: normal; src: url(/lib/fonts/Roboto_Condensed/RobotoCondensed-Regular.ttf) format('truetype'); } ``` Damit kann dann der Verweis zu Google Fonts in `index.html` entfallen.