1. Streamdev-Plugin einfach installieren.
2. /etc/vdr/plugins/streamdevhosts.conf anpassen, also Zugriff im lokalen Netzwerk erlauben
#
# streamdevhosts This file describes a number of host addresses that
# are allowed to connect to the streamdev server running
# with the Video Disk Recorder (VDR) on this system.
# Syntax:
#
# IP-Address[/Netmask]
#
127.0.0.1 # always accept localhost
192.168.2.0/24 # any host on the local net
3. Ausprobieren
3.1 Stream öffnen per VDR-Admin:
VDR-Admin liefert ein M3U-Datei, die man im Browser einfach mit VLC öffnet.
3.2. Stream manuell öffnen:
PC: http://debian:3000/1 oder iPad: http://192.168.2.199:3000/1
Ich nutze Devolo Powerline dLAN 500 duo+, damit ging SD und HD jeweils ruckelfrei. Bei HD habe ich noch keine Actionfile getestet.
4. Einschränkung
Obwohl ich Deinterlace im VLC eingeschaltet habe, zeigen sich bei schnellen horizontalen Bewegungen Streifen im Bild.
Mittwoch, Januar 22, 2014
Dienstag, Januar 14, 2014
Libav avconv / FFmpeg Konfiguration
Libav vs. FFmpeg
Warum Libav? Ich habe Debian installiert und da ist eben avconv von Libav drauf. Ich bin aber nicht auf avconv festgelegt, wenn mir ffmpeg später besser gefallen sollte, dann gehe ich auf ffmpeg. Derzeit sind avconv und ffmpeg so nahe beieinander, dass ich keine gravierende Unterschiede feststellen kann. Die folgenden Anleitung funktioniert derzeit sowohl mit ffmpeg als auch mit avconv.Konvertierung
Mit VDR speichere ich eine MPEG2-Transportstream (.ts) ab. Dieser Stream ist ziemlich groß! Die Datei soll verkleinert werden, genauer gesagt in MPEG4 (.mp4) konvertiert werden. Das geht mit FFmpeg bzw. Libav.Konvertierung in iPad-fähiges MP4
Basisparameter, die ich jedesmal setze:avconv (Programmaufruf)
-i "concat:00001.ts|00002.ts" (Eingabedateien, Transportstreams können einfach aneinander gehängt werden)
-y (existierenden Datei überschreiben)
-strict experimental (experimentelle Algorithmen können genutzt werden)
-acodec aac (Audio-Codec AAC)
-ac 2 (2 Audio-Kanäle = Stereo?)
-ab 160k (Audio-Bitrate 160k)
-vcodec libx264 (Video-Codec x264)
-crf 20 (Qualität bei konstanter Bitrate, voreingestellt 23, praktisch verlustfrei 18)
-preset slow (Qualität des Algorithmus, voreingestellt medium)
-profile:v baseline -level 30 (Ausgabeformat, welches von iPad unterstützt wird)
-f mp4 (Containerformat)
output.mp4 (Ausgabedatei)
Schwarze Ränder abschneiden
cropdetect
Manchmal füllt das Bild den Bildschirm nicht komplett aus, sondern oben / unten ist ein schwarzer Streifen. Die folgenden Parameter nehmen einen Ausschnitt des Film und ermitteln daran die Parameter, mit welchen der Bildausschnitt festgelegt wird.Zuerst konvertiere ich nur wenige Minuten des kompletten Films um die Parameter zu ermitteln.
-ss 00:15:00 (Offset in HH:MM:SS)
-t 00:03:00 (Dauer in HH:MM:SS)
-vf "cropdetect=24:16:0" (Videofilter mit Schwellwerten für die Schwarz-Erkennung)
crop
Mit den zuvor ermittelten Parametern, wird dann der komplette Film konvertiert.-vf "crop=720:448:0:64" (Videofilter mit Breite und Höhe des Bildes sowie Offset von links und oben)
Tune-Parameter
In diesem Parameter kann man nochmal die Art des zu konvertierenden Videos präzisieren:-tune animation|film (Ich verwende derzeit nur animation)
SD vs. HD
Die zuvor genannten Parameter gelten für SD-Filme. Mit einer Bildrate 25 fps und einer Auslösung, kleiner als HD.Für HD muss die Bildrate von 50 fps auf 25 fps reduziert werden und das Bild kann mit Faktor 0.5 skaliert werden. Die genauen Parameter muss ich noch ermitteln.
Links
Anleitungen
FFmpeg x264 Anleitunghttps://trac.ffmpeg.org/wiki/x264EncodingGuide
Schwarze Ränder abschneiden (cropdetect / crop)
http://www.renevolution.com/understanding-ffmpeg-part-iii-cropping/
Skalierung (scaling)
http://www.renevolution.com/understanding-ffmpeg-part-ii-scaling-video/
Optimierung (tune)
http://superuser.com/questions/564402/explanation-of-x264-tune
Referenzen
avconv Documentationhttp://libav.org/avconv.html
ffmpeg Documentation
http://ffmpeg.org/ffmpeg.html
VDR Konfiguration
Meine VDR Konfigurationsänderung
VDR stoppen
"/etc/init.d/vdr stop" oder "killall -9 vdr"Dateigröße des Transportstreams erhöhen
MaxVideoFileSize = 20000 (2000)Automatischer Shutdown verhindern
MinEventTimeout = 0 (30)MinUserInactivity = 0 (300)
VDR starten
"/etc/init.d/vdr start"Referenzen
VDR Optionen sind teilweise in http://www.vdr-wiki.de/wiki/index.php/VDR_Optionen erklärt.Hier ist mir bei der Durchsicht ein interessantes Feature aufgefallen: record, damit kann man vor und / oder nach der Aufnahme ein Command ausführen. In meiner installierten Version des VDR ist bereits in /etc/vdr/recording-hooks/R90.custom angelegt. Hier können weitere Hooks angelegt werden.
Montag, Januar 13, 2014
Netzwerkkonfiguration
Bevor ich mit der Arbeit an VDR weiter mache, will ich den Remotezugriff von Win7 auf Debian verbessern. Statt mit der IP-Adresse auf X (X -query 192.168.2.110 :1) oder vdradmin (http://192.168.2.110:8001) zuzugreifen, wäre es schöner dem Rechner einen Namen zu geben und dann mit bspw http://debian:8001/ auf vdradmin zuzugreifen.
In meinem Fall habe ich diese Problem wie folgt gelöst:
In dem DHCP-Server meiner Easybox habe ich der MAC-Adresse des Linux-PC eine feste IP-Adresse zugewiesen. Dadurch ist sichergestellt, dass Debian immer dieselbe IP erhält, auch wenn der Rechner mal längere Zeit nicht in Betrieb war.
In der hosts-Datei des Win7-PC muss der IP ein Name zugewiesen werden. Die hosts-Datei liegt bei mir unter C:\Windows\System32\drivers\etc . Um die Datei ändern zu können, muss man allerdings Administrator sein.
Editor als Administrator ausführen und C:\Windows\System32\drivers\etc\hosts öffnen.
In meinem Fall habe ich diese Problem wie folgt gelöst:
In dem DHCP-Server meiner Easybox habe ich der MAC-Adresse des Linux-PC eine feste IP-Adresse zugewiesen. Dadurch ist sichergestellt, dass Debian immer dieselbe IP erhält, auch wenn der Rechner mal längere Zeit nicht in Betrieb war.
In der hosts-Datei des Win7-PC muss der IP ein Name zugewiesen werden. Die hosts-Datei liegt bei mir unter C:\Windows\System32\drivers\etc . Um die Datei ändern zu können, muss man allerdings Administrator sein.
Editor als Administrator ausführen und C:\Windows\System32\drivers\etc\hosts öffnen.
Dienstag, Januar 07, 2014
Sendersuchlauf
Sender suchen
Anleitung ist http://www.vdr-wiki.de/wiki/index.php/W_scanWichtig: Vorher vdr stoppen. Das geht mit
/etc/init.d/vdr stop
Konkreter Befehl, wenn Astra 19,2 Ost (Offizielle Senderliste) verwendet wird und eine Ausgabe für VDR (>= 1.7) erzeugt werden soll:
sudo -u vdr sh -c "w_scan -o7 -fs -sS19E2 >>/var/lib/vdr/channels.conf"
Die Ausgabe sollte so aussehen:
w_scan version 20120605 (compiled for DVB API 5.4)Zwischendurch sollten die Namen der Sender auftauchen, z.B.:
using settings for 19.2 east Astra 1F/1G/1H/1KR/1L
scan type SATELLITE, channellist 67
output format vdr-1.7
output charset 'UTF-8', use -C <charset> to override
Info: using DVB adapter auto detection.
/dev/dvb/adapter0/frontend0 -> SATELLITE "Conexant CX24116/CX24118": very good :-))
Using SATELLITE frontend (adapter /dev/dvb/adapter0/frontend0)
-_-_-_-_ Getting frontend capabilities-_-_-_-_
Using DVB API 5.4
frontend 'Conexant CX24116/CX24118' supports
INVERSION_AUTO
DVB-S
DVB-S2
FREQ (0.95GHz ... 2.15GHz)
SRATE (1.000MSym/s ... 45.000MSym/s)
using LNB "UNIVERSAL"
-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_-_
trying 'S2 f = 10729 kHz V SR = 22000 2/3 0,35 8PSK'
(time: 00:00)
trying 'S f = 10744 kHz H SR = 22000 5/6 0,35 QPSK'
(time: 00:03) (time: 00:05) signal ok:
S f = 10744 kHz H SR = 22000 5/6 0,35 QPSK
tune to: S f = 10743 kHz H SR = 22000 5/6 0,35 QPSK
(time: 03:04) service = tagesschau24 (ARD)
service = Einsfestival (ARD)
service = EinsPlus (ARD)
service = arte (ARD)
service = PHOENIX (ARD)
service = Test-R (ARD)
Läuft bei mir ca. 25 Minuten und erzeugt 1254 Zeilen in channels.conf
wc -l channels.conf
1254 channels.conf
Montag, Januar 06, 2014
Treiber für Hauppauge installieren
Treiber installieren
Firmware per Paketmanager installieren - Ist dieser Schritt wirklich nötig?
In vielen Anleitungen, die ich gefunden habe, steht, dass Treiber-Firmware installiert werden muss. Das ist richtig. Dazu werden oft die folgenden zwei Pakete genannt und installiert. Ich habe das auch gemacht, aber zweifle am Erfolg, denn in den Listen der Pakete ist kein Treiber CX24116 enthalten. Bei manchen scheint es auch ohne die Firmware zu klappen, aber es gibt auch einige, die damit ein Problem haben: http://www.vdr-portal.de/board/thread.php?threadid=92729Man findet die Pakete, wenn man nach "dvb" oder "firmware" sucht:
- firmware-linux-free-3.2
Dieses Paket enthält Firmware, die bisher im Linux-Kernel enthalten war und den Debian Free Software Guidelines gerecht wird. - firmware-linux-nonfree-0.36+wheezy.1
This package contains the binary firmware for various drivers in the Linux kernel. This is a collection of firmware blobs which are not individually large enough to warrant a standalone package.
Firmware manuell installieren
Für Hauppauge WinTV-NOVA-HD-S2 muss derselbe Treiber wie Hauppauge WinTV-HVR-4000 installiert werden: CX24116. Auf der Seite von linuxtv.org ist eine ausführliche Beschreibung über die unterschiedlichen Versionen des Treibers. Derzeit funktionieren aber nur die Links der folgenden Versionen:- Firmware v1.23.86.1
http://tevii.com/Tevii_linuxdriver_0815.rar
$ md5sum -b dvb-fe-cx24116.fw
dd8dfdfca6b72462d9db8032f78631c8 *dvb-fe-cx24116.fw - Firmware v1.26.90.0
http://www.wintvcd.co.uk/drivers/88x_2_126_28225_WHQL.zip
$ md5sum -b dvb-fe-cx24116.fw
6755898e8f88479bfba07fc85d647079 *dvb-fe-cx24116.fw
Leider hat Hauppauge keine Linux-Treiber auf seiner Homepage: http://www.hauppauge.de/site/support/support_linux.html.
Karte erkennen
root@debian:/home/jdufner# lspci -vnnGrafikkarte und TV-Karte gefunden (andere Sachen wir Netzwerkkarte, SATA-Controller etc entfernt)!
...
01:00.0 VGA compatible controller [0300]: Advanced Micro Devices [AMD] nee ATI Cedar PRO [Radeon HD 5450/6350] [1002:68f9] (prog-if 00 [VGA controller])
Subsystem: Micro-Star International Co., Ltd. Device [1462:2127]
Flags: bus master, fast devsel, latency 0, IRQ 11
Memory at d0000000 (64-bit, prefetchable) [size=256M]
Memory at fdde0000 (64-bit, non-prefetchable) [size=128K]
I/O ports at dc00 [size=256]
Expansion ROM at fde00000 [disabled] [size=128K]
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Legacy Endpoint, MSI 00
Capabilities: [a0] MSI: Enable- Count=1/1 Maskable- 64bit+
Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [150] Advanced Error Reporting
01:00.1 Audio device [0403]: Advanced Micro Devices [AMD] nee ATI Cedar HDMI Audio [Radeon HD 5400/6300 Series] [1002:aa68]
Subsystem: Micro-Star International Co., Ltd. Device [1462:aa68]
Flags: bus master, fast devsel, latency 0, IRQ 51
Memory at fdddc000 (64-bit, non-prefetchable) [size=16K]
Capabilities: [50] Power Management version 3
Capabilities: [58] Express Legacy Endpoint, MSI 00
Capabilities: [a0] MSI: Enable+ Count=1/1 Maskable- 64bit+
Capabilities: [100] Vendor Specific Information: ID=0001 Rev=1 Len=010 <?>
Capabilities: [150] Advanced Error Reporting
Kernel driver in use: snd_hda_intel
04:02.0 Multimedia video controller [0400]: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [14f1:8800] (rev 05)
Subsystem: Hauppauge computer works Inc. Device [0070:6906]
Flags: bus master, medium devsel, latency 64, IRQ 18
Memory at f9000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [44] Vital Product Data
Capabilities: [4c] Power Management version 2
Kernel driver in use: cx8800
04:02.1 Multimedia controller [0480]: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [Audio Port] [14f1:8801] (rev 05)
Subsystem: Hauppauge computer works Inc. Device [0070:6906]
Flags: bus master, medium devsel, latency 64, IRQ 18
Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [4c] Power Management version 2
Kernel driver in use: cx88_audio
04:02.2 Multimedia controller [0480]: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [MPEG Port] [14f1:8802] (rev 05)
Subsystem: Hauppauge computer works Inc. Device [0070:6906]
Flags: bus master, medium devsel, latency 64, IRQ 18
Memory at fb000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [4c] Power Management version 2
Kernel driver in use: cx88-mpeg driver manager
04:02.4 Multimedia controller [0480]: Conexant Systems, Inc. CX23880/1/2/3 PCI Video and Audio Decoder [IR Port] [14f1:8804] (rev 05)
Subsystem: Hauppauge computer works Inc. Device [0070:6906]
Flags: bus master, medium devsel, latency 64, IRQ 9
Memory at fc000000 (32-bit, non-prefetchable) [size=16M]
Capabilities: [4c] Power Management version 2
Was sagt Linux zur TV-Karte?
root@debian:/home/jdufner# dmesg | grep -i hauppaugeWas sagt Linux zum Treiber?
[ 7.662275] cx88[0]: subsystem: 0070:6906, board: Hauppauge WinTV-HVR4000(Lite) DVB-S/S2 [card=69,autodetected], frontend(s): 1
[ 7.880799] tveeprom 1-0050: Hauppauge model 69100, rev B4C3, serial# 8545779
[ 7.880814] cx88[0]: hauppauge eeprom: model=69100
[ 7.924011] Registered IR keymap rc-hauppauge
[ 7.924146] input: cx88 IR (Hauppauge WinTV-HVR400 as /devices/pci0000:00/0000:00:1e.0/0000:04:02.2/rc/rc0/input6
[ 7.924198] rc0: cx88 IR (Hauppauge WinTV-HVR400 as /devices/pci0000:00/0000:00:1e.0/0000:04:02.2/rc/rc0
[ 7.959460] cx88[0]/2: subsystem: 0070:6906, board: Hauppauge WinTV-HVR4000(Lite) DVB-S/S2 [card=69]
root@debian:/home/jdufner# dmesg | grep cxErkannt!
[ 29.539838] cx24116_firmware_ondemand: Waiting for firmware upload (dvb-fe-cx24116.fw)...
[ 30.008694] cx88-mpeg driver manager 0000:04:02.2: firmware: agent loaded dvb-fe-cx24116.fw into memory
[ 34.959511] cx24116_load_firmware: FW version 1.26.90.0
[ 34.959527] cx24116_firmware_ondemand: Firmware upload complete
Die Treiber funktionieren, wenn hier folgende Geräte angezeigt werden:
root@debian:/home/jdufner# ls -l /dev/dvb/adapter0/Bingo!
insgesamt 0
crw-rw---T+ 1 root video 212, 1 Jan 6 17:03 demux0
crw-rw---T+ 1 root video 212, 2 Jan 6 17:03 dvr0
crw-rw---T+ 1 root video 212, 0 Jan 6 17:03 frontend0
crw-rw---T+ 1 root video 212, 3 Jan 6 17:03 net0
Unfreien Radeon-Treiber installieren
Anleitung:
http://wiki.debianforum.de/Unfreie_Grafiktreiber_für_ATI
Nach Intialisierung folgende Ausgabe:
http://wiki.debianforum.de/Unfreie_Grafiktreiber_für_ATI
Nach Intialisierung folgende Ausgabe:
root@debian:/home/jdufner# aticonfig --initial
Uninitialised file found, configuring.
Using /etc/X11/xorg.conf
Saving back-up to /etc/X11/xorg.conf.original-0
Debian-Paketquellen erweitern
Debian ist enthält per Definition nur freie Software, also auch keine von Herstellern für Linux zur Verfügung gestellte Treiben, die Closed Source sind. Um diese Treiber trotzdem installieren zu können, müssen die Paketquellen erweitert werden:
/etc/apt/sources.list
Eine weiter Möglichkeit neue Paketquellen hinzuzufügen ist:
/etc/apt/sources.list
deb http://ftp.de.debian.org/debian/ wheezy main contrib non-freeDokumentation: http://wiki.debianforum.de/Sources.list
deb-src http://ftp.de.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
# wheezy-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free
Eine weiter Möglichkeit neue Paketquellen hinzuzufügen ist:
root@debian:/etc/apt# wget -P /etc/apt/sources.list.d http://www.e-tobi.net/blog/files/e-tobi.list
--2014-01-06 08:40:36-- http://www.e-tobi.net/blog/files/e-tobi.list
Auflösen des Hostnamen »www.e-tobi.net (www.e-tobi.net)«... 77.236.96.67
Verbindungsaufbau zu www.e-tobi.net (www.e-tobi.net)|77.236.96.67|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 200 [application/octet-stream]
In »»/etc/apt/sources.list.d/e-tobi.list«« speichern.
100%[==================================================================================================>] 200 --.-K/s in 0s
2014-01-06 08:40:36 (26,4 MB/s) - »»/etc/apt/sources.list.d/e-tobi.list«« gespeichert [200/200]
root@debian:/etc/apt# wget -P /etc/apt/preferences.d http://www.e-tobi.net/blog/files/e-tobi
--2014-01-06 08:40:49-- http://www.e-tobi.net/blog/files/e-tobi
Auflösen des Hostnamen »www.e-tobi.net (www.e-tobi.net)«... 77.236.96.67
Verbindungsaufbau zu www.e-tobi.net (www.e-tobi.net)|77.236.96.67|:80... verbunden.
HTTP-Anforderung gesendet, warte auf Antwort... 200 OK
Länge: 56 [application/octet-stream]
In »»/etc/apt/preferences.d/e-tobi«« speichern.
100%[==================================================================================================>] 56 --.-K/s in 0s
2014-01-06 08:40:49 (7,92 MB/s) - »»/etc/apt/preferences.d/e-tobi«« gespeichert [56/56]
Sonntag, Januar 05, 2014
GDM3 für Remote-Login von Windows / Cygwin konfigurieren
Linux konfigurieren
Betriebssystem:jdufner@debian:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description: Debian GNU/Linux 7.3 (wheezy)
Release: 7.3
Codename: wheezy
Remote Login für GDM3 / XDM einstellen. Dazu folgende Dateien ändern:
/etc/gdm3/daemon.conf
[security]
DisallowTCP=false
[xdmcp]
DisplaysPerHost=1
Enable=true
Zugriff von Windows
cygwin-Commandline:X -screen 0 1024x768@1 -broadcast :1
oder
X -screen 0 1024:768@1 -query 192.168.2.110 :1Viel Spaß damit!
Abonnieren
Posts (Atom)