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 für diesen Artikel: , , , ,
Kategorie: Linux

Glückwunsch zu den ersten 1000 Tagen

Der Herr Kollege macht mich gerade darauf aufmerksam:


[root@integration ~]# uptime
 14:29:12 up 1000 days,  2:24,  2 users,  load average: 0.38, 0.09, 0.03
 


Glückwunsch an den Integration-Server ;-)
Tags für diesen Artikel: , , , ,
Kategorie: Linux

Vor und nach der MySQL Optimierung

CPU der Datenbank vor und nach der Optimierung
Tags für diesen Artikel: , ,
Kategorie: Linux

USB Platten und harter Alkohol

Auf was für Ideen manche Leute kommen (CentOS Mailingliste):

I have a client with a handful of USB drives connected to a CentOS box. I am charged with binding the USB drives together into a single LVM for a cheap storage data pool (10 x 1 TB usb drives = 10 TB cheap storage in a single mount point).

The next fun piece is how to incorporate that storage space into an existing Active Directory structure to apply AD acls for limited access. I'd rather not use Samba, as that is its own infrastructure and maintains its own credentials database.

What are my best options?


Die richtige Antwort kam dann auch recht schnell:

The mere thought of doing what your tasked with doing makes me want to drink a lot of hard alcohol.
Tags für diesen Artikel: , , , , , , ,
Kategorie: Linux

Hallo 2009!

Guten Morgen Welt, da ist es also: das Jahr 2009. Und weil das kommende Jahr ja angeblich zu den härtesten gehört, bekamen wir alle erstmal eine zusätzliche Sekunde geschenkt - behauptet mein Server:

CODE:
Unusual System Events =-=-=-=-=-=-=-=-=-=-= Jan  1 00:59:59 bigboy Clock: inserting leap second 23:59:60 UTC

Tags für diesen Artikel: , ,
Kategorie: Linux

dos2unix

Aaargs, ich könnte mich so massiv über mich selbst ärgern: ich habe ein kleines Shell-Script geschrieben, das mir beim Update heute abend nur mal schnell ein paar Dateien im CVS updated und tagged - es war nicht zur Kooperation zu bewegen. Bis ich ein dos2unix über das Script drübergejagt habe, welches die (wie auch immer in gedit aufgetauchten) Windows Line-ends eliminiert hat. Gnaaarf. Warum habe ich genau dafür auch gedit verwendet und nicht den vim?
Tags für diesen Artikel: , ,
Kategorie: Linux

SSH brute force login Namen

Was möchten mir diese Loginversuche aus Japan sagen? Sind das tatsächlich verwendete typisch deutsche Logins? :-O

sshd[7858]: Invalid user deutch from 219.122.14.36
sshd[7865]: Invalid user german from 219.122.14.36
sshd[7872]: Invalid user hitler from 219.122.14.36
sshd[7879]: Invalid user deutchland from 219.122.14.36
sshd[7886]: Invalid user adele from 219.122.14.36
Tags für diesen Artikel: ,
Kategorie: Linux

Firefox Nagios Checker Addon

Nagios Checker ist ein sehr nützliches Addon für Firefox/Mozilla/Thunderbird, wenn man nicht immer einen Screen mit der Nagios Weboberfläche offen haben möchte. Der Status wird platzsparend in der unteren Statusleiste angezeigt, die Check URL ist anpassbar, so daß auch eigene Views möglich sind.

Tags für diesen Artikel: , ,
Kategorie: Linux

Karl Klammer im vi?

Nur für vi-Nutzer: hier klicken und Spaß haben ;-)
Tags für diesen Artikel: ,
Kategorie: Linux

domainfactory und SRV Records

Ich würde gerne für meinen Jabberserver korrekte SRV Records setzen, wie es auch in der Doku beschrieben steht. In meinem Fall wäre das folgende Umsetzung:
_jabber._tcp.pommesbude.org -> jabber.pommesbude.org:5269
_xmpp-server._tcp.pommesbude.org -> jabber.pommesbude.org:5269
_xmpp-client._tcp.pommesbude.org -> jabber.pommesbude.org:5222

Bei meinem Domainprovider domainfactory scheint das im Webinterface nicht einstellbar zu sein, nach Anfrage an den Support kam leider die unerfreuliche Meldung zurück:
Nein tut mir Leid, dies bieten wir ihnen in unserem Haus auch in Zukunft nicht an.

Vermutlich werde ich mir doch mal einen eigenen Nameserver aufsetzen, dann bräuchte ich nur nen einen Slave in einem anderen Netz. Aber auch den werde ich finden.
Tags für diesen Artikel: , ,
Kategorie: Linux