Diese Seite wird über eine ungesicherte Verbindung abgerufen. Jeder, der zufällig gerade in der Nähe ist, kann völlig problemlos jegliche Kommunikation mit dieser Seite einsehen und nach belieben manipulieren. Unter dem folgenden Link ist eine HTTPS-Gesicherte Verbindung möglich: https://0x7be.de.org. Beim Anklicken eines beliebigen Links innerhalb dieses Blogs wird automatisch auf die HTTPS-Gesicherte Verbindung gewechselt.

Es kann hierbei zu einem Warnhinweis durch den Browser kommen, da die von dieser Seite verwendete Zertifizierungsstelle CAcert unkommerziell ist, und als solche derzeit nicht in den gängigen Browsern vorinstalliert wird. Es ist also nötig, entweder eine Ausnahmeregelung für 0x7be.de zu definieren, oder das CAcert-Zertifikat dem Browser hinzuzufügen.

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.

Arbeitserleichterung beim Fernsehen

Um nicht jedes Mal immer alles Einzugeben, habe ich mir ein Shellscript gebastelt, das Folgendes macht:

  • alle Instanzen von MPlayer und gMPlayer beenden, damit es beim Starten des Streams keine Fehlermelung gibt, falls schon eine andere MPlayer-Instanz auf die Hardware zugreift
  • Dem Script werden zwei Parameter übergeben, einmal der Sendername und einmal das Verzeichnis, in dem Screenshots abgelegt werden sollen
  • Es wird abgefragt, welcher Deinterlacing-Filter verwendet werden soll
  • MPlayer wird mit den gemachten Angaben, sowie im Script definierten, immer gleichen Angaben gestartet

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 Senderlogos

Senderauswahl ü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

Alternativ kann man auch dieses dmenu-Script benutzen. dmenu integriert sich aufgrund des Aufrufs perfekt in jeden wmii-Desktop.

#!/bin/bash
 
set -- $(echo $WMII_NORMCOLORS $WMII_FOCUSCOLORS)
 
PIDFILE="${HOME}/.mplayer/dvbtmplayerpid"
CAPSDIR="${HOME}/TV-Caps/neue"
PARAMS="-b -fn '$WMII_FONT' -nf "$1" -nb "$2" -sf "$4" -sb "$5""
STATION=$(sed s/":.*"/""/g ${HOME}/.mplayer/channels.conf | dmenu ${PARAMS})
 
if [ "$STATION" ]; then
        kill $(cat ${PIDFILE})
        notify-send "Starte mplayer mit ${STATION}, bitte Geduld!"
        sleep 3
        cd "${CAPSDIR}"
        MPOPTS="-vf kerndeint=1:0:0:0:0,screenshot -cache 1024 -cache-min 50"
        mplayer ${MPOPTS} "dvb://${STATION}" & echo $! > ${PIDFILE}
fi

Jemandem, der dmenu verwendet, traue ich zu, dass derjenige sich das Script selbst an die eigenen Bedürfnisse anpassen kann :)

  • Technorati
  • MisterWong
  • Digg
  • Facebook
  • del.icio.us
  • Twitter
  • MySpace
  • StumbleUpon
  • Reddit
  • BlinkList
  • blogmarks
  • Fark
  • Simpy
  • Slashdot
  • MyShare
  • Google Bookmarks
  • Sphinn
  • Wikio
  • DotNetKicks
  • eKudos
  • Gwar
  • Haohao
  • Internetmedia
  • NewsVine
  • Wists
  • Yigg
  • Faves
  • Meneame
  • Yahoo! Buzz
  • Blogosphere News
  • Kirtsy
  • laaik.it
  • Mixx
  • Webnews.de
  • FriendFeed
  • LinkedIn
  • Linkter
  • Ping.fm
  • Propeller
  • SphereIt
  • ThisNext
  • Webride
  • Fleck
  • HelloTxt
  • Identi.ca
  • LinkArena
  • MSN Reporter
  • Netvibes
  • Segnalo
  • Upnews
  • Xerpi
  • Current
  • Diigo
  • Global Grind
  • HackerNews
  • Hyves
  • LinkaGoGo
  • muti
  • Posterous
  • Scoopeo
  • Socialogs
  • Suggest to Techmeme via Twitter
  • Tumblr
  • Yahoo! Bookmarks
  • IndianPad
  • Live
  • N4G

Seiten

1 2 3 4 5 6 7 8

Der Beitrag wurde am 12. Januar 2008 veröffentlicht und unter Allgemein abgelegt.

8 Kommentare für „DVB-T unter Linux“

  1. Lazlo Erfurt sagt:

    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!

  2. icewind sagt:

    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“

  3. Lazlo Erfurt sagt:

    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.

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

  5. hogo sagt:

    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.

  6. icewind sagt:

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

  7. mmc0815 sagt:

    Moin Zusammen,

    super Anleitung. Wie werden am Besten zeitgesteuerte Aufnahmen realisiert? Etwa über cronjob?

    Gruß,

    mmc0815

Kommentar hinterlassen

XHTML: Folgende Tags können benutzt werden: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">

icewind’s Blog ³ – Dirk Sohler – https://0x7be.de/dvb-t-unter-linux/
Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien: