A program to schedule recordings from WebTV, WebRadio and TV
Find a file
2025-09-29 20:44:11 +02:00
images add README 2019-12-08 14:18:20 +01:00
mrip push version to 20250929 2025-09-29 20:44:11 +02:00
ubuntu update install-script for ubuntu 2024-02-02 22:05:10 +01:00
.gitignore gitignore: add */pkg and */src 2019-01-02 11:01:02 +01:00
parsetime 20180805.1 2018-08-05 21:55:16 +02:00
README.md update README 2024-02-02 22:18:36 +01:00
tvbrowser_exportparam.txt 20180805.1 2018-08-05 21:55:16 +02:00

MRip

MRip ist ein Programm, um TV-, WebTV und Webradiostreams zeitgesteuert aufzunehmen. Mrip kann nach der Programmierung der Aufnahmen beendet werden, es muss zur Aufnahmezeit nicht laufen. Programmierte Aufnahmen gehen bei Reboots nicht verloren.

Allgemeines

MRip ist in Perl programmiert und verwendet das GIMP-Toolkit (GTK).

  • WebRadioaufnahmen werden per mpv aufgezeichnet. Der aufgezeichnete Stream kann dann mit ffmpeg nachbearbeitet werden.
  • WebTV-Sendungen werden auch mittels mpv mitgeschnitten. Es ist möglich, die Aufnahme stattdessen mit ffmpeg zu konfigurieren.
  • TV-Sendungen werden über einen TV-Receiver, der betriebsbereit vorhanden sein muss, aufgenommen. Das Aufnehmen wird von mplayer übernommen.
  • Programmierte Aufnahmen werden als at-Job hinterlegt.
  • MRip protokolliert seine Aktivitäten nach ~/.mriplog.
  • MRip erlaubt auch die Live-Wiedergabe von
    • TV-Sendungen mittels vlc
    • WebRadio mittels mpv (über das extra Programm radio)
    • WebTV mittels mpv.

Installation

Betriebssysteme

Arch Linux

Am Ende von /etc/pacman.conf folgende Zeilen einfügen:

[automat]
SigLevel = Optional TrustAll
Server = https://repo.tuxomat.eu/$repo/$arch

Dann installieren mit sudo pacman -Sy mrip wmctrl.

Folgende Pakete aus dem Repo automat werden installiert:

Paket Beschreibung
mrip Programm mit Perl-Komponenten
radio Radioplayer für die Live-Wiedergabe von Webradio
radio_stations Webradio-Stationsliste für radio und mrip
tv_stations WebTV-Stationsliste für radio und mrip

Alle weiteren Abhängigkeiten werden aus den Standard-Repos installiert.

*buntu

Hinweis: MRip wird für Arch Linux entwickelt, getestet und paketiert, frühere Versionen auch für *buntu (bis 14.10). Die direkte Unterstützung für *buntu ist mittlerweile eingestellt. Es kann also gut sein, dass Probleme auftreten, sowohl bei der Installation als auch bei der Ausführung.

