DVB-T Streaming der WM mit VLC unter Linux

Aktuelle Anforderung: streame das Signal eines DVB-T Empfängers unter Linux ins lokale Netzwerk, so daß während der WM die Aussenanbindung nicht mit ARD- oder ZDF-Streams dicht gefahren wird.

Dazu verwende ich meinen eigentlich fürs Macbook angeschafften Elgato Eye-TV DTT Deluxe, der auf einem aktuellen Fedora 13 problemlos erkannt wird:

Jun 14 20:53:54 smallboy kernel: CE: hpet increasing min_delta_ns to 15000 nsec
Jun 14 21:00:42 smallboy kernel: usb 1-1: new high speed USB device using ehci_hcd and address 2
Jun 14 21:00:42 smallboy kernel: usb 1-1: New USB device found, idVendor=0fd9, idProduct=0020
Jun 14 21:00:42 smallboy kernel: usb 1-1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
Jun 14 21:00:42 smallboy kernel: usb 1-1: Product: EyeTV DTT Dlx
Jun 14 21:00:42 smallboy kernel: usb 1-1: Manufacturer: Elgato
Jun 14 21:00:42 smallboy kernel: usb 1-1: SerialNumber: 0000000001
Jun 14 21:00:42 smallboy kernel: dib0700: loaded with support for 14 different device-types
Jun 14 21:00:42 smallboy kernel: dvb-usb: found a 'Elgato EyeTV Dtt Dlx PD378S' in cold state, will try to load a firmware
Jun 14 21:00:42 smallboy kernel: usb 1-1: firmware: requesting dvb-usb-dib0700-1.20.fw
Jun 14 21:00:42 smallboy kernel: dvb-usb: downloading firmware from file 'dvb-usb-dib0700-1.20.fw'
Jun 14 21:00:42 smallboy kernel: dib0700: firmware started successfully.
Jun 14 21:00:43 smallboy kernel: dvb-usb: found a 'Elgato EyeTV Dtt Dlx PD378S' in warm state.
Jun 14 21:00:43 smallboy kernel: dvb-usb: will pass the complete MPEG2 transport stream to the software demuxer.
Jun 14 21:00:43 smallboy kernel: DVB: registering new adapter (Elgato EyeTV Dtt Dlx PD378S)
Jun 14 21:00:43 smallboy kernel: DVB: registering adapter 0 frontend 0 (DiBcom 7000PC)...
Jun 14 21:00:43 smallboy kernel: DiB0070: successfully identified
Jun 14 21:00:43 smallboy kernel: input: IR-receiver inside an USB DVB receiver as /devices/pci0000:00/0000:00:1a.7/usb1/1-1/input/input9
Jun 14 21:00:43 smallboy kernel: dvb-usb: schedule remote query interval to 50 msecs.
Jun 14 21:00:43 smallboy kernel: dvb-usb: Elgato EyeTV Dtt Dlx PD378S successfully initialized and connected.
Jun 14 21:00:43 smallboy kernel: usbcore: registered new interface driver dvb_usb_dib0700


Zum scannen der verfügbaren Sender und zum späteren streamen müssen die DVB Tools sowie der VideoLAN Player installiert werden (letzterer findet sich im rpmfusion Repository)


yum install vlc dvb-apps
 


Für den aktuellen Standort Köln (NRW) wird nach Sendern gesucht, hieraus resultiert eine Datei channels.conf, in der die empfangbaren Programme (für NRW) enthalten sind:


scandvb /usr/share/dvb-apps/dvb-t/de-Nordrhein-Westfalen \
  -o zap | tee ~/channels.conf
 


Das Signal für einen bestimmten Sender wird mittels VLC abgegriffen und gleichzeitig ins Netz gestreamt. Auf Grund der Kompatibilität mit Windows Clients habe ich mich für einen mms stream mit windows media Video- und Soundcodec entschieden. Bandbreite spielt in einem Gigabit-Netz keine Rolle, also skaliere ich nur das Bild auf die Hälfte und streame mit 2000kbit/s. Die Frequenz, Bandbreite und das Programm erhalte ich aus der channels.conf, cvlc anstatt vlc verwendet den Konsolenclient ohne GUI:


cvlc dvb-t:// --dvb-frequency=706000000 --dvb-bandwidth=8 --program=256 \
  --sout '#transcode{vcodec=WMV2,vb=2000,scale=0.5,\
  acodec=wma2,ab=64,channels=2}:\
  std{access=mmsh,mux=asfh,dst=192.168.253.11:1234}'

 


Windows Clients geben im Browser jetzt einfach mms://192.168.253.11:1234 ein und bekommen die installierten Mediaplayer, mindestens aber den Windows Media Player angeboten, Linux User schauen per mplayer oder aber vlc:


$ mplayer mmsh://192.168.253.11:1234
$ vlc mmsh://192.168.253.11:1234
 


Wenn kein Netzwerkgerät im LAN Multicast verwirft, dann lässt sich auch sehr komfortabel per UDP auf eine Multicast Adresse streamen:


cvlc dvb-t:// --dvb-frequency=706000000 --dvb-bandwidth=8 --program=256 \
  --sout '#transcode{vcodec=WMV2,vb=2000,scale=0.5,\
  acodec=wma2,ab=64,channels=2}:\
  std{access=udp,mux=asfh,dst=225.1.2.3:1234}'

 


Die Wiedergabe funktioniert zumindest mit vlc (ungetestet: auch unter Windows und auf dem MAC) und mplayer:


$ mplayer udp://225.1.2.3:1234
$ vlc udp://225.1.2.3:1234
 


Mehr Infos zum Streaming mit VLC gibt es in der offiziellen VLC Doku.
Tags fr diesen Artikel: , , , ,
Kategorie: Linux
Trackbacks

Trackback-URL fr diesen Eintrag

boeckoblog

06/15/2010 01:21

WM-Stream von ARD/ZDF multiplexen/verteilen (update)
OSX/Linux/whatever aktueller VLC (am besten mit cvlc-Kommandozeilenclient) Folgendes Script (vlcproxy.sh) #!/bin/sh SENDER=$1 STREAMTYPE="mms" MYIP="192.168.0.100" if [ -z "$URL" ]; then case $SENDER in ARD|ard) URL='http://www.metafilegenerator.de/dyn...

www.boeckler.org

06/16/2010 04:31

Kommentare
Noch keine Kommentare
Kommentar schreiben



Umschlieende Sterne heben ein Wort hervor (*wort*), per _wort_ kann ein Wort unterstrichen werden.
Standard-Text Smilies wie :-) und ;-) werden zu Bildern konvertiert.
Die angegebene E-Mail-Adresse wird nicht dargestellt, sondern nur fr eventuelle Benachrichtigungen verwendet.

Um maschinelle und automatische bertragung von Spamkommentaren zu verhindern, bitte die Zeichenfolge im dargestellten Bild in der Eingabemaske eintragen. Nur wenn die Zeichenfolge richtig eingegeben wurde, kann der Kommentar angenommen werden. Bitte beachten Sie, dass Ihr Browser Cookies untersttzen muss, um dieses Verfahren anzuwenden.
CAPTCHA

BBCode-Formatierung erlaubt
Pavatar, Gravatar, Favatar, MyBlogLog, Pavatar Autoren-Bilder werden untersttzt.