Kategorie:Ubuntu HD VDR mittels SoftHDDevice und VDPAU
Sewn4 (Diskussion | Beiträge) (→DVB Module manuell laden) |
Sewn4 (Diskussion | Beiträge) (→DVB Module manuell laden) |
||
Zeile 570: | Zeile 570: | ||
[ 3.467057] Digital Devices PCIE bridge driver 0.9.9, Copyright (C) 2010-13 Digital Devices GmbH | [ 3.467057] Digital Devices PCIE bridge driver 0.9.9, Copyright (C) 2010-13 Digital Devices GmbH | ||
[ 3.471166] DDBridge driver detected: Digital Devices Cine S2 V6.5 DVB adapter | [ 3.471166] DDBridge driver detected: Digital Devices Cine S2 V6.5 DVB adapter | ||
− | |||
Version vom 22. Januar 2014, 21:19 Uhr
Einleitung
Diese Step-by-Step-Anleitung beschreibt die Installation und Konfiguration eines Video Disc Recorder (VDR) unter dem Linux Betriebssystem Ubuntu. Grundsätzlich gibt es zu Beginn eine Entscheidung zu treffen wie das VDR-System aufgebaut wird. Zum einen gibt es die Möglichkeit ein VDR-System mit einer Full-Featured TV-Karte aufzubauen. Hier ist es so das die Bildverarbeitung sowie die Bildausgabe über die TV-Karte erledigt werden. Die zweite Möglichkeit ist eine TV-Karte ohne Hardwaredecoder. Hier kann die Bildverarbeitung eine Grafikkarte oder die CPU erledigen und das Bild wird dann über eine Grafikkarte auf den TV ausgegeben. In dieser Anleitung habe ich mich für diese Art entschieden.
Das Internetforum VDR-Portal ist für eine Entscheidung sowie Fragen aller Art zum Thema VDR der richtige Ort.
Welche Hardware wird benötigt?
Passende Hardware für ein VDR-System ist sehr wichtig. Da es sehr viele verschiedene Hardwarekombinationen gibt, auf denen ein VDR-System lauffähig ist, empfehle ich als Einstieg das VDR-Portal. Dort gibt es bereits eine Diskussion über aktuell empfohlene Hardware VDR-PC HDTV 2013 Empfohlene Systeme.
Hardwarebeispiel
Hier die Übersicht von meinem VDR-System:
Gehäuse: OrigenAE HTPC Aluminium S16V, schwarz Netzteil: Seasonic Platinum Series Fanless 400 ATX (passiv/fanless) Mainboard: Intel® DH77EB mATX Prozessor Intel® Celeron® Processor G1620T (FC-LGA4, "Ivy Bridge") Prozessor Kühler Dynatron K-618 (passiv/fanless) Arbeitsspeicher: Kingston 4GB Kit HyperX PC3-10667 DDR3-1333 CL7 (KHX1333C7D3K2/4G) Festplatte 1 SSD: Kingston SSDNow V300 2,5" SSD 60 GB (SV300S37A/60G) Festplatte 2 HDD: Western Digital WD20EFRX 2 TB (SATA 600, WD Red) Grafikkarte: Zotac Geforce GT 630 ZONE Edition (ZT-60408-20L passiv/fanless) TV-Karte (vier Tuner): Digital Devices Cine S2 V6.5 + DuoFlex S2 (Bundle) Fernbedienung: Logitech Harmony 650 Remote
Grafikkarte
Die Grafikkarte aus meinem Hardwarebeispiel wurde im VDR-Portal genau unter die Lupe genommen. Den Artikel findet Ihr hier Review - Zotac GeForce GT 630 ZONE Edition. Falls Ihr euch diese Grafikkarte bestellen möchtet achtet bitte genau auf die Modellnummer.
Mainboard Bios
Es ist Ratsam eine aktuelle Biosversion einzusetzen. Ich setze folgende Version ein:
- EBH7710H.86A 101
Welche Softwareversionen werden eingesetzt?
Betriebssystem
- Ubuntu 13.10 Saucy Salamander (Kernel 3.11.0-15-generic x86_64)
Grafikkarten Treiber
- NVIDIA 331.38 x86_64
DVB Treiber
- media_build_experimental DVB Treiber (rev247 aus dem CVS vom 22.01.2014)
IRTrans Infrared Control System
- IRTrans Server 6.09.04 (vom 27.06.2012)
FFmpeg
- FFmpeg 0.8.9-6
Video Disc Recorder
- VDR 2.0.5
Video Disc Recorder Plugins
- SoftHDDevice Plugin (aus dem CVS vom 07.08.2013)
- LCDProc Plugin (aus dem CVS vom 28.03.2013)
- skinpearlhd Plugin (aus dem CVS vom 22.01.2013)
- Femon 2.0.0
- markad Plugin (aus dem CVS vom 13.10.2013)
- Live Plugin (aus dem CVS vom 04.05.2013)
- EPGSearch Plugin (aus dem CVS vom 01.09.2013)
- streamdev Plugin (aus dem CVS vom 21.10.2013)
Installation Betriebssystem
Die Ubuntu Installationsmedien können kostenfrei auf der Webseite http://www.ubuntu.com/ heruntergeladen werden.
Starten der Ubuntu Installation - Willkommen
Booten der Ubuntu CD und im darauf folgenden Bootmenü folgendes auswählen:
- Sprache wählen: Deutsch - Der VDR läuft natürlich auch in einer anderen Sprache
- danach "Ubuntu installieren" auswählen und die Installation starten.
Willkommen
- anwählen: Deutsch
Installation von Ubuntu wird vorbereitet
- anwählen: Aktualisierungen während der Installation herunterladen
- anwählen: Software von Drittanbietern installieren
Installationsart
- anwählen: Etwas Anderes (damit wir die Festplatte selbst partitionieren können)
Partitionen manuell festlegen
Alle Partitionen auf der Festplatte werden der Reihe nach folgendermaßen angelegt:
- /dev/sda SSD Festplatte
- Neue Partitionstabelle...
- Freier Speicherplatz auswählen und folgendes hinzufügen:
Laufwerk | Beschreibung der Partition | Verwendung | Einbindungspunkt | Formatieren? | Größe |
---|---|---|---|---|---|
/dev/sda1 | Root Verzeichnis | ext4 | / | ja | 56000 MB |
/dev/sda2 | Swap Verzeichnis | swap | Rest von /dev/sda ca. 4000 MB |
- /dev/sdb HDD Festplatte
- Neue Partitionstabelle...
- Freier Speicherplatz auswählen und folgendes hinzufügen:
Laufwerk | Beschreibung der Partition | Verwendung | Einbindungspunkt | Formatieren? | Größe |
---|---|---|---|---|---|
/dev/sdb1 | Daten Verzeichnis | ext4 | /data | ja | komplett /dev/sdb |
Gerät für die Bootloader-Installation
Hier muss darauf geachtet werden das der Bootloader auf der richtigen Festplatte installiert wird. In meinem Fall ist das die SSD Festplatte auf der sich auch das Betriebssystem befindet.
Gerät für Bootloader-Installation:
- /dev/sda SSD Festplatte
Jetzt installieren
Sobald auf die Schaltfläche Jetzt installieren ausgewählt wird startet die Installation. Achtung! Ab diesem Zeitpunkt wird die Festplatte partitioniert und formatiert somit werden alle Daten auf der Festplatte gelöscht.
Wo befinden Sie sich?
- Zeitzone: Berlin
Tastaturbelegung
- Tastaturbelegung: Deutsch / Deutsch
Wer sind Sie?
- Ihr name?: vdruser
- Name Ihres Rechners: vdr01
- Wählen Sie einen Benutzernamen: vdruser
- Wählen Sie ein Passwort: hier ein Passwort vergeben
- Automatische Anmeldung: aktivieren
Ein Konto, mit dem Sie sich bei allen Diensten rund um Ubuntu anmelden können
Benötige ich persönlich nicht.
- Später einloggen
Konfiguration der Netzwerkkarte
Oben rechts auf dem Desktop befindet sich der "Power Button":
- Power -> Systemeinstellungen... -> Netzwerk -> Kabelgebunden -> Optionen... -> IPv4-Einstellungen ->
Methode: Manuell Adresse: 192.168.0.10 # Hier eine IP Adresse aus eurem Netzwerk vergeben Netzmaske: 255.255.255.0 Gateway: 192.168.0.1 # Hier die Adresse von eurem Router eintragen DNS-Server: 192.168.0.1 # Hier die Adresse von eurem Router eintragen
Remotezugriff auf die grafische Linux Oberfläche einrichten
Dieser Schritt ist optional. Falls Ihr von eurem Windows PC etc. auf die grafische Oberfläche von eurem VDR zugreifen möchtet könnt Ihr dies folgendermaßen einrichten:
- Dash-Startseite -> Suchen -> Freigabe der Arbeitsfläche
anwählen: Anderen Benutzern erlauben, Ihren Bildschirm anzuzeigen anwählen: Anderen Benutzern erlauben, Ihren Bildschirm zu steuern abwählen: Jeder Zugriff auf diesen Rechner muss bestätigt werden anwählen: Der Benutzer muss folgendes Passwort eingeben: <Euer Passwort> anwählen: UPnP-Router automatisch so konfigurieren, dass Ports geöffnet und weitergeleitet werden
Remotezugriff mittels VNC Client
Als Remoteclient kommt TightVNC zum Einsatz. TightVNC ist Freeware und kann kostenfrei auf der Webseite http://www.tightvnc.com/ heruntergeladen werden. Nach dem starten von TightVNC kann auf die grafische Oberfläche zugegriffen werden:
Remote Host: 192.168.0.10
Remotezugriff auf die Linux Konsole
Dieser Schritt ist optional. Falls Ihr von eurem Windows PC etc. auf die Linux Console von eurem VDR zugreifen möchtet könnt Ihr dies folgendermaßen einrichten:
- Dash-Startseite -> Suchen -> Terminal
sudo apt-get install openssh-server
Remotezugriff mittels SSH client
Als Remoteclient kommt Putty zum Einsatz. Putty ist Freeware und kann kostenfrei auf der Webseite http://www.putty.org/ heruntergeladen werden. Nach dem starten von Putty kann auf die Linux Konsole zugegriffen werden:
Host name: 192.168.0.10
Datenverzeichnis für den Benutzer vdruser vorbereiten
Die von der Installationsroutine angelegte Partition gehört Standardmäßig dem User root. Mit folgendem Befehl kann die Rechte Struktur für euren vdruser übernommen werden, damit dieser später Zugriff auf das Dateisystem erlangt:
- Dash-Startseite -> Suchen -> Terminal
sudo chown -R vdruser.vdruser /data
Datenverzeichnis für das Netzwerk freigeben
Damit mittels Filebrowser (Windows Explorer) auf das Datenverzeichnis von eurem VDR zugegriffen werden kann, kann eine Netzwerkfreigabe eingerichtet werden. Somit könnt Ihr später Dateien wie z.B. Filme über diese Freigabe mit anderen PCs im Netzwerk kopieren.
- Dateien -> Rechner -> klick mit der Rechten Maustaste auf den Ordner "data" -> Freigabeoptionen ->
anwählen: Diesen Ordner freigeben Freigabename: data Kommentar: data auf vdr01 anwählen: Anderen erlauben, Dateien in diesem Ordner zu erstellen und zu löschen
-> Freigabe erstellen -> Die Zugriffsrechte automatisch setzen
- Power -> Neustarten...
Bildschirmschoner konfigurieren
Damit später beim TV schauen nicht automatisch die grafische Oberfläche gesperrt wird, muss folgendes konfiguriert werden:
- Power -> Systemeinstellungen... -> Helligkeit und Sperren ->
Bildschirm abschalten, wenn inaktiv für: Nie Sperren: Aus abwählen: Mein Passwort verlangen, um Rechner aus Bereitschaft zu wecken
Ubuntu auf den aktuellen Softwarestand bringen
- Dash-Startseite -> Suchen -> Terminal
sudo apt-get update sudo apt-get upgrade
- Power -> Neustarten...
Für VDR benötigte Systempakete installieren
- Dash-Startseite -> Suchen -> Terminal
NVIDIA und VDPAU benötigte Pakete: sudo apt-get install libvdpau1 libvdpau-dev vdpauinfo
VDR benötigte Pakete: sudo apt-get install mercurial libncurses5-dev libncursesw5-dev libproc-processtable-perl libfribidi-dev libcap-dev libjpeg-dev lcdproc libssl-dev libfreetype6-dev sudo apt-get install libfontconfig1-dev g++ git vim
SoftHDDevice Plugin benötigte Pakete: sudo apt-get install ffmpeg libavcodec-dev libasound2-dev libx11-xcb-dev libxcb-screensaver0-dev libxcb-dpms0-dev libxcb-util0-dev libxcb-icccm4-dev libxcb-ewmh-dev sudo apt-get install libxcb-screensaver0-dbg libxcb-screensaver0-dev libxcb-keysyms1 libxcb-keysyms1-dev libxcb-glx0-dev libxcb-shm0-dev libxcb-xv0-dev libxcb-randr0-dev
qvdpautest sudo apt-get install cmake qt4-qmake qt4-dev-tools
Nicht benötigte Systempakete löschen
- Dash-Startseite -> Suchen -> Terminal
sudo apt-get autoremove
System neustarten
- Dash-Startseite -> Suchen -> Terminal
sudo init 6
Inbetriebnahme Grafikkarte
Prüfen der Grafikkarte
lspci -v 01:00.0 VGA compatible controller: NVIDIA Corporation GK208 [GeForce GT 630 Rev. 2] (rev a1) (prog-if 00 [VGA controller]) Subsystem: ZOTAC International (MCO) Ltd. Device 1308 Flags: fast devsel, IRQ 16 Memory at f6000000 (32-bit, non-prefetchable) [size=16M] Memory at e8000000 (64-bit, prefetchable) [size=128M] Memory at f0000000 (64-bit, prefetchable) [size=32M] I/O ports at e000 [size=128] Expansion ROM at f7000000 [disabled] [size=512K] Capabilities: <access denied>
01:00.1 Audio device: NVIDIA Corporation Device 0e0f (rev a1) Subsystem: ZOTAC International (MCO) Ltd. Device 1308 Flags: bus master, fast devsel, latency 0, IRQ 17 Memory at f7080000 (32-bit, non-prefetchable) [size=16K] Capabilities: <access denied> Kernel driver in use: snd_hda_intel
Downloadverzeichnis erstellen
mkdir -p /data/installfiles/nvidia
Grafikkartentreiber herunterladen
cd /data/installfiles/nvidia wget ftp://download.nvidia.com/XFree86/Linux-x86_64/331.38/NVIDIA-Linux-x86_64-331.38.run
Grafikkartentreiber installieren
Der Grafikkartentreiber kann nicht Remote (SSH, VNC etc.) installiert werden. Es ist nötig diesen direkt auf der Linux Konsole zu installieren. Ihr könnt von der grafischen Oberfläche auf eine der insgesamt sechs Linux-Konsolen mit folgender Tastenkombination wechseln:
STRG+ALT+F1
Username: vdruser Kennwort: Eurer Passwort
sudo /etc/init.d/lightdm stop cd /data/installfiles/nvidia/ sudo sh NVIDIA-Linux-x86_64-331.38.run Accept -> Yes -> Yes -> Yes -> Ok
sudo init 6
edid.bin erstellen
Nachdem das System neu gestartet wurde kann unter der grafischen Oberfläche das NVIDIA Konfigurationsmenü aufgerufen werden.
- Dash-Startseite -> Suchen -> Terminal
sudo nvidia-settings
GPU-0 (GeForce GT 630) -> DFP-1 (DENON, Ltd. DENON-AVAMP) -> Acquire EDID...
Die erstellte Datei unter folgendem Pfad ablegen:
/etc/X11/edid.bin
Falls Ihr die edid.bin nicht direkt unter /etc/X11 abspeichern könnt speichert diese vorerst unter /tmp und kopiert diese dann manuell nach /etc/X11:
sudo cp /tmp/edid.bin /etc/X11
xorg.conf anpassen
Gegebenfalls müsst Ihr eure xorg.conf auf eure Grafikkarte und TV anpassen. Anbei findet Ihr meine xorg.conf.
Zu finden unter:
cd /etc/X11 sudo vi xorg.conf
Section "ServerLayout" Identifier "Layout0" Screen 0 "Screen0" InputDevice "Keyboard0" "CoreKeyboard" InputDevice "Mouse0" "CorePointer" EndSection Section "Files" EndSection Section "InputDevice" # generated from default Identifier "Mouse0" Driver "mouse" Option "Protocol" "auto" Option "Device" "/dev/psaux" Option "Emulate3Buttons" "no" Option "ZAxisMapping" "4 5" EndSection Section "InputDevice" # generated from default Identifier "Keyboard0" Driver "kbd" EndSection Section "Monitor" Identifier "Monitor0" VendorName "Unknown" ModelName "Unknown" HorizSync 28.0 - 33.0 VertRefresh 43.0 - 72.0 Option "DPMS" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "ExactModeTimingsDVI" "True" Option "FlatPanelProperties" "Dithering = disabled" Option "NoLogo" "True" Option "CustomEDID" "DFP-1:/etc/X11/edid.bin" SubSection "Display" Depth 24 Modes "1920x1080_50" "1920x1080_60_0" "1920x1080_24" EndSubSection EndSection
Prüfen ob der Bildschirm richtig angesteuert wird
Es ist wichtig das euer LCD Bildschirm mit 50 Hz angesteuert wird. Es kann folgendermaßen geprüft werden:
DISPLAY=:0 nvidia-settings --query RefreshRate
Attribute 'RefreshRate' (vdr:0[dpy:2]): 50,00 Hz. 'RefreshRate' is an integer attribute. 'RefreshRate' is a read-only attribute. 'RefreshRate' is display device specific. 'RefreshRate' can use the following target types: X Screen, GPU, Display Device.
Optional: Leistungsdaten der Grafikkarte ermitteln
Mit dem Benchmarktool "qvdpautest" können die Leistungsdaten eurer Grafikkarte ermittelt werden. Wer möchte kann seine Ergebnisse im Wiki ablegen oder mit anderen Grafikkarten vergleichen. VDPAU-Benchmarks
Downloadverzeichnis vorbereiten
mkdir -p /data/installfiles/qvdpautest
qvdpautest herunterladen
cd /data/installfiles/qvdpautest git clone https://github.com/robertmassaioli/qvdpautest tar -czf qvdpautest-git-22012013.tar.gz qvdpautest/
Installation qvdpautest
cd /tmp cp -a /data/installfiles/qvdpautest/qvdpautest . cd qvdpautest/ qmake make
qvdpautest starten
Achtung! Das Programm muss auf der grafischen Oberfläche (X-Server) gestartet werden.
cd /tmp/qvdpautest/ ./qvdpautest
ermittelte Leistungsdaten
qvdpautest 0.5.2 Intel(R) Celeron(R) CPU G540 @ 2.50GHz NVIDIA GPU GeForce GT 630 (GK208) at PCI:1:0:0 (GPU-0) VDPAU API version : 1 VDPAU implementation : NVIDIA VDPAU Driver Shared Library 319.32 Wed Jun 19 14:58:31 PDT 2013 SURFACE GET BITS: 972.366 M/s SURFACE PUT BITS: 1291.73 M/s MPEG DECODING (1920x1080): 154 frames/s MPEG DECODING (1280x720): 401 frames/s H264 DECODING (1920x1080): 126 frames/s H264 DECODING (1280x720): 200 frames/s VC1 DECODING (1440x1080): 83 frames/s MPEG4 DECODING (1920x1080): 115 frames/s MIXER WEAVE (1920x1080): 710 frames/s MIXER BOB (1920x1080): 1214 fields/s MIXER TEMPORAL (1920x1080): 353 fields/s MIXER TEMPORAL + IVTC (1920x1080): 269 fields/s MIXER TEMPORAL + SKIP_CHROMA (1920x1080): 453 fields/s MIXER TEMPORAL_SPATIAL (1920x1080): 216 fields/s MIXER TEMPORAL_SPATIAL + IVTC (1920x1080): 179 fields/s MIXER TEMPORAL_SPATIAL + SKIP_CHROMA (1920x1080): 249 fields/s MIXER TEMPORAL_SPATIAL (720x576 video to 1920x1080 display): 648 fields/s MIXER TEMPORAL_SPATIAL + HQSCALING (720x576 video to 1920x1080 display): 497 fields/s MULTITHREADED MPEG DECODING (1920x1080): 158 frames/s MULTITHREADED MIXER TEMPORAL (1920x1080): 271 fields/s
Inbetriebnahme TV Karte
Die TV Karte muss zwingend an ein Floppy Stromkabel angeschlossen werden. Auch sollten beide Antennenanschlüsse an die beiden Tuner der TV-Karte angeschlossen werden. Falls Ihr nur einen der beiden Tuner an der TV-Karte nutzen möchtet so muss dies später beim starten vom VDR berücksichtigt werden.
Prüfen der eingebauten DVB-Karte
Mittels dem unten genannten Befehl kann geprüft werden ob die DVB-Karte vom System erkannt wird. Achtung! Falls die Karte nicht wie unten beschrieben angezeigt wird, gegebenfalls mal den PCIe-Slot wechseln und danach nochmals testen.
lspci -v
03:00.0 Multimedia controller: Digital Devices GmbH Octopus DVB Adapter Subsystem: Digital Devices GmbH Cine S2 V6.5 DVB adapter Flags: bus master, fast devsel, latency 0, IRQ 17 Memory at f7100000 (64-bit, non-prefetchable) [size=64K] Capabilities: <access denied> Kernel driver in use: DDBridge
Installation DVB-Treiber
Mit dieser hier beschriebenen Vorgehensweise werden die vorhandenen DVB-Kernelmodule durch die neuen ersetzt.
Downloadverzeichnis erstellen
mkdir -p /data/installfiles/dvb
DVB-Treiber herunterladen
cd /data/installfiles/dvb/ hg clone http://linuxtv.org/hg/~endriss/media_build_experimental cd media_build_experimental/ make distclean make download make untar cd /data/installfiles/dvb/ tar -czf media_build_experimental-cvs-rev247.tar.gz media_build_experimental/
Welche Neuerungen gibt es im DVB-Treiber?
Hier können die Neuerungen im Repository eingesehen werden:
http://linuxtv.org/hg/~endriss/media_build_experimental
DVB Treiber vorbereiten und installieren
Die DVB Treiber müssen als Benutzer root vorbereitet und installiert werden. Mit folgendem Befehl wechselt man in den Benutzer root:
sudo su -
DVB Treiber vorbereiten
cd /usr/local/src/ cp -a /data/installfiles/dvb/media_build_experimental . ln -s media_build_experimental/ dvb
Nicht benötigte Treiber Module deaktivieren
cd /usr/local/src/dvb make distclean make menuconfig
Multimedia support -> < > FireDTV and FloppyDTV (mit der Leertaste das "<M>" abwählen) Exit -> Exit -> Yes (Konfiguration speichern)
Fehlermeldungen beim Compilieren umgehen
Fehlermeldungen umgeht man, wenn vor der Kompilierung:
cpan Proc::ProcessTable
eingibt.
DVB Treiber Installation starten
cd /usr/local/src/dvb make && make install
Neustart vom System
Nach erfolgreicher Installation vom DVB-Treiber ist ein Neustart vom System notwendig.
init 6
Link auf compiler.h setzen
Achtung! Dieser Link ist wichtig, da sonst der VDR im späteren Verlauf nicht installiert werden kann.
cd /usr/local/src/dvb/linux/include/linux sudo ln -s /usr/src/linux-headers-$(uname -r)/include/linux/compiler.h compiler.h
Prüfen der DVB Treiber Installation
Im Modulverzeichnis des Kernels kann das Datum und Uhrzeit der DVB Module betrachtet werden.
Hier ist ersichtlich dass der DVB-Treiber am 22.01.2014 um 20:10 Uhr installiert wurde. Wenn am gleichen Tag das OS installiert wurde, sollte die Uhrzeit betrachtet werden.
cd /lib/modules/$(uname -r)/updates/media/ ls -l |grep dd*
-rw-r--r-- 1 root root 92376 Jan 22 20:10 ddbridge.ko
Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen
Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
sudo visudo
vdruser ALL=(ALL) NOPASSWD: /sbin/modinfo vdruser ALL=(ALL) NOPASSWD: /sbin/modprobe
DVB Module manuell laden
Um euch Modulparameter anzeigen zu lassen könnt Ihr folgenden Befehl verwenden:
sudo modinfo ddbridge
filename: /lib/modules/3.11.0-12-generic/updates/media/ddbridge.ko version: 0.9.9 license: GPL author: Ralph Metzler, Metzler Brothers Systementwicklung description: Digital Devices PCIe Bridge srcversion: 52FC505F5D8DA5ECD5AC8D7 alias: pci:v0000DD01d00000201sv*sd*bc*sc*i* alias: pci:v0000DD01d00000011sv*sd*bc*sc*i* alias: pci:v0000DD01d00000003sv*sd*bc*sc*i* alias: pci:v0000DD01d00000201sv0000DD01sd00000001bc*sc*i* alias: pci:v0000DD01d00000011sv0000DD01sd00000041bc*sc*i* alias: pci:v0000DD01d00000011sv0000DD01sd00000040bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd0000DB03bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000030bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000021bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000020bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000010bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000003bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000002bc*sc*i* alias: pci:v0000DD01d00000005sv0000DD01sd00000004bc*sc*i* alias: pci:v0000DD01d00000003sv0000DD01sd00000001bc*sc*i* alias: pci:v0000DD01d00000002sv0000DD01sd00000001bc*sc*i* depends: cxd2099,dvb-core vermagic: 3.11.0-12-generic SMP mod_unload modversions parm: adapter_alloc:0-one adapter per io, 1-one per tab with io, 2-one per tab, 3-one for all (int) parm: ci_bitrate: Bitrate for output to CI. (int) parm: ts_loop:TS in/out test loop on port ts_loop (int) parm: vlan:VLAN and QoS IDs enabled (int) parm: tt: (int) parm: adapter_nr:DVB adapter numbers (array of short)
Hiermit werden die DVB-Treibermodule geladen:
sudo modprobe ddbridge
Nachdem die DVB-Treibermodule geladen wurden, sollte der Aufruf 'dmesg' folgendes Anzeigen:
dmesg |grep ddbridge
[ 3.708392] ddbridge 0000:03:00.0: DVB: registering adapter 0 frontend 0 (STV090x Multistandard)... [ 3.751857] ddbridge 0000:03:00.0: DVB: registering adapter 1 frontend 0 (STV090x Multistandard)... [ 3.966874] ddbridge 0000:03:00.0: DVB: registering adapter 2 frontend 0 (STV090x Multistandard)... [ 4.002902] ddbridge 0000:03:00.0: DVB: registering adapter 3 frontend 0 (STV090x Multistandard)...
dmesg |grep Digital
[ 3.467057] Digital Devices PCIE bridge driver 0.9.9, Copyright (C) 2010-13 Digital Devices GmbH [ 3.471166] DDBridge driver detected: Digital Devices Cine S2 V6.5 DVB adapter
Die DVB-Treibermodule können folgendermaßen wieder gestoppt werden:
sudo modprobe -r ddbridge
Aktualisieren der DVB Treiber
Hier wird das DVB Treiberverzeichnis auf den aktuellen Stand gebracht. Nach dem Update kann der DVB Treiber wie oben beschrieben installiert werden.
Treiberarchiv aktualisieren
cd /data/installfiles/dvb/media_build_experimental hg pull -u http://linuxtv.org/hg/~endriss/media_build_experimental make distclean make download make untar
Installation VDR
Downloadverzeichnis vorbereiten
mkdir -p /data/installfiles/vdr
Installationsmedien herunterladen
cd /data/installfiles/vdr wget ftp://ftp.tvdr.de/vdr/vdr-2.0.5.tar.bz2
vdruser in die Gruppe video aufnehmen
sudo adduser vdruser video sudo adduser vdruser audio
Danach müsst Ihr euch erneut am System anmelden damit die neue Gruppenzugehörigkeit für den vdruser angezogen wird. Alternativ einfach einen Neustart durchführen.
VDR entpacken, vorbereiten und installieren
Der VDR wird als Benutzer root installiert.
sudo su -
cd /usr/local/src tar -xjf /data/installfiles/vdr/vdr-2.0.5.tar.bz2 ln -s vdr-2.0.5/ vdr
Shutdownskript erstellen und ablegen
vi /usr/local/bin/vdrpoweroff.sh
#!/bin/bash sudo /sbin/poweroff
und anschließend das Skript ausführbar machen:
chmod +x /usr/local/bin/vdrpoweroff.sh
Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen
Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
visudo
vdruser ALL=(ALL) NOPASSWD: /usr/local/bin/vdrpoweroff.sh,/sbin/poweroff
Installation starten
cd /usr/local/src/vdr make && make install
exit
Videoverzeichnis anpassen
In das Videoverzeichnis werden später die TV Aufnahmen vom VDR abgelegt. Da ich mich an den Standardpfad für das Videroverzeichnis des VDR halten möchte, mein vorhander Festplattenspeicher aber auf einer anderen Partition liegt, setzen wir einen Link.
mkdir -p /data/vdrrecords sudo rm -r /srv/vdr/video sudo ln -s /data/vdrrecords/ /srv/vdr/video
Somit werden die VDR Aufnahmen in das Standardverzeichnis /srv/vdr/video geschrieben, landen aber auf der Festplattenpartition mit dem dafür vorgesehen Speicherplatz.
VDR mittels runvdr starten
Um den VDR zu starten verwende ich das mittgelieferte runvdr Skript.
runvdr vorbereiten
sudo cp /usr/local/src/vdr/runvdr.template /usr/local/bin/runvdr
runvdr anpassen
Achtung! Die erste Zeile im Skript muss von #!/bin/sh nach #!/bin/bash angepasst werden.
sudo vi /usr/local/bin/runvdr
#!/bin/bash # runvdr: Loads the DVB driver and runs VDR # # If VDR exits abnormally, the driver will be reloaded # and VDR restarted. # # In order to actually use this script you need to implement # the functions DriverLoaded(), LoadDriver() and UnloadDriver() # and maybe adjust the VDRPRG and VDRCMD to your particular # requirements. # # Since this script loads the DVB driver, it must be started # as user 'root'. Add the option "-u username" to run VDR # under the given user name. # # Any command line parameters will be passed on to the # actual 'vdr' program. # # See the main source file 'vdr.c' for copyright information and # how to reach the author. # # $Id: runvdr.template 2.2 2011/04/17 12:34:30 kls Exp $ export LANG=de_DE.utf8 export LC_COLLATE=de_DE.utf8 VDRPRG="/usr/local/bin/vdr" VDROPTIONS="-w 60 -u vdruser -c /var/lib/vdr -s /usr/local/bin/vdrpoweroff.sh" # For other options see manpage vdr.1 VDRPLUGINS="" # You will need to select your output device plugin if you want # to use VDR to watch video. For instance, for a "Full Featured" # SD DVB card that would be # VDRPLUGINS="-P dvbsddevice" # For a "Full Featured" HD DVB card you could use # VDRPLUGINS="-P dvbhddevice" # There are also other output device plugins available, see # http://www.vdr-wiki.de/wiki/index.php/Plugins. VDRCMD="$VDRPRG $VDROPTIONS $VDRPLUGINS $*" KILL="/usr/bin/killall -q -TERM" # Detect whether the DVB driver is already loaded # and return 0 if it *is* loaded, 1 if not: function DriverLoaded() { return 1 } # Load all DVB driver modules needed for your hardware: function LoadDriver() { return 0 } # Unload all DVB driver modules loaded in LoadDriver(): function UnloadDriver() { return 0 } # Load driver if it hasn't been loaded already: if ! DriverLoaded; then LoadDriver fi while (true) do eval "$VDRCMD" if test $? -eq 0 -o $? -eq 2; then exit; fi echo "`date` reloading DVB driver" $KILL $VDRPRG sleep 10 UnloadDriver LoadDriver echo "`date` restarting VDR" done
runvdr Skript ausführbar machen
sudo chmod +x /usr/local/bin/runvdr
Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen
Damit der Benutzer vdruser die benötigten Skripte/Module mit Root-Rechten und ohne Passwortaufforderung ausführen kann muss dies mittels visudo konfiguriert werden. Achtung! Die Einträge müssen untereinander und am Ende der Datei eingefügt werden.
sudo visudo
vdruser ALL=(ALL) NOPASSWD: /usr/local/bin/runvdr,/usr/local/bin/vdr,/usr/bin/killall
Falls nur ein Tuner der TV Karte genutzt wird
Achtung! Falls nur 1 SAT-Kabel an die TV Karte angeschlossen ist kann nur 1 Tuner verwendet werden. Deshalb muss der zweite Tuner für den VDR deaktiviert werden.
Hier die VDR Parameter um einen der Tuner zu deaktivieren:
-D NUM, --device=NUM use only the given DVB device (NUM = 0, 1, 2...) there may be several -D options (default: all DVB devices will be used)
Das "runvdr" Skript könnte folgendermaßen erweitert werden:
vi /usr/local/bin/runvdr
VDROPTIONS="-w 60 -D0 -u vdruser -c /var/lib/vdr -s /usr/local/bin/vdrpoweroff.sh"
somit wird nur 1 Tuner der TV-Karte genutzt.
VDR auf non-root Benutzer umstellen
sudo chown vdruser.vdruser -R /usr/local/share/vdr sudo chown vdruser.vdruser -R /usr/local/bin sudo chown vdruser.vdruser -R /usr/local/include/vdr sudo chown vdruser.vdruser -R /usr/local/lib/vdr sudo chown vdruser.vdruser -R /usr/local/src/vdr* sudo chown vdruser.vdruser -R /srv/vdr sudo chown vdruser.vdruser -R /var/cache/vdr sudo chown vdruser.vdruser -R /var/lib/vdr/
remote.conf erstellen
cd /var/lib/vdr/ vi remote.conf
KBD.Up 00000000001B4F41 KBD.Down 00000000001B4F42 KBD.Menu 0000001B5B31397E #F8 KBD.Ok 000000000000000D #Enter KBD.Back 000000001B5B347E #Backspace KBD.Left 00000000001B4F44 KBD.Right 00000000001B4F43 KBD.Red 00000000001B4F50 #F1 KBD.Green 00000000001B4F51 #F2 KBD.Yellow 00000000001B4F52 #F3 KBD.Blue 00000000001B4F53 #F4 KBD.0 0000000000000030 KBD.1 0000000000000031 KBD.2 0000000000000032 KBD.3 0000000000000033 KBD.4 0000000000000034 KBD.5 0000000000000035 KBD.6 0000000000000036 KBD.7 0000000000000037 KBD.8 0000000000000038 KBD.9 0000000000000039 KBD.Power 0000001B5B32347E #F12 KBD.Volume+ 000000000000002B #+ KBD.Volume- 000000000000002D #- KBD.Mute 0000001B5B32307E #F9
svdrphosts.conf anpassen
cd /var/lib/vdr/ vi svdrphosts.conf
# svdrphosts This file describes a number of host addresses that # are allowed to connect to the SVDRP port of the Video # Disk Recorder (VDR) running on this system. # Syntax: # # IP-Address[/Netmask] # 127.0.0.1 # always accept localhost #192.168.100.0/24 # any host on the local net #204.152.189.113 # a specific host #0.0.0.0/0 # any host on any net (USE THIS WITH CARE!) 192.168.0.0/24 # Euer Netzwerk
VDR auf Lauffähigkeit überprüfen
Am besten Ihr öffnet zwei SSH Sessions auf euren VDR.
SSH Session 1
Hier wird das VDR Log geöffnet:
tail -f /var/log/syslog
SSH Session 2
Hier wird der VDR manuell gestartet:
sudo /usr/local/bin/runvdr
VDR Logausgabe
Jetzt könnt Ihr auf der "SSH Session 1" genau mitverfolgen was der VDR macht. Wenn der VDR ordnungsgemäß läuft sollte es so aussehen:
Jan 17 17:40:44 vdr01 vdr: [12451] VDR version 2.0.5 started Jan 17 17:40:44 vdr01 vdr: [12451] switched to user 'vdruser' Jan 17 17:40:44 vdr01 vdr: [12451] codeset is 'UTF-8' - known Jan 17 17:40:44 vdr01 vdr: [12451] found 28 locales in /usr/local/share/locale Jan 17 17:40:44 vdr01 vdr: [12451] loading /var/lib/vdr/sources.conf Jan 17 17:40:44 vdr01 vdr: [12451] loading /var/lib/vdr/diseqc.conf Jan 17 17:40:44 vdr01 vdr: [12451] loading /var/lib/vdr/scr.conf Jan 17 17:40:44 vdr01 vdr: [12451] loading /var/lib/vdr/channels.conf Jan 17 17:40:44 vdr01 vdr: [12451] loading /var/lib/vdr/svdrphosts.conf Jan 17 17:40:44 vdr01 vdr: [12451] loading /var/lib/vdr/remote.conf Jan 17 17:40:44 vdr01 vdr: [12451] loading /var/lib/vdr/keymacros.conf Jan 17 17:40:44 vdr01 vdr: [12451] registered source parameters for 'A - ATSC' Jan 17 17:40:44 vdr01 vdr: [12451] registered source parameters for 'C - DVB-C' Jan 17 17:40:44 vdr01 vdr: [12451] registered source parameters for 'S - DVB-S' Jan 17 17:40:44 vdr01 vdr: [12451] registered source parameters for 'T - DVB-T' Jan 17 17:40:44 vdr01 vdr: [12451] no DVB device found Jan 17 17:40:44 vdr01 vdr: [12451] ERROR: invalid primary device number: 1 Jan 17 17:40:44 vdr01 vdr: [12451] ERROR: no primary device found - using first device! Jan 17 17:40:44 vdr01 vdr: [12451] ERROR: invalid primary device number: 1 Jan 17 17:40:44 vdr01 vdr: [12454] epg data reader thread started (pid=12451, tid=12454, prio=high) Jan 17 17:40:44 vdr01 vdr: [12453] video directory scanner thread started (pid=12451, tid=12453, prio=high) Jan 17 17:40:44 vdr01 vdr: [12453] video directory scanner thread ended (pid=12451, tid=12453) Jan 17 17:40:44 vdr01 vdr: [12452] video directory scanner thread started (pid=12451, tid=12452, prio=high) Jan 17 17:40:44 vdr01 vdr: [12452] video directory scanner thread ended (pid=12451, tid=12452) Jan 17 17:40:44 vdr01 vdr: [12451] max. latency time 0 seconds Jan 17 17:40:44 vdr01 vdr: [12451] exiting, exit code 2
Achtung! Bisher kann noch kein TV Bild angezeigt werden da noch kein Ausgabedevice Plugin eingerichtet ist. Die ERROR Meldungen sind hier vorerst normal.
VDR Plugins
Downloadverzeichnis für Plugins vorbereiten
mkdir /data/installfiles/vdrplugins
SoftHDDevice Plugin
Download
cd /data/installfiles/vdrplugins git clone git://projects.vdr-developer.org/vdr-plugin-softhddevice.git tar -czf vdr-plugin-softhddevice-git-14012014.tar.gz vdr-plugin-softhddevice/
Was hat sich geändert?
Auf der folgenden Webseite können die aktuellen Änderungen des Plugins eingesehen werden:
http://projects.vdr-developer.org/projects/plg-softhddevice/repository
Installation
cd /usr/local/src/vdr/PLUGINS/src cp -a /data/installfiles/vdrplugins/vdr-plugin-softhddevice . ln -s vdr-plugin-softhddevice softhddevice cd /usr/local/src/vdr/ make plugins && sudo make install
Passendes Sounddevice auswählen
aplay -l
**** Liste der Hardware-Geräte (PLAYBACK) **** Karte 0: AudioPCI [Ensoniq AudioPCI], Gerät 0: ES1371/1 [ES1371 DAC2/ADC] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0 Karte 0: AudioPCI [Ensoniq AudioPCI], Gerät 1: ES1371/2 [ES1371 DAC1] Sub-Geräte: 1/1 Sub-Gerät #0: subdevice #0
Wer hier nicht sicher ist kann folgendermaßen einen Soundcheck durchführen:
speaker-test -c 2 -D hw:0,0 speaker-test -c 2 -D hw:0,1 usw.
runvdr anpassen
Achtung! Das softhddevice Plugin muss als erstes Plugin im VDR geladen werden.
Die Plugins werden in das bestehende runvdr Skript hintereinander eingefügt:
Zum Beispiel:
VDRPLUGINS="-P Plugin1 -P Plugin2 -P Plugin3"
Hier der Eintrag für das SoftHDDevice Plugin:
vi /usr/local/bin/runvdr
VDRPLUGINS="-P'softhddevice -a alsa:hw:0,0 -d :0 -f -v vdpau'"
Die einzelnen Pluginparameter lassen sich im Wiki Softhddevice-plugin Konfiguration nachlesen.
VDR in den Autostart
Damit der VDR zukünftig mit der grafischen Oberfläche startet, kann das runvdr Skript in den Autostart vom Betriebssystem aufgenommen werden.
- Dash-Startseite -> Suchen -> Startprogramme -> Hinzufügen ->
Name: VDR Befehl: /usr/local/bin/runvdr Kommentar: VDR Autostart Skript
Nach einem Neustart vom System sollte der VDR automatisch mit der grafischen Oberfläche gestartet werden.
Linksammlung
- Video Disc Recorder
- VDR FTP-Server
- VDR Portal
- Digital Devices
- Ubuntu
- IRTrans
- TightVNC
- Putty
- LinuxTV
- UFO DVB Repository
- dvbhddevice Plugin
- LCDProc Plugin
- PearlHD Skin Plugin
- Femon Plugin
- Markad
- TVOnScreen Plugin
- Live Plugin
- Epgsearch Plugin
- Streamdev Plugin
- Skin nOpacity Plugin
- Screenshot Plugin
Kategrorien
Seiten in der Kategorie „Ubuntu HD VDR mittels SoftHDDevice und VDPAU“
Es werden 9 von insgesamt 9 Seiten in dieser Kategorie angezeigt:
U |
U (Fortsetzung) |
U (Fortsetzung) |