Mit diesen Bash-Skripten kann der aktuell laufende Livestream aus den MW0001/MW2001 Hörsälen von live.rbg.tum.de lokal aufgezeichnet werden.
Für andere Hörsäle und/oder Perspektiven kann das URL_REGEX
in _saveCurrentStream.sh abgeändert werden.
- ffmpeg muss installiert sein
- macOS mit Homebrew:
$ brew install ffmpeg
- Linux:
$ sudo apt install ffmpeg
bzw.$ brew install ffmpeg
- macOS mit Homebrew:
- NUR macOS: gdate (GNU date) muss installiert sein (nur notwendig für record.sh Skript)
- mit Homebrew:
$ brew install coreutils
(für macOS-User, die noch kein Homebrew installiert haben —> https://brew.sh)
- mit Homebrew:
Eventuell müssen die Skripte noch ausführbar gemacht werden, indem in den Ordner (in der diese Datei liegt) navigiert und $ chmod +x *.sh
ausgeführt wird.
-
$ ./record.sh now
Startet die Aufnahme sofort und speichert die Datei unter ./saved/YYYY-MM-DD.mp4 -
$ ./record.sh "tomorrow 08:30"
Wartet bis zum nächsten Tag um 08:30 Uhr und startet dann die Aufnahme -
$ ./record.sh 13:30
Wartet bis um 13:30 Uhr (am selben Tag) und startet dann die Aufnahme -
$ ./record.sh "wed 8:15"
Wartet bis zum nächsten Mittwoch um 08:30 Uhr und startet dann die Aufnahme -
$ ./record.sh 10min LA
Wartet 10 Minuten, startet dann die Aufnahme und speichert die Datei unter ./saved/LA.mp4 (oder ./saved/LA_2.mp4 falls die Datei schon existiert)
Der Ausgabe-Ordner ist standardmäßig ./saved, dieser kann aber über OUTPUT_DIR
in record.sh angepasst werden.
Die Aufnahme stoppt automatisch, wenn der Stream beendet wird oder nach spätestens 3 Stunden (konfigurierbar in _saveCurrentStream.sh).
Um die Aufnahme manuell zu beenden, einfach mit CTRL-C
einen Interrupt schicken.
ACHTUNG: nur EINMAL (nicht mehrfach!) CTRL-C
drücken und warten bis ffmpeg sich beendet! Andernfalls kann der Header der MP4-Datei beschädigt und die Datei damit nicht abgespielt werden!
Unter macOS geht der Computer zudem nicht in den Ruhezustand während das Skript läuft (Bildschirmruhezustand wird nicht beeinflusst).
Wer den tum-live-recorder in einem eigenen Skript/Programm einbauen will oder das Planen von Aufzeichnungen lieber Cron überlassen will, kann dies einfach mit Hilfe des _saveCurrentStream.sh Skriptes machen.
These Bash-Skripts may be used to record the currently available livestreams of MW0001/MW2001 at live.rbg.tum.de locally.
To record different rooms or video feeds the property URL_REGEX
in _saveCurrentStream.sh may be changed.
- ffmpeg has to be installed
- macOS using Homebrew:
$ brew install ffmpeg
- Linux:
$ sudo apt install ffmpeg
or$ brew install ffmpeg
- macOS using Homebrew:
- ONLY macOS: gdate (GNU date) has to be installed (only needed for record.sh script)
- using Homebrew:
$ brew install coreutils
(to macOS-Users, who do not have Homebrew yet —> https://brew.sh)
- using Homebrew:
To allow execution of the scripts, you may need to navigate inside the folder (containing this file) and execute $ chmod +x *.sh
-
$ ./record.sh now
Immediatly start recoding and save to ./saved/YYYY-MM-DD.mp4 -
$ ./record.sh "tomorrow 08:30"
Wait until 08:30 AM tomorrow to start recording -
$ ./record.sh 13:30
Wait until 01:30 PM (on the same day) to start recoding -
$ ./record.sh "wed 8:15"
Wait until the next wednesdas 08:30 AM to start recording -
$ ./record.sh 10min LA
Wait for 10 minutes to start recodring and save to ./saved/LA.mp4 (or ./saved/LA_2.mp4 if already exists)
The output folder is ./saved by default. May be changed using the parameter OUTPUT_DIR
in record.sh.
Recording stops if the stream ends or after 3 hours (delay defined in _saveCurrentStream.sh).
To manually stop recording use CTRL-C
once to interrupt the program.
ATTENTION: only press CTRL-C
ONCE (not multiple times!) and wait until ffmpeg terminates! Interrupting ffmpeg may cause damage to the header of the MP4 file and prevent it from being played!
MacOS is prevented from sleeping while the script is running (screensaver not influenced).
If you want to integrate the tum-live-recorder into your own script/program or you rather want to leave the scheduling job to Cron, you can simply do that by using the _saveCurrentStream.sh script!