Probleme können z.B. dadurch entstehen, dass MRip bei mpv sehr neue Aufrufparameter verwendet, die eventuell unter *buntu in älteren mpv-Versionen noch nicht vorhanden sind.

  • Klone dieses Projekt (git clone https://git.tuxomat.eu/automat/mrip.git) oder lade es gezippt von der Webseite und packe es aus.
  • Wechsle in den Ordner mrip/ubuntu
  • Führe dort install_xbuntu.sh als root aus: sudo ./install_xbuntu.sh.
  • Wenn keine Fehlermeldungen kommen, dann hat es vielleicht geklappt :D

Nacharbeiten

Nach der Installation muss noch atd gestartet werden.

sudo systemctl enable --now atd

Das genügt für die Aufnahme und Wiedergabe von Web-Streams (TV + Radio). Wer TV-Receiver einsetzt sollte zusätzlich vlc für die Wiedergabe und mplayer für die Aufnahme der TV-Sender installieren.

Aufruf

Bei der Installation wird im Programmmenü unter Multimedia ein Starter angelegt.

Auf der Konsole wird mrip durch Eingabe von mrip gestartet.

Konfiguration

MRip kann über die Konfigdatei ~/.mriprc den eigenen Bedürfnissen angepasst werden. Ist sie nicht vorhanden, wird sie beim ersten Programmstart automatisch mit Vorgabewerten angelegt.

Konfigurationsdatei

So sieht die Konfigurationsdatei ~/.mriprc aus, falls sie automatisch beim ersten Programmstart angelegt wurde:

; Config::Simple 4.59
; Sat Oct  3 14:49:27 2020

[global]
close_after_prog=no
timezone=Europe/Berlin
recwithffmpeg=0
updateinterval=10
at=/usr/bin/at
makemp4=1
mode=radio

[tv]
postrec=10
station=first
prerec=5
ripdir=/tmp
starttime=20:10
maxduration=300
duration=90
channels=/home/ich/.mplayer/channels.conf

[webtv]
duration=75
maxduration=300
ripdir=/tmp
starttime=23:50
channels=/usr/share/radio_tv_stations/tv_stations
postrec=10
prerec=5
station=first

[radio]
postrec=10
station=first
prerec=5
duration=75
ripdir=/tmp
starttime=23:50
maxduration=300
channels=/usr/share/radio_tv_stations/radio_stations

[ui]
fullscreen=no
width=600
colored=yes
senderlistsize=220
height=200
durationbig=1
datebig=1
statusbig=1

Abschnitt global

Hier wird die grundsätzliche Konfiguration eingestellt.

Schlüsselwort Bedeutung
makemp4 Wenn ungleich Null, TV-Aufnahmen verlustfrei nach mp4 wandeln
mode radio, tv oder webtv. Aktive Senderliste beim Start
close_after_prog yes: MRip nach der Programmierung einer Aufnahme beenden
updateinterval Intervallzeit in Sekunden für die Neuberechnung der Restzeit
at voller Pfad zum at-Programm. Vorgabe: /usr/bin/at
timezone Zeitzone
recwithffmpeg Web-TV-Aufnahmen mit ffmpeg anstatt mit mpv durchführen

Abschnitt ui

Hier wird das Erscheinungsbild eingestellt.

Schlüsselwort Bedeutung
width minimale Fensterbreite beim Start
height minimale Fensterhöhe beim Start
senderlistsize Die Breite der Senderliste in Pixeln
fullscreen falls yes, maximiert starten
colored falls yes, Frames farbig anzeigen
statusbig falls 1, im Statusbereich größere Schriftart verwenden
durationbig falls 1, die Aufnahmedauer größer anzeigen
datebig falls 1, die Startzeit größer anzeigen

Abschnitte tv, webtv und radio

Diese drei Abschnitte haben identische Schlüsselwörter.

Schlüsselwort Bedeutung
station Sendestation, die beim Programmstart vorausgewählt ist
channels Dateiname mit Pfad mit Sendestationen (siehe weiter unten)
ripdir Verzeichnis, in dem Aufnahmen abgelegt werden
starttime Vorgabe für die Startzeit der Programmierung im Format hh:mm
maxduration Maximal einstellbare Aufnahmezeit in Minuten
duration Vorgabe der Dauer der zu programmierenden Aufnahme
prerec Vorlaufzeit in Minuten (Aufzeichnung früher starten)
postrec Nachlaufzeit in Minuten (Aufzeichnung später beenden)

Liste der Fernsehsender

Standardmäßig wird die Datei ~/.mplayer/channels.conf verwendet, also die Datei, die mplayer und darauf beruhende Programme benutzen. In der Konfigdatei kann eine andere Datei eingetragen werden, die ebenfalls eine gültige Datei für mplayer sein muss.

Hinweis: Die Sendernamen müssen aus Zeichen bestehen, die auch für Dateinamen zulässig sind. Einträge wie "neo/Kika" müssen geändert werden. Einfach direkt in der Datei ändern, in diesem Fall z.B. in "neo-Kika".

Wird keine TV-Senderdatei gefunden, so wird beim Start der TV-Mode deaktiviert und es stehen nur Radio- und WebTV-Programme zur Auswahl.

Bitte auf jeden Fall eine Testaufnahme für jeden Sender, von dem aufgenommen werden soll, machen!

Liste der Radio- und WebTV-Sender

Standardmäßig wird für Radiosender die Datei /usr/share/radio_tv_stations/radio_stations verwendet. Standardmäßig wird für WebTVsender die Datei /usr/share/radio_tv_stations/tv_stations verwendet.

Hinweis: Die Liste der Stationen erhebt keinerlei Anspruch auf Vollständigkeit oder Aktualität!

Bitte auf jeden Fall eine Testaufnahme für jeden Sender, von dem aufgenommen werden soll, machen!

Jobverwaltung

Geplante Aufnahmen werden im System als at-Jobs hinterlegt. MRip bietet eine Jobverwaltung mit der Möglichkeit, programmierte Aufnahmen anzuzeigen und ggf. wieder zu löschen. Die Jobs sind getaggt mit TV, Web-TV oder Web-Radio, falls sie durch mrip angelegt wurden. Jobs, die nicht durch mrip erstellt wurden, haben den Tag EXTERNAL.

In der Jobverwaltung wird der Hinweis DOPPELT! angezeigt, falls eine Aufnahme mit gleicher Startzeit und gleichem Sender mehrmals vorkommt. TV-Aufnahmen, die sich zeitlich überschneiden, werden mit dem Hinweis KONFLIKT! versehen.

Die im Infofenster angezeigten Start- und Endezeiten sind die Zeiten der tatsächlichen Aufnahme, also inclusive Vor- und Nachlaufzeit.

Zusammenspiel mit TV-Browser

Die Einstellungen für eine Aufnahme können über die Zwischenablage aus dem Programm TV-Browser übernommen werden. Dazu

  • TV-Browser installieren und Sender konfigurieren
  • In den Extras bei Plugins verwalten die Zwischenablage aktivieren
  • Die Zwischenablage konfigurieren und eine neue Einstellung namens mrip anlegen mit diesem Inhalt (alles in einer Zeile):
    {channel_name}»|«{title}»|«{leadingZero(start_day,"2")}.{leadingZero(start_month,"2")}.{start_year} {leadingZero(start_hour,"2")}:{leadingZero(start_minute,"2")}-{leadingZero(end_hour,"2")}:{leadingZero(end_minute,"2")}
  • Eine Sendung im TV-Browser auswählen und per Rechtsklick in die Zwischenablage mrip kopieren
  • Zu MRip wechseln, den Paste-Button klicken. Jetzt sollten Sender, Startzeit, Aufnahmedauer und Sendungsname übernommen sein. Zur Aufnahme auf Anwenden... klicken.

Screenshots

Beschreibung Image
Hauptfenster mrip Programmfenster
Aufnahmefenster mrip Aufnahme
Jobverwaltung mrip Jobverwaltung

Livesendungen

Falls das Programm /usr/bin/radio vorhanden und ausführbar ist, wird im Radio-Mode im Hauptfenster von mrip ein Wiedergabe-Button eingeblendet. Damit kann der aktuell ausgewählte Sender live gestartet werden (ohne Aufnahme).

Im TV-Mode wird der Wiedergabe-Button eingeblendet, falls /usr/bin/vlc vorhanden ist und eine TV-Karte im System erkannt wird (/dev/dvb/adapter0). Dann kann die TV-Livewiedergabe des ausgewählten Senders gestartet werden (ohne Aufnahme).

Im WebTV-Mode wird der Wiedergabe-Button eingeblendet, falls /usr/bin/mpv vorhanden ist. Dann kann die WebTV-Livewiedergabe des ausgewählten Senders gestartet werden (ohne Aufnahme).

Todo

Hier sind ein paar Punkte, die mrip noch verbessern könnten:

  • Unterstützung für Systeme mit zwei oder mehr TV-Adaptern
  • Button im Infofenster zum Umschalten zwischen programmierten Zeiten und Sendungs-Anfangszeiten
  • Dokumentation verbessern.

Lizenz

MRip wird veröffentlicht unter der Creative-Commons-Lizenz CC-by. Näheres siehe hier und hier.