Fernsehen übers Internet
21.10.2018

Im Sommer wollte ich auf meinem Balkon fernsehen. Dafür hatte ich mir das Tablet Galaxy Tab S2 T815 gekauft. Auf dem Tablet hatte ich das kostenlose und offene Betriebssystem LineageOS installiert. Mit Android funktioniert die folgende Anleitung zum Empfang von Internetfernsehen ebenfalls. Auf dem Tablet oder dem Mini-Computer Raspberry Pi läßt sich Internet-TV aufzeichnen. Auch wenn Fernsehen im Webbrowser funktioniert, ist der VLC Media Player meistens die komfortablere Lösung.
Streams
Seit einigen Jahren streamen die öffentlich-rechtlichen Fernsehsender ihr Fernsehprogramm über das Internet. Mittlerweile kommen die Streams zum Glück ohne den lästigen Adobe Flash Player aus. Die Videos werden mit standardisiertem HTTP Live Streaming (HLS) übertragen. Im Wiki von UbuntuUsers sind einige URLs für Internet-TV aufgelistet. Diese Streams können mit dem VLC Media Player für Android auf einem Tablet abgespielt werden. Zum Einrichten von VLC habe ich die Android Debug Bridge von einem Laptop aus benutzt, um mich auf dem Tablet über ein Micro-USB-Kabel einzuloggen.
# restart adbd daemon with root permissions
adb root
# install VLC via android debug bridge
adb install VLC-Android-3.0.13-ARMv7.apk
# log in to the connected tablet
adb shell
# create directory for television streams
mkdir -p /data/media/0/Movies/streams
# save the URLs for ARD, ZDF, 3SAT, RBB and so on
cd /data/media/0/Movies/streams
echo https://mcdn.daserste.de/daserste/int/master_3744.m3u8 > daserste.m3u8
echo https://zdf-hls-01.akamaized.net/hls/live/2002460-b/de/ea2c86283bee25eee11b3b449370a64c/3/3.m3u8 > zdf.m3u8
echo https://zdfhls18-i.akamaihd.net/hls/live/744751/dach/high/master.m3u8 > 3sat.m3u8
echo https://rbblive-lh.akamaihd.net/i/rbb_berlin@144674/master.m3u8 > rbb.m3u8
echo https://zdf-hls-02.akamaized.net/hls/live/2002461/de/dc55a4411a4769cf6be39da3697b3791/3/3.m3u8 > zdf_neo.m3u8
echo https://zdfhls17-i.akamaihd.net/hls/live/744750/de/high/master.m3u8 > zdf_info.m3u8
echo https://zdfhls19-i.akamaihd.net/hls/live/744752/de/high/master.m3u8 > phoenix.m3u8
# create directory for radio streams
mkdir -p /data/media/0/Movies/streams
# echo the URLs into files for better identification
cd /data/media/0/Music/streams
echo http://stream.jam.fm/jamfm-live/mp3-192 > jam_fm.m3u
echo http://rbb-inforadio-live.cast.addradio.de/rbb/inforadio/live/mp3/128/stream.mp3 > inforadio.m3u
echo http://rbb-radioeins-live.cast.addradio.de/rbb/radioeins/live/mp3/128/stream.mp3 > radioeins.m3u
echo http://stream.kissfm.de/kissfm/mp3-128 > kiss.m3u
echo http://st01.dlf.de/dlf/01/128/mp3/stream.mp3 > deutschlandfunk.m3u
Die Internetadressen funktionieren mit Stand vom Oktober 2018. Sollten die Internetadressen nicht mehr funktionieren, dann lohnt sich ein Blick in das Wiki von UbuntuUsers zu Internet-TV, das hoffentlich aktuell gehalten wird. Mit den erstellten Dateien lassen sich jetzt im VLC Media Player die Streams starten. Zunächst mußt in VLC für Android im Menü links oben auf "Verzeichnisse" getippt werden.

im Menü von VLC "Verzeichnisse" wählen
Die TV-Streams liegen im Verzeichnis "Movies" und die Radio-Streams im Verzeichnis "Music".

Movies und Music
Damit die Stream-Dateien nicht unter der anderen Musik und den Videos verloren gehen, liegen die Stream-Dateien im jeweiligen Unterverzeichnis "streams".

TV Streams in VLC
Bei Auswahl einer "m3u8"-Datei startet der Stream im VLC Media Player. Manchmal startet das Video erst einige Sekunden nachdem der Ton bereits zu hören ist. Vermutlich liegt das an dem Video-Codec, der erst einmal den Stream über WLAN puffern und ein komplettes Bild im Videostream finden muss.

ZDF im VLC Media Player
Durch Wischen von unten nach oben auf der linken Seite des Videos wird der Bildschirm des Tablets heller. Auf der rechten Seite erhöht sich durch Wischen von unten nach oben die Lautstärke des Videos.
Lizenzen
Wie sonst überall im Leben geht es auch beim Fernsehen ums Geld. Einige Filme werden aus lizenzrechtlichen Gründen nicht über das Live-TV der öffentlich-rechtlichen Fernsehsender gestreamt. Private Fernsehsender verlangen eine Anmeldung für ihren Streaming-Dienst. Eine Alternative könnte zum Beispiel das Streamen von Kabelfernsehen über WLAN sein.
Performance
Auf meinem Tablet Samsung Galaxy Tab S2 benötigt das Fernseh-Live-Streaming unter Firefox und VLC etwa die gleiche Rechenleistung (CPU-Last). Unter Linux benötigt VLC deutlich weniger CPU-Zeit als Firefox.
Aufnahme
Um Fernsehen auf dem Tablet zu speichern, kann der Internetstream mit dem kostenlosen Programm "ffmpeg" für Android benutzt werden.
adb shell
# mount system directory writable
mount -o remount,rw /system
# store ffmpeg in the directory for binary apps
cd /system/xbin
# download ffmpeg
wget https://raw.githubusercontent.com/bravobit/FFmpeg-Android/master/android-ffmpeg/src/main/assets/arm/ffmpeg
# make ffmpeg executable
chmod 755 /system/xbin/ffmpeg
# get a checksum - might be different in the future
sha1sum ffmpeg
ce514001bd44c851ca2198b8a4ead6e8113493d5
# enable WiFi
svc wifi enable
# check if WiFi is available
ifconfig wlan0
# record the television stream
ffmpeg -i "https://mcdn.daserste.de/daserste/int/master_3744.m3u8" -movflags empty_moov -c copy /data/media/0/Movies/$(date "+%F_%H-%M-%S")_television.mkv
Die Aufnahme hatte allerdings bei ffmpeg für Android eine Verzögerung zwischen Audio- und Video-Spur. VLC bietet beim Abspielen aber die Möglichkeit, eine Audioverzögerung einzustellen.
Technikfolgenabschätzung
Mit Internetfernsehen kann das Nutzungsverhalten der ZuschauerInnen überwacht werden und theoretisch Quoten ermittelt werden. Wie kritisch diese Informationen sind, muss jede(r) für sich selbst einschätzen. Wer sich nicht überwachen lassen möchte, kann auch Kabelfernsehen über WLAN streamen.
Die Bereitstellung der Internet-TV-Streams benötigt Energie. Allerdings benötigt ein Tablet etwa 6 Watt beim Fernsehen im Gegensatz zu einem großen Flachbildfernseher mit mindestens 50 Watt. Dadurch sollte die Gesamtenergiebilanz beim Internetstreaming auf einem Tablet gegenüber dem Fernsehen am Flachbildschirm besser aussehen.