Danke euch beiden. Stimmt, das runvdr stop ist tatsächlich alt - habe nicht darauf geachtet.
Ist das killall vdr nicht ein bisschen brutal. Beendet sich der vdr damit korrekt? Gibts da nichts anderes?
Danke euch beiden. Stimmt, das runvdr stop ist tatsächlich alt - habe nicht darauf geachtet.
Ist das killall vdr nicht ein bisschen brutal. Beendet sich der vdr damit korrekt? Gibts da nichts anderes?
Dann ist das wohl der Fehler. Beim Suchen hier im Forum, wie man den VDR beendet bin ich auf das runvdr stop gekommen. Wenn runvdr garnicht stoppen kann, dann ist klar, dass es beim erneuten Aufruf wieder startet. Wie kann ich dann sonst den VDR stoppen?
Heinrich
Die Meldung kommt von dem tntnet listener, wenn er gestartet wird. Habe mal folgendes ausprobiert:
root@raspivdr:~# runvdr &
[1] 2191
root@raspivdr:~# INFO: validating live server ip '0.0.0.0'
root@raspivdr:~# runvdr stop
INFO: validating live server ip '0.0.0.0'
2015-06-14 17:20:41.15995 [2219.3012437088] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 1
2015-06-14 17:20:42.18695 [2219.3012437088] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 2
2015-06-14 17:20:43.19941 [2219.3012437088] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 3
2015-06-14 17:20:44.21561 [2219.3012437088] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 4
2015-06-14 17:20:45.22652 [2219.3012437088] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 5
HTTPD FATAL ERROR: address 0.0.0.0:8008 in use
Display More
Obwohl ich runvdr stoppen möchte, startet es scheinbar den vdr wieder??? Ich verwende das runvdr so wie es bei vdr 2.2.0 dabei war. Lediglich die Parameter für den vdr-Aufruf habe ich nach meinen Wünschen geändert:
#!/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 3.0 2011/04/17 12:34:30 kls Exp $
export LANG=de_DE.utf8
export LC_COLLATE=de_DE.utf8
export VDR_CHARSET_OVERRIDE=ISO-8859-9
setterm -clear -cursor off > /dev/tty9; chvt 9;
VDRKONSOLE="< /dev/tty9"
VDRPRG="/usr/local/bin/vdr"
VDROPTIONS="-w 60 -u vdr -c /var/lib/vdr -r /usr/local/bin/recordaction.sh -l 1"
# For other options see manpage vdr.1
VDRPLUGINS="-P 'dynamite -I 1 -W 12' -P epgsearch -P 'live --ip=0.0.0.0'"
# 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 $VDRKONSOLE $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
stty echo
Display More
Was läuft hier falsch?
Heinrich
ergibt folgendes:
warning: bad ps syntax, perhaps a bogus '-'?
See http://gitorious.org/procps/procps/blobs/master/Documentation/FAQ
root 2119 0.0 0.6 5032 2892 ? S Jun13 0:00 /bin/bash /usr/local/bin/runvdr start
root 2195 0.0 0.2 1696 1192 ? Ss 00:07 0:00 startpar -f -- vdr
vdr 2239 4.6 3.4 145692 15532 ? Sl 00:07 0:11 /usr/local/bin/vdr -w 60 -u vdr -c /var/lib/vdr -r /usr/local/bin/recordaction.sh -l 1 -P dynamite -I 1 -W 12 -P epgsearch -P live --ip=0.0.0.0 start
root 2265 0.0 0.4 4144 1900 pts/0 S+ 00:11 0:00 grep vdr
Heinrich
Evtl. könntest du bei der IP mal 0.0.0.0 eintragen, so leer sieht das irgendwie komisch aus. Kann mich aber auch irren.
Lars
Das wird nicht viel besser:
2114 ? 00:00:00 vdr 2129 ? 00:00:17 vdr 2174 pts/0 00:00:00 vdr 2175 pts/0 00:00:00 vdr
Stoppe Linux Video Disk Recorder VDR Daemon
INFO: validating live server ip '0.0.0.0'
2015-06-14 00:06:57.82629 [2182.3004396640] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 1
2015-06-14 00:06:58.85523 [2182.3004396640] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 2
2015-06-14 00:06:59.86707 [2182.3004396640] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 3
2015-06-14 00:07:00.87744 [2182.3004396640] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 4
2015-06-14 00:07:01.88996 [2182.3004396640] WARN tntnet.listener - address 0.0.0.0:8008 in use - retry; n = 5
HTTPD FATAL ERROR: address 0.0.0.0:8008 in use
Da kommt folgendes:
Aktive Internetverbindungen (Nur Server)
Proto Recv-Q Send-Q Local Address Foreign Address State User Inode PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 0 7689 2114/sshd
tcp6 0 0 :::22 :::* LISTEN 0 7691 2114/sshd
udp 0 0 192.168.128.87:123 0.0.0.0:* 0 7618 2072/ntpd
udp 0 0 127.0.0.1:123 0.0.0.0:* 0 7617 2072/ntpd
udp 0 0 0.0.0.0:123 0.0.0.0:* 0 7609 2072/ntpd
udp6 0 0 fe80::20f:55ff:fea8:123 :::* 0 7620 2072/ntpd
udp6 0 0 ::1:123 :::* 0 7619 2072/ntpd
udp6 0 0 :::123 :::* 0 7610 2072/ntpd
Kannst du damit was anfangen?
Heinrich
Hallo,
habe das aktuelle Live zusammen mit dem plain vanilla vdr 2.2.0 compiliert (ohne Fehler) und läuft soweit gut. Gestartet wird der vdr mit dem 'mitgelieferten' runvdr - Script.
Wenn ich den vdr beenden möchte, kommt das auf die Konsole:
2015-06-13 15:57:44.86982 [4530.3011507296] WARN tntnet.listener - address :8008 in use - retry; n = 1
2015-06-13 15:57:45.89714 [4530.3011507296] WARN tntnet.listener - address :8008 in use - retry; n = 2
2015-06-13 15:57:46.90996 [4530.3011507296] WARN tntnet.listener - address :8008 in use - retry; n = 3
2015-06-13 15:57:47.92541 [4530.3011507296] WARN tntnet.listener - address :8008 in use - retry; n = 4
2015-06-13 15:57:48.93700 [4530.3011507296] WARN tntnet.listener - address :8008 in use - retry; n = 5
HTTPD FATAL ERROR: address :8008 in use
Der Prozess hängt dann. Selbst ein Reboot ist davon betroffen.
Den einzigen Live-bezogenen Fehler, den ich beim Starten vom vdr aus dem syslog ersehen kann ist:
Jun 13 16:02:53 raspivdr vdr: [2156] [live] INFO: attempt to listen on ip = ''
Jun 13 16:02:53 raspivdr vdr: [2156] [live] ERROR: Unable to load cert/key (/var/lib/vdr/plugins/live/live.pem//var/lib/vdr/plugins/live/live-key.pem): Datei oder Verzeichnis nicht gefunden
Habe brav alle Dateien aus dem Live-Ordner wie im README verlangt, nach /var/lib/vdr/plugins/live/ kopiert. Eine Datei live.pem oder live-key.pem gibt es aber auf dem ganzen Rechner nicht, wurde also auch nicht dahin kopiert, wo der vdr sie erwartet.
Aus einem italienischen vdr-Forum habe ich entnommen, dass das vielleicht mit der Internationalisierung zusammenhängt, ist vielleicht aber auch ein Mißverständnis. Mein System läuft jedenfalls mit UTF-8.
Aus der Fehlermeldung werde ich jedenfalls nicht schlau. Kann jemand helfen?
Heinrich
Tja, du hast recht. Ich hatte mir das Plugin mit dem Befehl
geholt. Steht so im README auf deiner github Seite. Wenn ich es so mache, wie du empfohlen hast, stimmt das mit dem TrickSpee, die MAXDVBDEVICES ziemlich an Anfang von dynamite.c müssten aber noch ersetzt werden, damit es fehlerlos durchläuft. Ich lass für den Test mal alles beim alten, denn der Compiler lief ja durch.
Im Log sehe ich ziemlich viele Einträge wegen suspendoutput:
...
Jun 8 09:51:19 raspivdr vdr: [2164] [live] ERROR: Unable to load cert/key (/var/lib/vdr/plugins/live/live.pem//var/lib/vdr/plugins/live/live-key.pem): Datei oder Verzeichnis nicht gefunden
Jun 8 09:51:19 raspivdr vdr: [2158] epg data reader thread ended (pid=2136, tid=2158)
Jun 8 09:51:20 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 09:54:07 raspivdr vdr: [2136] switching to channel 1 (1LIVE)
Jun 8 09:54:07 raspivdr vdr: [2136] retrying
Jun 8 09:54:07 raspivdr vdr: [2136] retrying
Jun 8 09:54:07 raspivdr vdr: [2136] retrying
Jun 8 09:54:07 raspivdr vdr: [2136] setting watchdog timer to 60 seconds
Jun 8 09:54:07 raspivdr vdr: [2136] OSD size changed to 720x480 @ 1
Jun 8 09:54:07 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 09:54:07 raspivdr vdr: [2163] EPGSearch: timer conflict check started
Jun 8 09:54:07 raspivdr vdr: [2163] EPGSearch: timer conflict check finished
Jun 8 09:54:08 raspivdr vdr: [2136] max. latency time 1 seconds
Jun 8 09:54:12 raspivdr vdr: [2136] dynamite: no devices within 60 seconds for receiving startup channel 1, giving up
Jun 8 09:55:08 raspivdr vdr: [2136] suspendoutput: output suspended by inactivity timer
Jun 8 09:55:08 raspivdr vdr: [2136] ERROR: Kanal blockiert (zeichnet auf)!
Jun 8 09:55:08 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 09:55:08 raspivdr vdr: [2136] suspendoutput: output resumed by user action
Jun 8 09:55:10 raspivdr vdr: [2136] max. latency time 3 seconds
Jun 8 09:56:09 raspivdr vdr: [2136] suspendoutput: output suspended by inactivity timer
Jun 8 09:56:09 raspivdr vdr: [2136] ERROR: Kanal blockiert (zeichnet auf)!
Jun 8 09:56:09 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 09:56:09 raspivdr vdr: [2136] suspendoutput: output resumed by user action
Jun 8 09:56:41 raspivdr vdr: [2136] dynamite: device /dev/dvb/adapter0/frontend0 unused for 5 minutes, set to idle
Jun 8 09:56:41 raspivdr vdr: [2136] dynamite: set device /dev/dvb/adapter0/frontend0 to idle
Jun 8 09:56:41 raspivdr vdr: [2161] device 1 section handler thread ended (pid=2136, tid=2161)
Jun 8 09:57:10 raspivdr vdr: [2136] suspendoutput: output suspended by inactivity timer
Jun 8 09:57:10 raspivdr vdr: [2136] ERROR: Kanal blockiert (zeichnet auf)!
Jun 8 09:57:10 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 09:57:10 raspivdr vdr: [2136] suspendoutput: output resumed by user action
Jun 8 09:58:11 raspivdr vdr: [2136] suspendoutput: output suspended by inactivity timer
Jun 8 09:58:11 raspivdr vdr: [2136] ERROR: Kanal blockiert (zeichnet auf)!
Jun 8 09:58:11 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 09:58:11 raspivdr vdr: [2136] suspendoutput: output resumed by user action
Jun 8 09:59:12 raspivdr vdr: [2136] suspendoutput: output suspended by inactivity timer
Jun 8 09:59:12 raspivdr vdr: [2136] ERROR: Kanal blockiert (zeichnet auf)!
Jun 8 09:59:12 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 09:59:12 raspivdr vdr: [2136] suspendoutput: output resumed by user action
Jun 8 10:00:13 raspivdr vdr: [2136] suspendoutput: output suspended by inactivity timer
Jun 8 10:00:13 raspivdr vdr: [2136] ERROR: Kanal blockiert (zeichnet auf)!
Jun 8 10:00:13 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 10:00:13 raspivdr vdr: [2136] suspendoutput: output resumed by user action
Jun 8 10:01:14 raspivdr vdr: [2136] suspendoutput: output suspended by inactivity timer
Jun 8 10:01:14 raspivdr vdr: [2136] ERROR: Kanal blockiert (zeichnet auf)!
Jun 8 10:01:14 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 10:01:14 raspivdr vdr: [2136] suspendoutput: output resumed by user action
Jun 8 10:01:19 raspivdr vdr: [2174] epg data writer thread started (pid=2136, tid=2174, prio=low)
Jun 8 10:01:20 raspivdr vdr: [2174] epg data writer thread ended (pid=2136, tid=2174)
Jun 8 10:02:15 raspivdr vdr: [2136] suspendoutput: output suspended by inactivity timer
Jun 8 10:02:15 raspivdr vdr: [2136] ERROR: Kanal blockiert (zeichnet auf)!
Jun 8 10:02:15 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 10:02:15 raspivdr vdr: [2136] suspendoutput: output resumed by user action
Jun 8 10:03:16 raspivdr vdr: [2136] suspendoutput: output suspended by inactivity timer
Jun 8 10:03:16 raspivdr vdr: [2136] ERROR: Kanal blockiert (zeichnet auf)!
Jun 8 10:03:16 raspivdr vdr: [2136] ERROR: no OSD provider available - using dummy OSD!
Jun 8 10:03:16 raspivdr vdr: [2136] suspendoutput: output resumed by user action
Jun 8 10:04:17 raspivdr vdr: [2136] suspendoutput: output suspended by inactivity timer
Jun 8 10:04:17 raspivdr vdr: [2136] ERROR: Kanal blockiert (zeichnet auf)!
usw.
Display More
Ist das Verhalten normal? (Natürlich wird nix aufgezeichnet) Brauche ich das suspendoutput wirklich?
Beim dummydevice plugin - was vielleicht eine Alternative wäre? - steht:
QuoteFür vdr 1.4.x ist das Plugin zwar empfohlen aber nicht zwingend
notwendig. Ohne dummydevice wird einfach eine der Budget Karten zum
Ausgabegerät erklärt, auch wenn tatsächlich nichts ausgeben werden kann.
Heinrich
nächstes Problem, wie gesagt der Compile lief ohne errors / warnings durch
vdr: /usr/local/lib/vdr/libvdr-dynamite.so.2.2.0: Kann die Shared-Object-Datei nicht öffnen: Datei oder Verzeichnis nicht gefunden
Beim Ziehen des git kam übrigens gestern der neue patch nicht durch?? Musste den von Hand kopieren... Steht im Verzeichnis auf git drin???
Heinrich
Welche Version von dynamite nutzt du denn? Nimm am besten den aktuellen git snapshot.
Welche Version von dynamite nutzt du denn? Nimm am besten den aktuellen git snapshot.
https://github.com/flensrocker/vdr-plugin-dynamiteLars
Jo, das hatte ich mir gestern Abend per git gezogen.Heinrich
Antworte mal selber, auch wenn das nicht gern gesehen ist. Habe hier im Forum gesehen, dass das softhddevice plugin vor einiger Zeit ein ähnliches Problem hatte. Es hängt damit zusammen, dass TrickSpeed einen weiteren Parameter dazu bekommen hat: http://projects.vdr-developer.org/issues/1667
Habe dann in den Dateien dynamicdevice.c und dynamicdevice.h die entsprechenden Änderungen vorgenommen
und das Plugin hat zumindest ohne weitere Fehler compiliert. Jetzt werde ich das ganze mal laufen lassen und beobachten.
Heinrich
Der Pach für vdr 2.2.0 lief problemlos durch. Aber ich hab ein Problem beim kompilieren (make plugins):
*** Plugin dynamite:
g++ -g -O3 -Wall -Werror=overloaded-virtual -Wno-parentheses -fPIC -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -c -DPLUGIN_NAME_I18N='"dynamite"' -I/usr/local/src/vdr-2.2.0/include -o dynamite.o dynamite.c
In file included from dynamite.c:9:0:
/usr/local/src/vdr-2.2.0/include/vdr/device.h:703:16: error: ‘virtual void cDevice::TrickSpeed(int, bool)’ was hidden [-Werror=overloaded-virtual]
dynamicdevice.h:156:16: error: by ‘virtual void cDynamicDevice::TrickSpeed(int)’ [-Werror=overloaded-virtual]
dynamite.c: In member function ‘virtual bool cDynamiteDvbDeviceProbe::Probe(int, int)’:
dynamite.c:26:8: error: ‘MAXDVBDEVICES’ was not declared in this scope
cc1plus: some warnings being treated as errors
Makefile:70: recipe for target 'dynamite.o' failed
make[1]: *** [dynamite.o] Error 1
Das übersteigt leider meine Fähigkeiten... kann jemand helfen?
Heinrich
Vielen Dank! Das hat bei mir auch geklappt!
Heinrich
Für 2.1.6 geht der für 2.0.2 vorgehsene Patch jedenfalls nicht
root@raspivdr:/usr/local/src/vdr# patch < vdr-2.0.2-dynamite+externalci+extravideodirs+rotorng.patch
patching file ci.c
Hunk #1 FAILED at 1571.
1 out of 1 hunk FAILED -- saving rejects to file ci.c.rej
patching file ci.h
Hunk #2 FAILED at 116.
1 out of 2 hunks FAILED -- saving rejects to file ci.h.rej
patching file device.c
Hunk #3 FAILED at 132.
Hunk #4 succeeded at 172 (offset 2 lines).
Hunk #5 FAILED at 372.
Hunk #6 succeeded at 581 (offset -3 lines).
Hunk #7 succeeded at 596 (offset -3 lines).
Hunk #8 succeeded at 631 (offset -3 lines).
Hunk #9 succeeded at 811 (offset 5 lines).
Hunk #10 succeeded at 859 (offset 6 lines).
Hunk #11 succeeded at 1260 (offset 6 lines).
Hunk #12 succeeded at 1282 (offset 6 lines).
Hunk #13 succeeded at 1303 (offset 6 lines).
Hunk #14 succeeded at 1585 (offset 6 lines).
Hunk #15 succeeded at 1605 (offset 6 lines).
Hunk #16 succeeded at 1688 (offset 7 lines).
Hunk #17 succeeded at 1733 (offset 7 lines).
Hunk #18 succeeded at 1764 (offset 11 lines).
Hunk #19 succeeded at 1858 with fuzz 2 (offset 19 lines).
2 out of 19 hunks FAILED -- saving rejects to file device.c.rej
patching file device.h
Hunk #1 succeeded at 25 (offset 1 line).
Hunk #2 succeeded at 175 (offset 5 lines).
Hunk #3 FAILED at 196.
Hunk #4 succeeded at 348 (offset 10 lines).
Hunk #5 succeeded at 434 (offset 10 lines).
Hunk #6 succeeded at 602 (offset 18 lines).
Hunk #7 succeeded at 816 (offset 19 lines).
Hunk #8 succeeded at 858 (offset 19 lines).
Hunk #9 FAILED at 855.
usw. usf.
Display More
In dem README wären noch Hinweise zur Installation ganz hilfreich.
Heinrich
Das mit dem Lüfter möchte ich vermeiden. Dafür brauchts wieder eine Stromquelle und regelmäßige Funktionskontrolle. Nicht dass Wespen-Hackepeter den Lüfter stoppt. Der Raspi muss nur beim Konvertieren der Aufnahmen in mp3 schwitzen, sonst hat der nicht viel zu überlegen.
Das dynamite plugin schaue ich mir mal an. Schätze aber, das es schwierig ist, das auf meinen Zweck zu adaptieren. Klingt schon so kompliziert, andererseits vielversprechend. Danke für den Hinweis mit epg2vdr!
2.1.6 verwende ich, weil ich mit dem Projekt im Januar angefangen habe, da war das das neueste. Nach dem Kompilieren kam was wichtiges, längerers dazwischen und ich kann das Projekt erst jetzt weiter verfolgen. Aber jetzt würde ich es gern weiter verfolgen und natürlich erfolgreich abschließen.
Nachtrag: dynamite schaut doch nicht so kompliziert aus und würde wohl alle Wünsche lösen, aber:
Nachfrage: Der neueste Patch bezieht sich auf vdr 2.0.2, geht der auch für 2.1.6 oder 2.2.0?