"Seit heute (neue Version ?!) kann ich nur noch Video-Parameter setzen..."
Der Audiokram ist per Rot erreichbar.
"Seit heute (neue Version ?!) kann ich nur noch Video-Parameter setzen..."
Der Audiokram ist per Rot erreichbar.
ZitatOriginal von real_schorsch
"Seit heute (neue Version ?!) kann ich nur noch Video-Parameter setzen..."
Der Audiokram ist per Rot erreichbar.
Hast recht. Wird im reelbox-Plugin-Menü sogar angezeigt
Ich hab es endlich hinbekommen.
VDR-1.7.0 mit eHD und das mit 64 Bit.
Die Patches von IG88 sind hierbei schonmal sehr wertvoll leider fehlen da dann aber noch Anpassungen für das 64Bit openSuse 11.0.
sewn4 Ist es zum jetzigen Zeitpunkt nicht besser das mit 32Bit openSuse zu basteln? Dann würden doch einige Abhängigkeiten wegfallen.
Ein Problem habe ich noch ich möchte den VDR nicht über die inittab starten sondern mit einem Startskript hierzu habe ich bisher immer das openSuse dvb Startskript verwendet und ein angepasstes vdr Startskript was den runvdr extreme 0.3 benutzt.
Das möchte ich auch weiterhin so tun nur irgendwas stimmt beim Timing zwischen dem Start des VDRs und der eHD nicht. Ich muss im Moment meistens die eHD nochmals neustarten (nach einem killall shmnetd) um zu einem Bild zu kommen. Sonst treten die weiter oben im Thread beschriebenen Symthome auf.
Was ist den die genaue Reihenfolge welche einzuhalten ist für den Start der einselnen Komponenten?
ich denke mal die eHD muss erst initialisiert sein bevor der vdr sie nutzen kann
wie machst du das init der eHD wenn du das startscript von suse nutzt
ich starte die runvdr in der inittab und vor dem eigentlichen vdr start ist das drin
if [ "`ping -c 1 192.168.99.129 |grep '64 bytes from'`" == "" ]
then
cd /usr/local/src/eHD.3
insmod /usr/local/src/eHD.3/hdshm.ko
sleep 2
/usr/local/src/eHD.3/hdboot -i /usr/local/src/eHD.3/linux.bin
sleep 5
if [ "`pidof /usr/local/src/eHD.3/shmnetd`" == "" ]
then
screen -d -m /usr/local/src/eHD.3/shmnetd
fi
sleep 25
cd /etc/vdr
else
echo HD Extension alread loaded
fi
Alles anzeigen
das ist zwar nicht sonderlich schön aber es funktioniert
@C-3PO
> aber leider bekomme ich der reelbox plugin nicht installiert.
compiliert?
> Ich habe mal hier meine Vorgehensweise dokumentiert.
ich habe keine ahnung von c aber die stelle an der die meldung auftritt hat wohl was mit der pthread.h zu tun und die gehört zum gcc?
bei "gcc --version" bekomme ich folgendes
gcc (GCC) 4.1.2 20061115
wenn ich die meldung in google werfe gibts das
http://cboard.cprogramming.com/showthread.php?t=99636
@ IG88,
ich habe leider auch keine Ahnung von C.
gcc habe ich die selbe Version wie Du:
vdr02 ~ # gcc -v
Using built-in specs.
Target: i686-pc-linux-gnu
Configured with: /mnt/data/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/configure --prefix=/usr --bindir=/usr/i686-pc-linux-gnu/gcc-bin/4.1.2 --includedir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include --datadir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2 --mandir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/man --infodir=/usr/share/gcc-data/i686-pc-linux-gnu/4.1.2/info --with-gxx-include-dir=/usr/lib/gcc/i686-pc-linux-gnu/4.1.2/include/g++-v4 --host=i686-pc-linux-gnu --build=i686-pc-linux-gnu --disable-altivec --enable-nls --without-included-gettext --with-system-zlib --disable-checking --disable-werror --enable-secureplt --disable-libunwind-exceptions --disable-multilib --enable-libmudflap --disable-libssp --disable-libgcj --with-arch=i686 --enable-languages=c,c++,fortran --enable-shared --enable-threads=posix --enable-__cxa_atexit --enable-clocale=gnu
Thread model: posix
gcc version 4.1.2 (Gentoo 4.1.2 p1.0.1)
vdr02 ~ #
Mit dem Link den Du gepostet hast, fange ich leider überhaupt nicht an.
ZitatOriginal von IG88
ich denke mal die eHD muss erst initialisiert sein bevor der vdr sie nutzen kann
wie machst du das init der eHD wenn du das startscript von suse nutzt
ich starte die runvdr in der inittab und vor dem eigentlichen vdr
Ich habe das startskript von sewn4 aus dem Wiki verwendet für das eHD und zu Testzwecken erweitert.
Die Reihenfolge läst sich über die Kommentar Felder im Skript Kopf festlegen
#!/bin/sh
### BEGIN INIT INFO
# Provides: ehd
# Should-Start:
# Required-Start: $network
# Default-Start: 3 5
# Required-Stop:
# Should-Stop:
# Default-Stop: 0 1 2 6
# Short-Description: Extension-HD
# Description: ReelMultimedia Extensiom-HD loader
### END INIT INFO
# Variables
PATH=/usr/sbin:/usr/bin:/sbin:/bin
TFTPPATH='/tftpboot'
MODULENAME='hdshm'
LOADERNAME='hdboot'
LOADERIMAGE="$TFTPPATH/linux.bin"
LOADER="$TFTPPATH/$LOADERNAME"
DAEMONNAME='shmnetd'
DAEMON="$TFTPPATH/$DAEMONNAME"
DAEMONARGS=''
# Shell functions sourced from /etc/rc.status:
. /etc/rc.status
# Reset status of this service
rc_reset
# Ueberprufen ob der Shared Memory Treiber geladen wurde, falls nicht wird abgebrochen.
check_module()
{
lsmod | grep $MODULENAME > /dev/null 2>&1
if [ $? -ne 0 ] ; then
echo -n "Loading extensionHD: shared mem module nicht geladen"
rc_status -v
exit 1
fi
}
#
case "$1" in
start)
$0 load-hdshm-modules
check_module
$0 start-decypher
$0 start-shmnet
;;
stop)
$0 stop-shmnet
;;
load-hdshm-modules)
echo -n "Loading extensionHD: shared mem module"
modprobe $MODULENAME
sleep 2
rc_status -v
;;
unload-hdshm-modules)
echo -n "Unloading extensionHD: shared mem module"
rmmod $MODULENAME
rc_status -v
;;
start-decypher)
echo -n "Starting extensionHD: boot loader"
# Test ob eHD bereits gestartet wurde.
if [ "`ping -c 1 192.168.99.129 |grep '64 bytes from'`" == "" ]
then
$LOADER -i $LOADERIMAGE
fi
rc_status -v
;;
restart-decryher)
echo -n "Restarting extensionHD: Warmstart DeCypher"
$LOADER -r
rc_status -v
;;
start-shmnet)
echo -n "Starting extensionHD: shared mem daemon"
ps -ef | grep $DAEMON > /dev/null 2>&1
if [ $? -eq 0 ] ; then
killall $DAEMONNAME
fi
/usr/bin/screen -d -m $DAEMON $DAEMONARGS
rc_status -v
;;
stop-shmnet)
echo -n "Shutting down extensionHD: shared mem daemon"
killall $DAEMONNAME
rc_status -v
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 {start|stop|restart|restart-decryher}"
exit 1
;;
esac
rc_exit
Alles anzeigen
Da sich die eHD nicht komplett stoppen läst bzw. ich hierfür keine Parameter gefunden habe wird in meinem Skript lediglich das Share Memory abgeschaltet.
Das Start-Skript für den VDR sieht wie folgt aus:
#! /bin/bash
#
# Author: Ludwig Nussel <feedback@suse.de>
#
# /etc/init.d/vdr
# and its symbolic link
# /usr/sbin/rcvdr
#
### BEGIN INIT INFO
# Provides: vdr
# Should-Start: lirc dvb earlysyslog ehd
# Required-Start: $remote_fs
# Default-Start: 3 5
# Required-Stop:
# Should-Stop:
# Default-Stop: 0 1 2 6
# Short-Description: Video Disk Recorder
# Description: Hard disk video recording software for DVB
### END INIT INFO
# Check for missing binaries (stale symlinks should not happen)
VDR_BIN=/usr/sbin/vdr
test -x $VDR_BIN || exit 5
# Check for existence of needed config file and read it
VDR_CONFIG=/etc/runvdr.conf
test -r $VDR_CONFIG || exit 6
VDR_EXTREME=/usr/local/bin/runvdr
LANGUAGE="de_DE.UTF-8"
LANG="$LANGUAGE"
VDR_CHARSET_OVERRIDE="ISO-8859-9"
export LC_CTYPE=$LANGUAGE
export LANG=$LANGUAGE
export VDR_CHARSET_OVERRIDE
# Source LSB init functions
# providing start_daemon, killproc, pidofproc,
# log_success_msg, log_failure_msg and log_warning_msg.
# This is currently not used by UnitedLinux based distributions and
# not needed for init scripts for UnitedLinux only. If it is used,
# the functions from rc.status should not be sourced or used.
#. /lib/lsb/init-functions
# Shell functions sourced from /etc/rc.status:
# rc_check check and set local and overall rc status
# rc_status check and set local and overall rc status
# rc_status -v ditto but be verbose in local rc status
# rc_status -v -r ditto and clear the local rc status
# rc_status -s display "skipped" and exit with status 3
# rc_status -u display "unused" and exit with status 3
# rc_failed set local and overall rc status to failed
# rc_failed <num> set local and overall rc status to <num>
# rc_reset clear local rc status (overall remains)
# rc_exit exit appropriate to overall rc status
# rc_active checks whether a service is activated by symlinks
# rc_splash arg sets the boot splash screen to arg (if active)
. /etc/rc.status
# Reset status of this service
rc_reset
# Return values acc. to LSB for all commands but status:
# 0 - success
# 1 - generic or unspecified error
# 2 - invalid or excess argument(s)
# 3 - unimplemented feature (e.g. "reload")
# 4 - user had insufficient privileges
# 5 - program is not installed
# 6 - program is not configured
# 7 - program is not running
# 8--199 - reserved (8--99 LSB, 100--149 distrib, 150--199 appl)
#
# Note that starting an already running service, stopping
# or restarting a not-running service as well as the restart
# with force-reload (in case signaling is not supported) are
# considered a success.
case "$1" in
start)
echo -n "Starting Video Disk Recorder "
doswitch=
# only switch during boot
if [ "$PREVLEVEL" = N -a "$VDR_SWITCHVT" = yes ]; then
doswitch=-s
fi
# /bin/openvt -c "$VDR_VTNUMBER" $doswitch /usr/sbin/runvdr
$VDR_EXTREME --language=$LANGUAGE &
sleep 1 && checkproc $VDR_BIN
# Remember status and be verbose
rc_status -v
;;
stop)
echo -n "Shutting down Video Disk Recorder "
## Stop daemon with killproc(8) and if this fails
## killproc sets the return value according to LSB.
$VDR_EXTREME --terminate --wait
# Remember status and be verbose
rc_status -v
;;
try-restart)
## Do a restart only if the service was active before.
## Note: try-restart is not (yet) part of LSB (as of 1.2)
$0 status >/dev/null && $0 restart
# Remember status and be quiet
rc_status
;;
restart)
## Stop the service and regardless of whether it was
## running or not, start it again.
$VDR_EXTREME --restart
# Remember status and be quiet
rc_status
;;
dvbrestart)
$VDR_EXTREME --dvb-restart
rc_status
;;
force-reload)
echo -n "Reload service vdr "
$0 stop && $0 start
rc_status
;;
reload)
rc_failed 3
rc_status -v
;;
status)
echo -n "Checking for service vdr "
## Check status with checkproc(8), if process is running
## checkproc will return with exit status 0.
# Return value is slightly different for the status command:
# 0 - service up and running
# 1 - service dead, but /var/run/ pid file exists
# 2 - service dead, but /var/lock/ lock file exists
# 3 - service not running (unused)
# 4 - service status unknown :-(
# 5--199 reserved (5--99 LSB, 100--149 distro, 150--199 appl.)
# NOTE: checkproc returns LSB compliant status values.
checkproc $VDR_BIN
# NOTE: rc_status knows that we called this init script with
# "status" option and adapts its messages accordingly.
rc_status -v
;;
probe)
## Optional: Probe for the necessity of a reload, print out the
## argument to this init script which is required for a reload.
## Note: probe is not (yet) part of LSB (as of 1.2)
# test /etc/FOO/FOO.conf -nt /var/run/FOO.pid && echo reload
rc_failed 3
rc_status -v
;;
debug)
$VDR_EXTREME --terminal="" --switchterminal="" --language="de_DE.iso8859-1"
;;
$VDR_EXTREME --terminal="" --switchterminal="" --language="de_DE.iso8859-1"
;;
*)
echo "Usage: $0 {start|stop|status|try-restart|restart|dvbrestart|force-reload|probe|debug}"
exit 1
;;
esac
rc_exit
Alles anzeigen
Da die DVB Treiber bei mir nicht in der runvdr gestartet werden habe ich analog zu der Vorgehensweise von sewn4 die Treiber geblacklistet und in der /etc/sysconfig/dvb die benötigten Treiber eingetragen.
EDIT ON
Das Problem (weißer bzw. schwarzer Bildschirm) lag an den Fehlenden reelbox Einträgen in der setup.conf.
Die korrekte Startreihenfolge ist dem nach
1. dvb
2. ehd
3. vdr
wobei es egal ist ob man erst ehd oder dvb startet.
Selbst das nachstarten der eHD ist möglich erzeugt aber eine längere Startzeit des VDRs.
Die oben aufgeführten Startskripte habe ich entsprechend angepasst und können so auch benutzt werden. (Vorrausgesetzt die Pfade zu den Binarys sind bei euch genauso)
EDIT OFF
Der Vorteil mit dem extreme runvdr ist das man alles über /etc/runvdr.conf konfigurieren kann und es einen Debug-Modus gibt welcher die Ausgabe direkt auf die Konsole ausgibt (rcvdr debug). Bei Problemen sehr hilfreich.
kann jemand diverse Abstürze der HDe bestätigen?
Ich arbeite mit svn6808. Jetzt passiert es von Zeit zu Zeit, dass scheinbar die HDe abstürzt. Dann ist das Bild einfach auf meinem LCD (HDMI-Anschluss) dunkel. Die HDe ist dann weder mit telnet erreichbar, noch pingbar.
Ein "hdboor -r" hilft nicht: "Timeout: U-Boot not ready for PCI boot"
Es hilft nur ein reboot des VDR.
Ich bin mir ziemlich sicher, dass es ein Problem der HDe ist, da das Live-Streaming weiterhin funktioniert.
Byteschubser
byteschubser
Bisher hatte ich keine Abstürze ich verwende allerdings SVN6832.
Ich hatte aber bei Einrichten auch das Problem das ich nicht mehr pingen konnte das lag aber an mehrfach gestartetem shmnetd.
Einfach mal ein "ps -ef | grep shmnetd" ausführen, Dann solte so was ähnliches wie
root 3633 1 0 15:30 ? 00:00:00 /usr/bin/SCREEN -d -m /tftpboot/shmnetd
root 3642 3633 0 15:30 pts/1 00:00:04 /tftpboot/shmnetd
herrauskommen, keine der Zeilen darf doppelt vorhanden sein. Dies kann zum Beispiel passieren wenn man das Start-Skript von sewn4 mehrfach ausführt.
Gibt es eigenlich bei der eHD so etwas wie ein Konsolenlog wo man z.B. via Telnet mitloggen kann?
Etwa mit "setconsole" oder so etwas ähnliches?
Für die Ausgaben des Players kann man per telnet auf der HDE folgendes machen:
killall hdplayermgr hdctrld hdplayer
hdctrl -s -d
Danach muss man zwar den Videomode im Videomenü neusetzen (der Neustart von hdctrld verursacht das), sieht dann aber den gesamten Sülz während des Zappens...
ZitatOriginal von real_schorsch
Für die Ausgaben des Players kann man per telnet auf der HDE folgendes machen:
killall hdplayermgr hdctrld hdplayer
hdctrl -s -d
Danach muss man zwar den Videomode im Videomenü neusetzen (der Neustart von hdctrld verursacht das), sieht dann aber den gesamten Sülz während des Zappens...
Na, das ist doch schon mal etwas.
Damit könnte byteschubser auf jeden Fall schon mal seine "Abstürtze" protokollieren.
Wenn nichts mehr pingt, hilft das wahrscheinlich auch wenig. Da das Bild dunkel wird, scheint es aber was wesentlich heftigeres zu sein. Abstürze des Videoprozessors enden eigentlich immer im Blaubild.
Man kann am Zustand der LEDs rausfinden, ob es das einen HDE-Reboot gab (sollte rot geworden sein). Verursacht werden könnte das zB. von einer zu geringen Spannung auf den 3.3V, da schlägt ein Überwachungs-Baustein zu.
im Betrieb grün, sonst gelb. Welche Farbe nach dem Absturz... Muss auf dem nächsten Absturz wartet
Aber ich könnte mich ja via Telnet auf die HDe einloggen und auf den Absturz warten. Allerdings werde ich nichts sehen, wenn nicht der hdplayer abschmiert, sondern das "MiniLinux" auf der HDe...
nochwas: Könte es ein Temperatur-Problem sein? Da, wo die HDe im PCI-Bus sitzt (ganz links aussen) ist kein Luftzug und kein Lüfter in der Nähe
Stimmt, rot ist gelb... Nach dem Poweron/Reboot ist es jedenfalls eine andere Farbe, als im Betrieb.
Und das mit dem Temperaturproblem kann testen, in dem man einen Lüfter danebenstellt
hi, hab's immer noch nicht ...
ich bekommen zwar den vdr durch compiliert, jedoch bleibt er dann wieder
beim reelbox plugin hängen :
vdr patches :
h264-syncearly-framespersec.diff
vdr-1.7.0-truecolor-compile_fixes2.diff
++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -fPIC -c -D_GNU_SOURCE -DPLUGIN_NAME_I18N='"reelbox"' -DPLAYER_VERSION=\"\" -D__LINUX__ -DNOT_THEME_LIKE -I/usr/src/dvb/multiproto_plus/linux/include -I../../../include -I/usr/src/dvb/multiproto_plus/linux/include -I../../../../temp/docimage/libs/alsa-lib/include -I/data/installfiles/eHD/reelbox.org/testing/src/utils/bspshm -I/data/installfiles/eHD/reelbox.org/testing/src/utils/bspshm/include -I/data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3/src -I/data/installfiles/eHD/reelbox.org/testing/src/utils/hdshm3/src/include -I../../../../temp/docimage/libs/libmad HdTrueColorOsd.c
HdTrueColorOsd.c:31:17: error: png.h: Datei oder Verzeichnis nicht gefunden
HdTrueColorOsd.c:50: error: ‘png_structp’ does not name a type
HdTrueColorOsd.c:51: error: ‘png_infop’ does not name a type
HdTrueColorOsd.c: In member function ‘void Reel::HdTrueColorOsd::ClosePngFile()’:
HdTrueColorOsd.c:292: error: ‘png_ptr’ was not declared in this scope
HdTrueColorOsd.c:292: error: ‘info_ptr’ was not declared in this scope
HdTrueColorOsd.c:292: error: ‘png_destroy_read_struct’ was not declared in this scope
HdTrueColorOsd.c: In member function ‘bool Reel::HdTrueColorOsd::OpenPngFile(const char*, const Reel::Byte* const*&, int&, int&)’:
HdTrueColorOsd.c:562: error: ‘png_sig_cmp’ was not declared in this scope
HdTrueColorOsd.c:568: error: ‘png_ptr’ was not declared in this scope
HdTrueColorOsd.c:568: error: ‘PNG_LIBPNG_VER_STRING’ was not declared in this scope
HdTrueColorOsd.c:569: error: ‘png_create_read_struct’ was not declared in this scope
HdTrueColorOsd.c:576: error: ‘info_ptr’ was not declared in this scope
HdTrueColorOsd.c:576: error: ‘png_create_info_struct’ was not declared in this scope
HdTrueColorOsd.c:580: error: ‘png_destroy_read_struct’ was not declared in this scope
HdTrueColorOsd.c:585: error: ‘png_infop’ was not declared in this scope
HdTrueColorOsd.c:585: error: expected `;' before ‘end_info’
HdTrueColorOsd.c:586: error: ‘end_info’ was not declared in this scope
HdTrueColorOsd.c:589: error: ‘png_infopp’ was not declared in this scope
HdTrueColorOsd.c:589: error: ‘png_destroy_read_struct’ was not declared in this scope
HdTrueColorOsd.c:594: error: ‘png_jmpbuf’ was not declared in this scope
HdTrueColorOsd.c:594: error: ‘setjmp’ was not declared in this scope
HdTrueColorOsd.c:597: error: ‘png_destroy_read_struct’ was not declared in this scope
HdTrueColorOsd.c:602: error: ‘png_init_io’ was not declared in this scope
HdTrueColorOsd.c:604: error: ‘png_set_sig_bytes’ was not declared in this scope
HdTrueColorOsd.c:606: error: ‘PNG_TRANSFORM_IDENTITY’ was not declared in this scope
HdTrueColorOsd.c:606: error: ‘png_read_png’ was not declared in this scope
HdTrueColorOsd.c:608: error: ‘png_get_rows’ was not declared in this scope
HdTrueColorOsd.c:609: error: ‘png_get_image_width’ was not declared in this scope
HdTrueColorOsd.c:610: error: ‘png_get_image_height’ was not declared in this scope
make[1]: *** [HdTrueColorOsd.o] Fehler 1
make[1]: Leaving directory `/usr/local/src/vdr/PLUGINS/src/reelbox-3'
dann habe ich noch versucht :
vdr patches :
vdr-1.7.0_extensions.diff
vdr-1.7.0-ext_h264.diff
vdr-1.7.0-truecolor-compile_fixes2.diff
hier hatte ich dann auch Hunks :
Hunk #10 FAILED at 441.
1 out of 12 hunks FAILED -- saving rejects to file osd.h.rej
patching file config.h
Hunk #1 FAILED at 193.
1 out of 1 hunk FAILED -- saving rejects to file config.h.rej
damit compiliert er dann den vdr nicht mehr durch :
g++ -g -O2 -Wall -Woverloaded-virtual -Wno-parentheses -c -DREMOTE_KBD -DREMOTE_LIRC -DLIRC_DEVICE=\"/dev/lircd\" -DRCU_DEVICE=\"/dev/ttyS1\" -D_GNU_SOURCE -DVIDEODIR=\"/video\" -DCONFDIR=\"/video\" -DPLUGINDIR=\"/usr/local/src/vdr/PLUGINS/lib\" -DLOCDIR=\"/usr/local/src/vdr/locale\" -DVFAT -I/usr/include/freetype2 -I/usr/src/dvb/multiproto_plus/linux/include osd.c
osd.c:994: error: no ‘void cOsd::SetImagePath(u_int, const char*)’ member function declared in class ‘cOsd’
make: *** [osd.o] Fehler 1
irgendwie verstehe ich die zusammenhänge noch immer nicht - irgendwie frustrierend
das war revision 6808
sascha
Dir fehlt anscheinend libpng devel.
Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!