MediathekView Headless

16 May 2018

MediathekView kann Filme aus den Mediatheken der Öffentlich-rechtlichen Sender herunterladen, z.B. Tatort, Die Sendung mit der Maus, Die Anstalt, etc.

MediathekView hat einen headless-Modus, behauptet aber von sich selbst: “Das Programm (Abos, Downloadpfade, ‘nur Filme der letzten x Tage laden’) muss zuerst im ‘normalen’ Modus (GUI) eingerichtet werden.” Das stimmt zwar nicht, aber die Einrichtung auf meinem Server war tatsächlich etwas holprig, deswegen hier einmal für mein zukünftiges Selbst und andere Interessierte aufgeschrieben:

Installation

pkg install german/mediathekview

Einstellungen

mkdir ~/.mediathek3
vim ~/.mediathek3/mediathek.xml

Folgendes in die Datei schreiben und abspeichern:

<?xml version="1.0" encoding="UTF-8"?>¬
<Mediathek></Mediathek>

Dann einmal MediathekView starten um die Einstellungen zu generieren:

mediathekview -auto

Jetzt müssen die Einstellungen angepasst werden für den Server.

System

Ehrlich gesagt hab ich keine Ahnung mehr was ich hier gemacht habe und ob das was geändert hat, ich würde aber vermuten dass es sich lohnt sich die folgenden Einstellungen anzugucken:

<!--Programmeinstellungen-->
<system>
    ...
    <maxBandbreite>1000</maxBandbreite>
    <maxDownload>1</maxDownload>
    ...
    <Pfade-zum-Speichern></Pfade-zum-Speichern>
    <pfad-ffmpeg>/usr/local/bin/ffmpeg</pfad-ffmpeg>
    <pfad-flvstreamer>/usr/local/bin/flvstreamer</pfad-flvstreamer>
    <pfad-vlc></pfad-vlc>
    ...
</system>

Programmsets

Für die Programmsets muss folgendes in die Einstellungs-Datei kopiert werden. Das entspricht dem Block in der Datei auf dem Mac, nur die Pfade für Zielpfad, ffmpeg und flvstreamer wurden angepasst für den Server:

<!--Programmsets-->
<Programmset>
    <Name>FreeNAS Speichern</Name>
    <Praefix>http</Praefix>
    <Suffix>mp4,mp3,m4v,flv,m4a</Suffix>
    <Zielpfad>/media/upload/MediathekView/</Zielpfad>
    <Zieldateiname>%t %T %3-%2-%1.%S</Zieldateiname>
    <Thema-anlegen>true</Thema-anlegen>
    <Abspielen>false</Abspielen>
    <Speichern>true</Speichern>
    <Button>true</Button>
    <Abo>true</Abo>
    <Laenge>false</Laenge>
    <max-Laenge>25</max-Laenge>
    <Aufloesung>hd</Aufloesung>
    <Beschreibung>Standardset zum Speichern der Filme</Beschreibung>
    <Infodatei>true</Infodatei>
</Programmset>
<Programm>
    <Programmname>flvstreamer</Programmname>
    <Zieldateiname>%t_%T_%3-%2-%1_%q_%z.flv</Zieldateiname>
    <Programmpfad>/usr/local/bin/flvstreamer</Programmpfad>
    <Programmschalter>%F --resume -o **</Programmschalter>
    <Praefix>rtmp</Praefix>
    <Restart>true</Restart>
</Programm>
<Programm>
    <Programmname>ffmpeg</Programmname>
    <Zieldateiname>%t_%T_%3-%2-%1_%q_%z.mp4</Zieldateiname>
    <Programmpfad>/usr/local/bin/ffmpeg</Programmpfad>
    <Programmschalter>-i %f -c copy -bsf:a aac_adtstoasc **</Programmschalter>
    <Praefix>http</Praefix>
    <Suffix>m3u8</Suffix>
    <Restart>false</Restart>
</Programm>

Abos

Die Abos habe ich aus den Einstellungen von MV auf meinem Mac kopiert, die Datei liegt unter ~/.mediathek3/mediathek.xml. Ein Abo sieht bspw. so aus:

<!--Abos-->
<Abonnement>
    <aktiv>true</aktiv>
    <Name>Karambolage</Name>
    <Sender>ARTE.FR</Sender>
    <Titel>Karambolage</Titel>
    <Mindestdauer>5</Mindestdauer>
    <Zielpfad>Karambolage</Zielpfad>
    <letztes_Abo>23.04.2018</letztes_Abo>
    <Programmset>FreeNAS Speichern</Programmset>
</Abonnement>

Achtung, der Name in Programmset muss übereinstimmen mit dem Namen des wie oben eingerichteten Programmsets!

Fertig!

Das sollte es gewesen sein.