DVB-T unter Linux

Arbeitserleichterung beim Fernsehen

Wie gesehen, ist der Aufruf von MPlayer einerseits recht kurz, schließlich genügt es im Idealfall einfach, nur den Stream zu übergeben, andererseits kann der Aufruf recht umfangreich werden, wenn man weitere Optionen einstellen möchte. Um nicht jedes Mal immer alles Einzugeben, habe ich mir ein Shellscript gebastelt, das Folgendes macht:

Es wird „Zenity“ benötigt, welches allerdings bei jeder Gnome-Installation dabei sein sollte. Für KDE und Andere muss das Script eventuell umgeschrieben werden. Der Aufruf funktioniert beispielsweise so:

./fernsehen ZDF "/home/user/Bilder/Screenshots"

Nun wird MPlayer mit den oben im letzten Beispiel angegebenen Optionen gestartet, wobei der Deinterlacing-Filter entsprechend der Angabe im Abfragedialog gesetzt wird. Im Abschnitt …

# Set Values
nicevalue="19" # lower number, more CPU power, 19 is okay, and max
cachevalue="30720" #kBytes, 30720 kilobytes = 30 megabytes
cacheminvalue="4"; # in percent, 99 is max

… können für jeden Aufruf gleiche Optionen entsprechend angepasst werden.

Das Script kann man sich natürlich Ideal in einen Starter packen, und so mit einem einfachen Doppelklick MPlayer mit dem gewünschten DVB-T-Stream starten.

[Desktop Entry]
Version=1.0
Encoding=UTF-8
Type=Application
Icon=/home/user/Bilder/Logos/zdf.png
Terminal=false
Exec=/bin/bash /home/user/fernsehen "ZDF" "/home/user/Bilder/Screenshots"
Name=ZDF

… als „ZDF.desktop“ speichern, und fertig. Dies kann man natürlich auch mit allen weiteren Sendern machen. Zugegeben, das ist ein mal etwas Handarbeit, aber danach hat man eine wunderbare auswahlmethode. Wenn „Name=“ leergelassen wird, wird nichts angezeigt. Auch praktisch, da die Logos ja meist für sich selbst sprechen.

Screenshot eines Nautilus-Fensters mit diversen Startern, versehen mit SenderlogosSenderauswahl über Starter

Zugegeben, zappen ist damit etwas schwieriger (MPLayer-Shortcuts sind unter anderem K und L) und langsamer (der Cache wird jedes mal, wenn man „umschaltet“ bis zum im Aufruf angegebenen Wert aufgefüllt), aber es funktioniert einwandfrei und extrem konfigurierbar.

Download des Scripts: fernsehen

Weitere Seiten dieses Beitrags

1 2 3 4 5 6 7 8 9

6 Reaktionen

  1. Danke für die Ausführungen, die mir gut geholfen haben. Ich wäre auch weiterhin an Informationen zu diesem Thema interessiert. Z.B. habe ich mit mplayer Aufnahmeprobleme. Wenn ich den Stream als MPEG speichere, enthält die Datei am Ende Fehler, die sich beim späteren anschauen als kurze Sprünge bemerkbar machen. Demuxt man die mpeg-Datei mit ProjectX werden die Fehler auch angezeigt. Codiere ich während der Aufnahme gleich in x264, was ja erheblich CPU lastiger ist, kann ich diese Fehler nicht feststellen. Hier mal infohalber meine Codieroptionen, für eine „Livecodierung“ während der Aufnahme.

    mencoder dvb://ARD -oac copy -ovc x264 -x264encopts threads=auto:bitrate=896:subq=3:me=hex:frameref=3:bframes=3 -vf scale=464:352 -o test.avi -frames $((25*60*95))

    Das kann mein 3GHz P4 gerade noch „verschaffen“. Am Ende habe ich eine noch gut anschaubare Datei, die ich auch mal einem Freund uploaden kann.

    Grüße!

    Comment von Lazlo Erfurt am 5. Mai 2008 um 17:57 Uhr

  2. Also, bei „-oac copy -ovc copy“ habe ich keine Probleme mit fehlerhaften Dateien.

    Da ich sowieso nachträglich noch alles schneide, und dann erst Kodiere (wenn die Datei nach dem gucken nicht sowieso in /dev/null verschwindet – Ich benutze es hauptsächlich, um tägliche Sendungen „gesammelt“ am Wochenende am Stück durchgucken zu können), ist mir das auch weniger wichtig.

    Die „Sprünge“ könnten vielleicht von Streamfehlern kommen, die durch nicht immer ganz optimalen Empfang entstehen.

    Ich bekomme bei deiner Zeile übrigens
    „-x264encopts is not an MEncoder option“

    Comment von icewind am 5. Mai 2008 um 18:20 Uhr

  3. Ja, dann war beim Kompilieren vom Mplayer x264 nicht installiert; kannst Du hier bekommen: ftp://ftp.videolan.org/pub/vid...snapshots/
    x264 ist eine h264 Implementierung die frei verfügbar ist, allerdings aus Lizensgründen nur als Quellcode.

    Comment von Lazlo Erfurt am 5. Mai 2008 um 20:14 Uhr

  4. […] Einstellungsmöglichkeiten von DVB-T mit MPlayer gibt es im icewind’s Blog von Dirk […]

    Pingback von imhorst.net » Blog Archive » DVB-T mit MPlayer am 14. Mai 2008 um 22:35 Uhr

  5. mencoder hat einen Parameter um die Laenge der Aufnahme von vornherein festzulegen.
    Die Option
    -endpos 5400
    nimmt z.B. 90 Minuten Film auf.

    Die Laenge der Aufnahme wurde hier in Sekunden angegeben. Geht aber auch anders. Wird ueblicherweise benutzt um bei einer zu kodierenden Datei den Endpunkt festzulegen, wenn man nicht die ganze Datei kodieren moechte.

    Ich nehme an, aus diesem Grund findet das keiner.

    — Auszug man mencoder —
    -endpos
    (siehe auch -ss und -sb)
    Beende das Encodieren nach der angegeben Zeit oder Byteposition.
    ANMERKUNG: Die Byteposition ist nicht exakt, da MEncoder nur an Bildgrenzen mit dem Encodieren aufhören kann.

    BEISPIEL:
    -endpos 56
    Encodiere nur 56 Sekunden.
    -endpos 01:10:00
    Encodiere nur 1 Stunde 10 Minuten.
    -endpos 100mb
    Encodiere nur 100 MBytes.

    Comment von hogo am 9. Oktober 2008 um 14:26 Uhr

  6. Klasse, da muss man aber auch erstmal drauf kommen! *notier* Gut zu wissen, Danke :)

    Comment von icewind am 9. Oktober 2008 um 19:30 Uhr

Einen Kommentar hinterlassen

XHTML: Du kannst die folgenden Tags verwenden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="">

Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien: