*** DONE Per MediathekView Beiträge von der ORF TVthek herunterladen :software:austria:tv:tip:blog:lb_persistent:open:diy: CLOSED: [2019-10-18 Fri 14:56] SCHEDULED: <2019-10-18 Fri> :PROPERTIES: :ID: 2019-10-18-mediathekview :CREATED: [2019-10-18 Fri 10:39] :END: :LOGBOOK: - State "DONE" from "DONE" [2021-10-28 Thu 10:48] - State "DONE" from "DONE" [2020-05-14 Thu 09:08] - State "DONE" from "DONE" [2019-11-15 Fri 23:29] - State "DONE" from "NEXT" [2019-10-18 Fri 14:56] :END: - Updates: - 2019-11-15: ZIB2-Dateinamensergebnisse und Hinweis auf youtube-downloader - 2020-05-14: Spendenmöglichkeit - 2021-10-28: Aktualisierungen Der [[http://orf.at/][ORF]] bietet ein gutes Programm. Gerade für Österreicher ist er wohl das Maß aller Dinge im Bereich des täglichen Bewegtbildes. An Qualität und Inhalten ist er den privaten Konkurrenten meiner Meinung nach haushoch überlegen - besonders im Nachrichtenbereich. Ich oute mich als großer Fan der [[https://tv.orf.at/zib2/][ZIB2]], die ich keinen Tag versäume. Dieser Beitrag beschreibt, wie ich Sendungen vom ORF herunterlade, um sie am Handy anzusehen - oder meistens sogar nur nebenbei anzuhören. **** Motivation Es gibt wohl drei generelle Möglichkeiten, dem Programm des ORF zu folgen: 1. Live mit einem Fernsehgerät 2. mittels [[https://tvthek.orf.at/][TVthek]] - auf dessen Webseite - mit den angebotenen ORF-Mobil-Apps - [[https://kodi.wiki/view/Add-on:ORF_TVthek][diversen Plugins]] 3. Download mit externen Werkzeugen wie - [[https://mediathekview.de/][MediathekView]] - [[https://ytdl-org.github.io/youtube-dl/index.html][youtube-dl]] - und anderen Ich persönlich habe mich vom live-Fernsehen gänzlich verabschiedet. Interessante Beiträge sind unabhängig von meiner zeitlichen Verfügbarkeit. Weiters schaue ich mir nichts mehr an, das einfach nur gerade zufällig im Fernsehen läuft wenn ich davorsitze. (Einschub: das hat durchaus auch negative Effekte. Stichwort: [[https://de.wikipedia.org/wiki/Filterblase][Fernsehfilterblase]].) Wie dem auch sei, ich bevorzuge von den oben genannten Methoden den Download per MediathekView. Dadurch kann ich mir aussuchen, wann ich die Sendungen ansehe. Vor allem hat diese Möglichkeit den Vorteil, dass nur noch der Download innerhalb [[https://tvthek.orf.at/page/faq][der Vorhaltezeit-Wochenfrist stattfinden muss, die der ORF verpflichtet ist]], nicht zu überschreiten. **** Rechtliches Entgegen der Meinung, dass bei Konsumation von ORF-Sendungen per TVthek automatisch [[https://de.wikipedia.org/wiki/Geb%C3%BChren_Info_Service][GIS-Gebühren]] anfallen, ist Stand 2019-10-18 nicht zutreffend. Obwohl [[https://www.vienna.at/neues-orf-gesetz-redakteure-wollen-gis-gebuehr-fuer-tvthek/6239508][der ORF natürlich Interesse hat]], dafür von der GIS Gebühren eintreiben zu lassen, ist das vom [[https://www.ris.bka.gv.at/GeltendeFassung.wxe?Abfrage=Bundesnormen&Gesetzesnummer=10012892][Rundfunkgebührengesetz]] und [[https://apps.derstandard.at/privacywall/story/2000019408029/vwgh-keine-gis-gebuehr-fuer-computer-mit-internet-anschluss][einem Entscheid vom Höchstgericht]] nicht vorgesehen. Klarerweise gelten für Besitzer von TV-empfangsbereiten Geräten nach wie vor die anderen Kriterien, um in die Menge der Beitragszahler zu fallen. Weiters möchte ich hier ausdrücklich betonen, dass es für jeden Bürger enorm wichtig ist, unabhängige Medien zu fördern. Es ist daher meine Meinung, dass man sich überlegen soll, GIS-Gebühren freiwillig zu zahlen, auch wenn man derzeit gesetzlich mit Internet-only aus der Verpflichtung fallen sollte. **** Das Prinzip Grundsätzlich funktioniert die MediathekView gut, wenn man etwas technisches Verständnis mitbringt. Denn der ORF hat so seine Eigenheiten. Insofern unterscheide ich hier zwischen: 1. Installation von MediathekView. 2. Initiale Konfiguration, damit MediathekView vom ORF herunterladen kann. 3. Optionale Anpassungen und Erleichterungen, damit man ordentliche Dateinamen erhält. 4. Selten auftretende Anpassungen, wenn der ORF Änderungen macht. Darauf gehe ich nun ein wenig ein. **** Installation von MediathekView Das Installieren von MediathekView wird auf dessen [[https://mediathekview.de/anleitung/][Online-Anleitung]] beschrieben. Von der [[https://mediathekview.de/download/][Download-Seite]] lädt man sich typischerweise die aktuellste Version. Ich bevorzuge die "stabile" Version im Gegensatz zu den "Nightly" Versionen. Damit landet MediathekView einmal auf dem eigenen Computer. Standardmäßig kommt MediathekView ohne Sets daher. Für den normalen Gebrauch kann man sie in den Einstellungen vom Server nachladen: Aufzeichnen und Abspielen → Set importieren → "Vorlagen von der Webseite laden". Ich nehme für Linux das Set "Standardset Linux". Das beinhaltet dann "Linux Speichern", was ich hauptsächlich benötige. **** Initiale Konfiguration Da MediathekView nicht ausschließlich für Downloads von der ORF TVthek geschaffen ist und der ORF einige Eigenheiten an den Tag legt, benötigt es leider einige Änderungen der Standardkonfiguration, damit ORF-Downloads überhaupt funktionieren. Für die Anpassungen für den ORF ist Anlaufpunkt der Wahl das [[https://forum.mediathekview.de/category/1/wichtige-mitteilungen][Online-Forum von MediathekView]], wo sich die Community austauscht. Im konkreten Fall wäre das [[https://forum.mediathekview.de/topic/1602/probleme-beim-download-und-abspielen-von-orf-sendungen/3][dieser Beitrag, der erklärt, wie man die ORF-Anpassungen macht.]] Er beschreibt im Wesentlichen zwei Einstellungen, die man nach Aktivierung von "Alle Einstellungen zeigen" in den Einstellungen findet. Zuerst passt man den User-Agent an. Hierzu setzt man Datei → Einstellungen → Allgemein: "User-Agent" auf beispielsweise: : Mozilla/5.0 (Macintosh; Intel Mac OS 10_11_6) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1 Safari/605.1.15 Weiters ändert man in den Einstellungen: Aufzeichnen und Abspielen → Set bearbeiten → (für alle verwendeten Speichern-Sets) → Hilfsprogramme → "ffmpeg" → "Schalter". Vor dem Standardwert fügt man : -user_agent "Mozilla" hinzu. Will man nur Sendungen herunterladen, ist man mit den initialen Anpassungen fertig. Für das live-Abspielen von Inhalten benötigt man noch eine weitere Anpassung: Aufzeichnen und Abspielen → Set bearbeiten → (für alle verwendeten Abspiel-Sets) → Hilfsprogramme → "vlc" → "Schalter". An dieser Stelle fügt man am Ende folgendes dazu: : :http-user-agent="X" Als Emailkommentar bekam ich noch den Hinweis, dass der Download per =ffmpeg= fehlschlägt, wenn es nicht mit der Option =--enable-openssl= kompiliert wurde. Ich selber hatte mit den =ffmpeg=-Versionen von Debian und (X)Ubuntu bislang keine Probleme damit. Unter "Ansicht" → "Buttons anzeigen" kann man sich die erstellten Sets als Buttons im unteren Bereich anzeigen lassen, um den Download zu vereinfachen. **** Optionale Anpassungen und Zusatztools Die nun folgenden Konfigurationanpassungen sind meine persönliche Empfehlung, wodurch ich anstatt der teils kryptischen Standard-Dateinamen besser lesbare erhalte, die zudem noch korrigierte Zeitstempel beinhalten. Aufzeichnen und Abspielen → Set bearbeiten → (für alle verwendeten Speichern-Sets) → Hilfsprogramme → "ffmpeg" → "Zieldateiname": Bei den Speicher-Sets mit hoher Qualitätsstufe (Tab "Download" auf "Höchste/Hohe Qualität") ändert man auf folgende Einstellung: : %DT%d %s - %t - %T -ORIGINALhd- %N.mp4 Bei den Speicher-Sets mit niedriger Qualitätsstufe (Tab "Download" auf "Niedrige Qualität") nimmt man folgende Einstellung: : %DT%d %s - %t - %T -ORIGINALlow- %N.mp4 Bei "Aufzeichnen und Abspielen → Datei- und Pfadnamen → Eigene Einstellungen" ist darauf zu achten, dass die Standardersetzungsregel, die Underscores durch Unterstriche ersetzt, gelöscht wird, damit "guess-filename" unten wie gewünscht arbeiten kann. Nun erhält man nach dem Download lange Dateinamen wie: : 20191015T220000 ORF - ZIB 2 - Brexit-Vereinbarung könnte doch : noch zustande kommen -ORIGINALlow- 2019-10-15_2200_tl_02_ZIB-2_ : Brexit-Vereinba__14028979__o__1348162489__s14576261_1__BLNHD_ : 22032410P_22061222P_Q4A.mp4 Mein Tool [[https://github.com/novoid/guess-filename.py][guess-filename]] benennt das um. Mittels ... : guessfilename 2*ORF*mp4 ... ergibt sich dann: : 2019-10-15T22.03.24 ORF - ZIB 2 - Brexit-Vereinbarung könnte doch : noch zustande kommen -- lowquality.mp4 Man beachte dabei, dass der ISO-Zeitstempel im Dateinamen exakt der Sekunde entspricht, in der dieser Beitrag gesendet wurde. Das ist sehr hilfreich, wenn man sich beispielsweise die einzelnen Beiträge einer ZIB2 in der korrekten Reihenfolge ansehen möchte. Ohne die hier beschriebenen optionalen Anpassungen (Download-Name und guessfilename) würde eine ZIB2 dann in etwa so aussehen, dass alle Beiträge nach dem Alphabet gemäß des Namens gelistet werden: : 2019-11-14T22.00.00 ORF - ZIB 2 - BAK wollte Handy von Abgeordneter beschlagnahmen -- lowquality.mp4 : 2019-11-14T22.00.00 ORF - ZIB 2 - BUWOG-Prozess und kein Ende in Sicht -- lowquality.mp4 : 2019-11-14T22.00.00 ORF - ZIB 2 - Causa Casinos Ruf nach NR-Sondersitzung und U-Ausschuss -- lowquality.mp4 : 2019-11-14T22.00.00 ORF - ZIB 2 - Ermittlungen in der Causa "Festspiele Erl" -- lowquality.mp4 : 2019-11-14T22.00.00 ORF - ZIB 2 - Große Zerstörung in Venedig -- lowquality.mp4 : 2019-11-14T22.00.00 ORF - ZIB 2 - Hinweis Verabschiedung -- lowquality.mp4 : 2019-11-14T22.00.00 ORF - ZIB 2 - Meldungen -- lowquality.mp4 : 2019-11-14T22.00.00 ORF - ZIB 2 - Signation -- lowquality.mp4 : 2019-11-14T22.00.00 ORF - ZIB 2 - Stephanie Krisper (NEOS) zur möglichen Handy-Beschlagnahmung -- lowquality.mp4 : 2019-11-14T22.00.00 ORF - ZIB 2 - Stephanie Krisper (NEOS) über Casino-U-Ausschuss -- lowquality.mp4 : 2019-11-14T22.00.00 ORF - ZIB 2 - Wetter -- lowquality.mp4 Im Vergleich dazu schaut eine gesamte ZIB2 mit den optionalen Anpassungen in etwa so aus: : 2019-11-14T22.00.52 ORF - ZIB 2 - Signation -- lowquality.mp4 : 2019-11-14T22.01.49 ORF - ZIB 2 - Causa Casinos Ruf nach NR-Sondersitzung und U-Ausschuss -- lowquality.mp4 : 2019-11-14T22.04.52 ORF - ZIB 2 - Stephanie Krisper (NEOS) über Casino-U-Ausschuss -- lowquality.mp4 : 2019-11-14T22.09.06 ORF - ZIB 2 - BAK wollte Handy von Abgeordneter beschlagnahmen -- lowquality.mp4 : 2019-11-14T22.09.46 ORF - ZIB 2 - Stephanie Krisper (NEOS) zur möglichen Handy-Beschlagnahmung -- lowquality.mp4 : 2019-11-14T22.13.15 ORF - ZIB 2 - BUWOG-Prozess und kein Ende in Sicht -- lowquality.mp4 : 2019-11-14T22.16.47 ORF - ZIB 2 - Ermittlungen in der Causa "Festspiele Erl" -- lowquality.mp4 : 2019-11-14T22.20.07 ORF - ZIB 2 - Meldungen -- lowquality.mp4 : 2019-11-14T22.22.30 ORF - ZIB 2 - Große Zerstörung in Venedig -- lowquality.mp4 : 2019-11-14T22.25.23 ORF - ZIB 2 - Wetter -- lowquality.mp4 : 2019-11-14T22.26.00 ORF - ZIB 2 - Hinweis Verabschiedung -- lowquality.mp4 Man erkennt sofort, dass die Abbildung der Sendereihenfolge durchaus wichtig ist, damit man, wie in diesem Fall, die Signation nicht in der Mitte bekommt und zusammenhängende Beiträge wie die drei NEOS-Geschichten nicht auseinandergetrennt werden. **** Anpassungen bei Änderungen vom ORF Ab und zu ändert der ORF die Art und Weise, wie TVthek-Beiträge benannt werden, schränkt die akzeptierten Downloadprogramme ein oder macht sonstige Änderungen am System. Damit kann es zu Problemen mit MediathekView und ORF kommen. Das ist nachvollziehbar, da MediathekView keinesfalls vom ORF offiziell unterstützt wird. Die dabei entstehenden Probleme sind zweierlei Natur. Einerseits kann MediathekView nicht mehr in der Lage sein, die Informationen über ORF-Sendungen zu extrahieren (zentraler [[https://de.wikipedia.org/wiki/Crawler][Crawler]]). Andererseits passiert es, dass der oben installierte MediathekView-Client nicht mehr in der Lage ist, aufgrund der von MediathekView bereitgestellten Ergebnisse des Crawlers die Sendungen herunterzuladen. In solchen Fällen gilt es, [[https://forum.mediathekview.de/category/1/wichtige-mitteilungen][das Mitteilungs-Forum]] zu verfolgen. Meistens kommen zeitnah dort die entsprechenden Meldungen, dass etwas beim ORF nicht funktioniert. Die (wenigen) freiwilligen Entwickler von MediathekView investieren ihre Freizeit, dass dann im Regelfall maximal einen Tag später die Anpassungen erfolgen. Bei Anpassungen am Crawler löst sich das Problem durch Warten und Anpassungen der Entwickler ohne Zutun des Anwenders. Bei notwendigen Anpassungen vom MediathekView-Client muss man hingegen manches Mal eine neuere Version einspielen. Hier ist Geduld gefragt und es sind keine bösen Worte angebracht. Wer die Reaktionsgeschwindigkeit der Entwickler zu langsam findet, soll sich selbst bei der [[https://github.com/mediathekview/mediathekview][Wartung des Codes]] einbringen. Es ist schließlich freie Software, die - in diesem Fall - nur von Freiwilligenarbeit lebt. Bei Formatänderungen der Dateinamensbestandteile muss auch ich manches Mal guess-filename adaptieren. **** Denkbare Automatisierungen Mittels zeitgesteuertem Aufruf vom MediathekView, dessen [[https://mediathekview.de/anleitung/#sendereihen-und-serien-abonnieren-abos][Abos]] und [[https://syncthing.net/][Syncthing]] landet unter anderem die ZIB2 des Vortages vollautomatisch auf meinem Handy, sobald es in der Früh eingeschaltet wird. Diesen Luxus möchte ich nicht mehr missen. **** Danke und Spendenmöglichkeit Danke an die MediathekView-Community für dessen Arbeit am Projekt! Auf [[https://mediathekview.de/spenden/][dieser Seite]] gibt es die Möglichkeit, dem Projekt eine kleine Spende zukommen zu lassen. Bitte nutze die Möglichkeit, damit sie beispielsweise [[https://forum.mediathekview.de/topic/3301/mediathekview-wurde-abgemahnt][im Falle von nicht gerechtfertigten Abmahnungen]] nicht auf den Anwaltskosten zur Verteidigung mit persönlichem Geld der Entwickler sitzen bleiben. Es wird sich vermutlich jede Person fünf bis zwanzig Euro einmalig als Spende leisten können, sofern man bedenkt, was die Entwickler für uns an ständiger Arbeit reinstecken. **** Alternativen :PROPERTIES: :END: Wenn das Thema mit den aussagekräftigen Dateinamen nicht so wichtig ist, so sollte auch [[https://github.com/ytdl-org/youtube-dl][youtube-downloader]] mit den Optionen =-o "%(playlist_index)2d - %(title)s.%(ext)s"= oder =--auto-number= zum Herunterladen funktionieren. Das funktioniert, hat aber nicht alle Vorteile, die meine =guessfilename= Methode mit sich bringt.