Linux/DVB

Version vom 7. Mai 2012, 21:50 Uhr von Thomas (Diskussion | Beiträge) (→‎Scan mit dvbscan/scandvb)
(Unterschied) ← Nächstältere Version | Aktuelle Version (Unterschied) | Nächstjüngere Version → (Unterschied)

Die Beschreibungen hier beziehen sich auf DVB-C (KNC ONE) und DVB-S (Technotrend).

Scan durchführen

Scan mit dvbscan/scandvb

Das Paket mit den DVB-Tools und das Scanprogramm unterscheiden sich je nach Distribution.

Paket:

  • Fedora: dvb-apps
  • Suse: dvb
  • Gentoo: media-tv/linuxtv-dvb-apps

Scanprogramm:

  • Fedora: scandvb
  • Suse, Gentoo: dvbscan

scandvb benötigt zum Start eine Liste der initialen Transponder. Den Rest findet er dann von da aus. Für KabelBW kann man z.B. die Liste von Kabel München verwenden.

de-Muenchen:

# Kabel Muenchen
# freq sr fec mod
C 346000000 6900000 NONE QAM64
C 354000000 6900000 NONE QAM64
C 362000000 6900000 NONE QAM64
C 370000000 6900000 NONE QAM64
C 378000000 6900000 NONE QAM64
C 386000000 6900000 NONE QAM64
C 394000000 6900000 NONE QAM64
C 402000000 6900000 NONE QAM64
C 410000000 6900000 NONE QAM64
C 418000000 6900000 NONE QAM64
C 426000000 6900000 NONE QAM64
C 434000000 6900000 NONE QAM64

Alle TV- und Radiosender scannen:

dvbscan de-Muenchen >channels.conf

Nur unverschlüsselte TV-Sender und keine Radiosender scannen:

dvbscan -x 0 -t 1 de-Muenchen >channels.conf

Auf Adapter 1 statt 0 scannen:

dvbscan -a 1 de-Muenchen >channels.conf

DVB-S (SAT):

dvbscan -x 0 -t 1 /usr/share/dvb/dvb-s/Astra-19.2E >channels.conf

Beispiel eines Ergebnis-Eintrags in channels.conf:

EuroNews:458000000:INVERSION_AUTO:6900000:FEC_NONE:QAM_64:2432:2433:31220
  • 458000000 = Frequenz in Hz
  • 6900000 = Symbolrate
  • QAM_64 = QAM (kann auch 128 oder 256 sein)
  • 2432 = Video-PID
  • 2433 = Audio-PID
  • 31330 = Service-ID

Scan mit w_scan

w_scan benötigt keine Liste der initialen Transponder, braucht aber sehr lange. Dafür ermittelt es aber auch die EIT-PIDs.

w_scan kann auch die initiale Transponderliste für dvbscan erzeugen:

w_scan -fc -x > initial_tuning_data.txt

Signalqualität prüfen

Während ein Kanal empfangen wird, kann man mit dvbsnoop die Qualität des Signals bestimmen.

dvbsnoop -s signal

Auf Adapter 1:

dvbsnoop -adapter 1 -s signal

Beispielausgabe:

cycle: 77  d_time: 0.024 s  Sig: 35980  SNR: 62451  BER: 0  UBLK: 0  Stat: 0x1f [SIG CARR VIT SYNC LOCK ]

Bei der Ausgabe sind folgende Werte interessant:

  • Sig = Signalstärke (max. 65535)
  • SNR = Rauschverhältnis (max. 65535)
  • BER = Bit-Error-Rate
  • UBLK = Unkorrigierbare Errors

Sig ist nicht so wichtig. Bei der KNC ONE ist sogar eine zu hohe Signalstärke schlecht. SNR sollte möglichst hoch sein. BER sollte möglichst niedrig sein. UBLK muss 0 sein, weil man sonst Bildstörungen hat.

In den ersten Sekunden der Messung kann es sein, dass ein utopisch hoher BER angezeigt wird bei gleichzeitig UBLK von 0. Dann muss man etwas warten, bis die Karte realistische Werte liefert.

Test mit mplayer

mplayer alleine

channels.conf nach ~/.mplayer kopieren, dann kann man mit mplayer TV schauen:

mplayer dvb://<Sender>

Der Nachteil hierbei ist, dass mplayer immer Karte 0 nimmt.

mplayer mit czap und dvbstream

Beispiel für DVB-C. channels.conf nach ~/.czap kopieren. Dann in einer Console:

czap -a <Karte> <Sender>

In einer anderen Console:

dvbstream <Video-PID> <Audio-PID> -c <Karte> -o | mplayer -

Video-PID und Audio-PID stehen in channels.conf.

Analog funktioniert das ganze auch mit szap für DVB-S und tzap für DVB-T.