Artikel mit Tag dvb-t
fussball barcelona brasilien euro2008 fahne fck formel 1 frust fun gewalt köln linux loco on tour playstation ps3 sinnlos sky sport streaming stuttgart tickets tv werbung wm wm 2010 2009 acer alkohol apple benchmark blog centos editor fedora filesystem gentoo gpl hardware idioten Job linksys lvm lvm2 mac macbook mysql netbook onvista parallels pc raid rootserver samba server sysadmin tuning update uptime usb windows work xfce4
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.



