Linux und Digital TV (DVB) |
69. Stammtisch
Chemnitzer Linux User Group
09. August 2002
Andreas Heik
TU Chemnitz, URZ
Einordnung |
Motivation
- vielfältiges Programmangebot
- mehr Programme bei gleicher Anzahl Übertragungsfrequenzen
- neue Dienste (Daten, ...)
- gute Bildqualität
- rauschfreies Bildsignal
- keine Fehler durch Mehrwegempfang (Geisterbilder)
- aber Totalausfall bei Übertragungsstörung
- preisgünstig gegenüber Set-Top-Box mit Festplatte
- teuer gegenüber analog Sat-Empfänger
Begriff
- Digital TeleVision Broadcasting (DTVB)
- Digital Video Broadcasting (DVB)
- digitaler Datenstrom, MPEG2-kodiert
Verteilung
- DVB-s (Satellit)
- DVB-c (Kabelnetz)
- DVB-t (terrestrisch)
Voraussetzungen |
Satellitenempfangsanlage
- digitaltauglich (12GHz-LNB)
- wenige digitale Sender auch im 11GHz-Band
- 60cm Spiegel für Astra ausreichend
- günstige Erweiterung analoger Mehrteilnehmeranlagen mit Quad-LNB
Beispiel: SatellitenempfangsanlagePC
- mindestens 200MHz CPU
- große Festplatte (DVB-Datenstrom ca. 4MB/s)
DVB-s Karte
- Siemens DVB
- Hauppauge DVB-s (Nexus-s)
- Technotrend
- Galaxis
Hardwareauswahl |
verschiedene Revisionen
1.3 LNB Loop through Video composite, Audio line out RGB+S/PDIF nur onboard 1.6 baugleich zu Rev. 1.3, aber nicht vollständig unterstützter Tuner 2.1 kein LNB Loop through vollständig unterstützter Tuner Kabelpeitsche (Composite, Audio R/L, S/PDIF) low budget Karten
- Hauppauge WinTV-NOVA
- kein MPEG-Decoder
- als 2.Karte für Timeshift
Common Interface
- Zubehör zur DVB-Karte
- dekodieren von Pay-TV mit passendem CI-Modul
Kartenlayout |
Überblick: Kartenlayout
Treiberinstallation (DVB) |
Kernel
- Kernelversion 2.4.x
- Wichtig: passende Kernelsourcen müssen installiert sein
- ggf. Kernelsourcen installieren, konfigurieren und Kernel neu übersetzen
DVB-Treiber
- Entwicklung bei "convergence integrated media gmbh"
- Dr. Ralph Metzler und Dr. Marcus Metzler
- GNU GPL
- www.linuxtv.org/download/dvb/
cd /usr/local/src
tar xvfz siemens_dvb-0.9.4.tar.gz
ln -s siemens_dvb-0.9.4 DVB
cd DVB/driver/
make
make insmod
- sinnvoll, /var/log/messages zu beobachten
- nach laden der Module sollte TV-Bild am Composite-Ausgang sichtbar sein
- TV-Bild auf Desktop über Video4Linux-Applikation wie xawtv oder kwintv
- Geräteeinträge: /dev/ost/*
ZAP ... Senderwahl |
tuxzap
- DVB-Treiber enthält Senderwahl tuxzap
cd /usr/local/src/DVB/libdvb
make
cd DVB/apps/tuxzap
./autogen.sh
make
make install
cp /usr/local/src/DVB/apps/dvbrc.astra ~/.dvbrc
/usr/local/bin/tuxzap
- kopieren der gewünschten Kanalkonfigurartion nach ~/.dvbrc
- Favoriten möglich
Anwendung: TuxZap
Kanäle und Transponder |
Übertragung
- ein Transpoder wird über eine Frequenz + Polarisation abgestimmt
- mehrere Programme werden über einen Transponder übertragen
- -> Transportstream
- Trennung der einzelnen Programme via PID
Transponder
- Frequenz: 11837000
- Polarisation: H
- Symbolrate: 27500000
- Fehlerkorrektur: 3/4
Kanal
- VPID (Video): 101
- APID (Audio): 102
- ...
- Kanalkonfiguration
- im DVB-Paket für verschiedene Satelliten enthalten
- Senderscanwerkzeuge
- WWW
Übertragung |
Streams
- Elementary Stream (ES)
- komprimierte Audio- bzw. Videodaten (einzeln)
- Packetized Elementary Stream (PES)
- paketierte Audio- bzw. Videodaten
- Zeitstempel für Synchronisation (PTS)
- Program Stream (PS)
- alle zu einer Zeitbasis gehörenden PES-Paket
- zusammengehörige Audio- und Videodaten
- System Clock Referenz (SCR)
- Transport Stream (TS)
- Pakete von 188 byte Länge
- Paketkopf enthält PID
- Nutzdaten sind PES-Pakete, Videotext oder Daten, verteilt über mehrere TS-Pakete
Transport Stream
TS-Paket nach ISO/IEC 13818-1
VDR ... ein Videorecorder muß her |
VDR
- digitaler Videorecorder auf PC-Basis
- Autor: Klaus Schmidinger
- GPL
- ftp://ftp.cadsoft.de/pub/people/kls/vdr/
- DVB-Treiberversion versus VDR-Version (DVB-Treiber von o.g. Link)
cd /usr/local/src
tar xvfz vdr-1.0.4.tgz
cd vdr-1.0.4/
make [DEBUG_OSD=1] # OSD-Menü im Terminal
mkdir /video # Partition mounten
mkdir -p /video/conf
cp channels.conf /video/conf
cp keys-pc.conf /video/conf
cp svdrphosts.conf /video/conf
./vdr -v /video -c /video/conf- /video möglichst eigene Partition
- Journaling-FS sinnvoll (reiserfs, ext3)
VDR ... Konfiguration |
Konfiguration
- Konfigurationsdaten /video/conf (vdr -c /confdir)
- Konfigurationsverzeichnis für VDR-User schreibbar !!
- existiert keine keys-pc.conf -> Lernmodus für Tastenbelegung
- Konfiguration von VDR via OSD-Menü
- Modifikation der Kanäle via OSD-Menü oder auf Filebasis
Kommandozeilenoptione (Auswahl)
-c dir Verzeichnis der Konfigurationsdaten -E file Location des EPG-Datenfiles [Videoverzeichnis] -l LOG Loglevel, syslog [3] -p PORT SVDRP-Port [2001], PORT=0 kein SVDRP -v DIR Videoverzeichnis [/video]
OSD-Menü im VDR
VDR ... Erweiterung |
Patches ...
- DVD-Video Wiedergabe
- SVCD-Video Wiedergabe
- CD-Audio Wiedergabe
- MP3-Audio Wiedergabe
- DivX Wiedergabe
- DivX Aufzeichnung
- Teletext
- DVB VideoLAN
- Ansteuerung eines LC-Display
- ...
Installation
- sogenannten All-In-One Patch installieren
- passende VDR- und Patchversion beachten
- viele Patches erfordern zusätzliche Programme und Bibliotheken
- Hinweise unter vdr-1.0.4/docs/README*
DVD-Player inklusive |
DVD
- DVB- und DVD-Datenströme im MPEG2-Format
- Hardware MPEG2-Dekoder onboard
VDR + DVD
- Patch von Andreas Schultz (Magdeburger LUG)
- bis vdr-0.99x DVD-Unterstützung z.T. enthalten
- ab vdr-1.0.x DVD über Patch
- Pluginkonzept ab vdr-1.1.x geplant
- zusätzliche Bibliotheken erforderlich
- libdvdread
- libdvdcss
- liba52
cd /usr/local/src/vdr-1.0.4
patch -p1 < vdr-1.0.4-AIO-08.08.diff
make clean
make DVD=1 VCD=1
- Zugriffsrechte auf /dev/dvd und /dev/cdrom
zu Befehl !
Down, Down Pause, Wiedergabe Blau Stop OK Einblenden der "Timeline" <- -> Schnellvorlauf, -rücklauf Grün, Gelb nächstes, vorheriges Kapitel 1 DVD Hauptmenü 3 DVD Titelmenü 7 DVD Untertitelmenü 9 DVD Audiomenü 2, 8, 4, 6 Navigation in DVD-Menüs 5 Menüauswahl bestätigen
LIRC ... eine Fernbedienung |
Fernbedienung
- Navigationskreuz
- Menü, Ok, Zurück
- Farbtasten: Rot, Grün, Gelb, Blau
- Zifferntasten: 0..9
LIRC
- aktueller DVB-Treiber enthält LIRC-Unterstützung für Hauppauge DVB-s (Rev 2.1)
- Alternativ: selbstgelöteter Empfänger an der seriellen Schnittstelle
Schaltplan: LIRC-Empfänger
cd /usr/local/src
tar xvfz lirc-0.6.5.tar.gz
cd lirc-0.6.5
./configure && make && make install
# Zeile in /etc/modules.conf
alias char-major-61 lirc_serial
# Fernbedienungscodes lernen
/usr/local/bin/irrecord /etc/lircd.conf
# LIRC-Daemon starten
/usr/local/sbin/lircd
# Testen
/usr/local/bin/irwVDR
- make REMOTE=LIRC erforderlich
- Vergabe der Fernbedienungsbefehle in /etc/lircd.conf analog /video/conf/keys-pc.conf
vdradmin ... ein Webinterface |
SVDRP
- VDR unterstützt entfernte Steuerung
- telnet localhost 2001
- Zugriffsschutz über IP (Konfigfile)
- Kommandosprache zur Steuerung von VDR
LinVDR
- auf Basis des SVDRP existiert ein Webinterface
- aktuelle Programmübersicht
- Timerprogrammierung
- Löschen von Aufnahmen
- Konfiguration
- Warnung: Risiko bei öffentlicher Netzanbindung !!
EPG ... Aufnahme, die 3. |
EPG
- EPG - Electronic Program Guide
- Service der TV-Anbieter, Programminformationen zu übermitteln
- EPG-Daten werden unter /video/epg.data abgelegt
- bei jedem "Zappen" werden vom aktuellen Sender EPG-Daten gesammelt
- oder bei "Nichtnutzung" von VDR erfolgt automatischer EPG-Scan
- VPS existiert nicht
Timerprogrammierung
- direkt aus EPG-Übersicht
- manuelle Eingabe von Sender- + Zeitinformationen
- via Webschnittstelle von LinVDR (vdradmin)
- editieren von /video/conf/timer.conf
- globale Definition von Zeitpuffern vor Aufnahmebeginn und Aufnahmeende
- Vergabe von Priorität und Lebensdauer einer Aufzeichnung
- bei Platzmangel löschen der Aufzeichnung mit niedrigster Priorität/Lebensdauer
Schnitt ... Bitte keine Werbung! |
Schnittfunktion
- Funktionalität von VDR
- Markieren von Bereichen durch Schnittmarken
- Kopieren markierter Bereiche
VDR: Timeline mit SchnittmarkenFernbedienungskünstler
- Aufzeichnung wiedergeben
- Einblenden der "Timeline" mit Ok
- Schnellvorlauf bzw. Rücklauf mit -> oder <-
- Schnittmarke setzen mit 0
- Rot markierter Bereich bleibt erhalten
- Fokusieren von gesetzten Schnittmarken mit 7 oder 9
- Löschen fokusierter Schnittmarken mit 0
- Verschieben fokusierter Schnittmarken mit 4 oder 6
- Starten der Schnittoperation mit 2
- Originalaufnahme bleibt erhalten (Speicherplatz !!)
Ausblicke |
MPEGTOOLS
- im DVB-Treiberpaket enthalten
- verschiedene Werkzeuge zum Analysieren und Konvertieren von Transport- und Programstreams
DVBtext
- Videotextdekoder
- Speicherung von Videotextseiten in einem Spoolverzeichnis
- Betrachten mit vtx2ascii (aus xawtv-Paket) oder xvtx
- Alternativ: alevt + Patch
Internet via Sky
- konventioneller ISP notwendig
- Abo bei Sat-ISP (z.B. EuropeOnline)
- dvbd-Software
- typ. Übertragungstechnologie: Multicast, VPN
Konvertierung und Speicherung von Aufnahmen
- mit VDR geschnittene MPEG2-Aufzeichnung auf CDR archivieren
- DVB2SVCD: MPEG-Werkzeuge zum Konvertieren auf Video-CD
- transcode: Konvertierungswerkzeug von/in verschiedene Videoformate
- mencoder: im MPlayer-Paket enthalten, verschiedene Codecs
Links |
- DVB-Treiber www.linuxtv.org/dvb/
- VDR-Software www.cadsoft.de/people/kls/vdr/
- LIRC-Projekt www.lirc.org
- OGLE-DVD-Player (libdvdread) www.dtek.chalmers.se/groups/dvd/
- liba52 liba52.sourceforge.net/
- LinVDR (vdradmin) www.LinVDR.org
- DVBtext www.linuxstb.org/dvbtext/
- xvtx u.a. Tools www.home.zonnet.nl/panteltje/satellite/
- alevt-Patch www.baycom.org/~tom/alevt-dvb-demux.patch
- transcode www.theorie.physik.uni-goettingen.de/~ostreich/transcode/
- MPlayer www.MPlayerHQ.hu/
- VDRTools (vdr2avi) www.i-kit.de/html/vdrtools.html
- Kanallistengenerator (DXAndy) www.dxandy.de/cgi-bin/dvbchan.pl
- HOWTO (engl.) www.linuxdvb.tv/documentation/
- HOWTO (dt.) home.t-online.de/home/hubertus.sandmann/vdr.htm
- HOWTO DVB2SVCD www.pxh.de/fs/svcd/DVB2SVCD/
- HOWTO Sat-Netzwerk (engl.) www.linuxdoc.org/HOWTO/Sat-HOWTO.html
- Beitrag in Linux-User www.linux-user.de/ausgabe/2001/09/028-vdr/vdr-1.html
Vielen Dank für Ihre Aufmerksamkeit!