Hi list,
I've released the first release of my runvdr-extreme package.
runvdr extreme is a runvdr script, just like the runvdr script included in the VDR distribution. Additionally, it supports configuration files, lots of command line options and additional features.
-> http://www.richter-udo.de/vdr/scripts.en.html
- Loads default configuration from runvdr.conf - All configuration accessible and overrideable from command line - All VDR options handled - Handles runvdr.pid file, acts on signals - Restarts VDR in case of errors - Commands to restart VDR and reload DVB - Configuration file re-read on VDR restart - Avoids endless loops if VDR crashes instantly - Resets terminal to defaults after VDR terminated - Add wrapper commands to VDR for debugging - Waiting for the VDR process to be killed completey, hard killing after timeout - Command line help - Can switch console terminal - Can set locale for VDR daemon - Optionally supports pluginsetup-plugin
All in all, if you're still messing with the original runvdr script, you may want to thy this boosted version. Or just pick up some cool shell tricks from the script for your own runvdr.
Cheers,
Udo
Hello Udo,
Thank you very much for this piece of good code. I launch it from /etc/inittab and all is fine. Thank you again.
Guy
Udo Richter wrote:
Hi list,
I've released the first release of my runvdr-extreme package.
runvdr extreme is a runvdr script, just like the runvdr script included in the VDR distribution. Additionally, it supports configuration files, lots of command line options and additional features.
-> http://www.richter-udo.de/vdr/scripts.en.html
- Loads default configuration from runvdr.conf
- All configuration accessible and overrideable from command line
- All VDR options handled
- Handles runvdr.pid file, acts on signals
- Restarts VDR in case of errors
- Commands to restart VDR and reload DVB
- Configuration file re-read on VDR restart
- Avoids endless loops if VDR crashes instantly
- Resets terminal to defaults after VDR terminated
- Add wrapper commands to VDR for debugging
- Waiting for the VDR process to be killed completey, hard killing after timeout
- Command line help
- Can switch console terminal
- Can set locale for VDR daemon
- Optionally supports pluginsetup-plugin
All in all, if you're still messing with the original runvdr script, you may want to thy this boosted version. Or just pick up some cool shell tricks from the script for your own runvdr.
Cheers,
Udo
Hi Udo,
Udo Richter schrieb:
Hi list,
I've released the first release of my runvdr-extreme package.
Thank you for the nice script.
One fix is necessary:
--- runvdr.orig 2006-10-09 21:30:47.000000000 +0200 +++ runvdr 2006-10-09 21:30:56.000000000 +0200 @@ -413,7 +413,7 @@ [ -n "$SHUTDOWN" ] && VDRCMD="$VDRCMD -s "$SHUTDOWN"" [ -n "$TERMINAL" ] && VDRCMD="$VDRCMD -t "$TERMINAL"" [ -n "$VDRUSER" ] && VDRCMD="$VDRCMD -u "$VDRUSER"" - [ -n "$VFAT" ] && VDRCMD="$VDRCMD -v" + [ -n "$VFAT" ] && VDRCMD="$VDRCMD --vfat" [ -n "$VIDEODIR" ] && VDRCMD="$VDRCMD -v "$VIDEODIR"" [ -n "$WATCHDOG" ] && VDRCMD="$VDRCMD -w $WATCHDOG"
I found only one major difference to the one I've created over time: my script reboots the system if vdr won't proper start 3 times, perhaps you can add such feature, currently your script tries 5 times, then reload modules. Perhaps you could add a toggle to reboot, if reload of modules fails 3 times.
Regards, Peter
Peter Bieringer wrote:
Thank you for the nice script.
One fix is necessary:
- [ -n "$VFAT" ] && VDRCMD="$VDRCMD -v"
- [ -n "$VFAT" ] && VDRCMD="$VDRCMD --vfat"
Hmm, you're right. Thanks. I've missed that because my VDR is switched to vfat on build time.
I found only one major difference to the one I've created over time: my script reboots the system if vdr won't proper start 3 times, perhaps you can add such feature
Maybe optionally, I'll think about it.
Cheers,
Udo
Udo Richter wrote:
Peter Bieringer wrote:
Thank you for the nice script.
One fix is necessary:
- [ -n "$VFAT" ] && VDRCMD="$VDRCMD -v"
- [ -n "$VFAT" ] && VDRCMD="$VDRCMD --vfat"
Hmm, you're right. Thanks. I've missed that because my VDR is switched to vfat on build time.
I found only one major difference to the one I've created over time: my script reboots the system if vdr won't proper start 3 times, perhaps you can add such feature
Maybe optionally, I'll think about it.
I also have a suggestion. It is nice to have vdr startup in a screen session when working remotely.
I'm using something like this:
eval "screen -D -m -S vdr $VDRCMD &"
This starts a screen in detached mode called "vdr" and keeps the same PID. When logging in remotely to the machine, vdr can be monitored by typing "sudo screen -r vdr". To detach, type: ctrl+a d
Regards.
Nice script, but one question. After starting 'runvdr&' file with name '-' is created with content: /bin/setterm
For what is it?
Regards, SK
Suur Karu wrote:
Nice script, but one question. After starting 'runvdr&' file with name '-' is created with content: /bin/setterm
For what is it?
For checking if people would notice. ;)
Note to myself: Don't do these last-minute changes....
Attached patch should fix this.
Cheers,
Udo
Index: runvdr =================================================================== --- runvdr (revision 776) +++ runvdr (working copy) @@ -68,14 +68,14 @@ # -w # --watchdog # WATCHDOG activate the watchdog timer with a timeout of SEC
-which $PGREP >- || { echo missing $PGREP... >2 ; exit 1 ; } -which $PS >- || { echo missing $PS... >2 ; exit 1 ; } -which $GETOPT >- || { echo missing $GETOPT... >2 ; exit 1 ; } -which $KILL >- || { echo missing $KILL... >2 ; exit 1 ; } -which $SLEEP >- || { echo missing $SLEEP... >2 ; exit 1 ; } -which $CHVT >- || { echo missing $CHVT... >2 ; exit 1 ; } -which $DATE >- || { echo missing $DATE... >2 ; exit 1 ; } -which $SETTERM >- || { echo missing $SETTERM... >2 ; exit 1 ; } +which $PGREP >&- || { echo missing $PGREP... >2 ; exit 1 ; } +which $PS >&- || { echo missing $PS... >2 ; exit 1 ; } +which $GETOPT >&- || { echo missing $GETOPT... >2 ; exit 1 ; } +which $KILL >&- || { echo missing $KILL... >2 ; exit 1 ; } +which $SLEEP >&- || { echo missing $SLEEP... >2 ; exit 1 ; } +which $CHVT >&- || { echo missing $CHVT... >2 ; exit 1 ; } +which $DATE >&- || { echo missing $DATE... >2 ; exit 1 ; } +which $SETTERM >&- || { echo missing $SETTERM... >2 ; exit 1 ; }
In DVB-S and DVB-T LUXE TV HD:11240:v:S13.0E:27500:0:36,37:0:0:13809:0:0:0 VPID is 33
Hallo,
some time ago there was a patch here in this list for H264 but it didnt work for me but maybe my prob is that me receive S13.0E only on my primary Card. (FF dvb-s) If i add this patch VDR didnt del the VPid anymore but when i start an recording VDR restart itself and create only 0 bytes files.
Here the patch again maybe it works for you.
--- vdr-1.4.0/pat.c 2006-03-31 14:39:34.000000000 +0200 +++ vdr-1.4.0.jarada/pat.c 2006-06-18 20:04:34.000000000 +0200 @@ -340,6 +340,8 @@ switch (stream.getStreamType()) { case 1: // STREAMTYPE_11172_VIDEO case 2: // STREAMTYPE_13818_VIDEO + case 0x19: // advanced codec HD digital television service + case 0x1b: //ISO/IEC 14496-10 Video (MPEG-4 part 10/AVC, aka H.264) Vpid = stream.getPid(); break; case 3: // STREAMTYPE_11172_AUDIO @@ -408,7 +410,7 @@ } } break; - //default: printf("PID: %5d %5d %2d %3d %3d\n", pmt.getServiceId(), stream.getPid(), stream.getStreamType(), pmt.getVersionNumber(), Channel->Number());//XXX + default: printf("PID: %5d %5d %2d %3d %3d\n", pmt.getServiceId(), stream.getPid(), stream.getStreamType(), pmt.getVersionNumber(), Channel->Number());//XXX } for (SI::Loop::Iterator it; (d = (SI::CaDescriptor*)stream.streamDescriptors.getNext(it, SI::CaDescriptorTag)); ) { CaDescriptors->AddCaDescriptor(d, true);
regards Mike
dvb schrieb:
In DVB-S and DVB-T LUXE TV HD:11240:v:S13.0E:27500:0:36,37:0:0:13809:0:0:0 VPID is 33
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
No luck with this patch (1.4.1 & 1.4.3) :(
they(tv company) use MPEG2 ID in H.264 stream PID found: 512 (0x0200) [PES: ITU-T Rec. H.262 | ISO/IEC 13818-2 or ISO/IEC 11172-2 video stream]
Oct 20 18:40:00 testbox vdr: [17789] transfer thread ended (pid=17201, tid=17789) Oct 20 18:40:00 testbox vdr: [17201] buffer stats: 68244 (3%) used Oct 20 18:40:00 testbox vdr: [17201] switching device 1 to channel 28 Oct 20 18:40:00 testbox vdr: [17201] timer 19 (28 1840-1842 'test264') start Oct 20 18:40:00 testbox vdr: [17201] waiting for EPG info... Oct 20 18:40:04 testbox vdr: [17201] no EPG info available Oct 20 18:40:04 testbox vdr: [17201] executing '/usr/share/vdr/bin/vdrrecord-gate.sh before "/data/vdr/video/test264/2006-10-20.18.40.99.99.rec"' Oct 20 18:40:04 testbox vdr: [17201] record /data/vdr/video/test264/2006-10-20.18.40.99.99.rec Oct 20 18:40:04 testbox vdr: [17201] creating directory /data/vdr/video/test264 Oct 20 18:40:04 testbox vdr: [17201] creating directory /data/vdr/video/test264/2006-10-20.18.40.99.99.rec Oct 20 18:40:08 testbox vdr: [17201] recording to '/data/vdr/video/test264/2006-10-20.18.40.99.99.rec/001.vdr' Oct 20 18:40:08 testbox vdr: [17881] file writer thread started (pid=17201, tid=17881) Oct 20 18:40:08 testbox vdr: [17882] recording thread started (pid=17201, tid=17882) Oct 20 18:40:09 testbox vdr: [17201] switching to channel 11 Oct 20 18:40:09 testbox vdr: [17201] info: Channel not available! Oct 20 18:40:11 testbox vdr: [17201] switching to channel 28 Oct 20 18:40:11 testbox vdr: [17201] buffer stats: 0 (0%) used Oct 20 18:40:11 testbox vdr: [17201] max. latency time 10 seconds Oct 20 18:40:11 testbox vdr: [17888] transfer thread started (pid=17201, tid=17888) Oct 20 18:40:39 testbox vdr: [17881] ERROR: video data stream broken Oct 20 18:40:39 testbox vdr: [17881] initiating emergency exit Oct 20 18:40:39 testbox vdr: [17201] emergency exit requested - shutting down ... Oct 20 18:40:39 testbox vdr: [17882] recording thread ended (pid=17201, tid=17882) Oct 20 18:40:39 testbox vdr: [17881] file writer thread ended (pid=17201, tid=17881) Oct 20 18:40:39 testbox vdr: [17201] buffer stats: 40608 (0%) used Oct 20 18:40:39 testbox vdr: [17201] timer 19 (28 1840-1842 'test264') stop Oct 20 18:40:39 testbox vdr: [17201] executing '/usr/share/vdr/bin/vdrrecord-gate.sh after "/data/vdr/video/test264/2006-10-20.18.40.99.99.rec"' Oct 20 18:40:39 testbox vdr: [17888] transfer thread ended (pid=17201, tid=17888) Oct 20 18:40:39 testbox vdr: [17201] buffer stats: 61664 (2%) used
... Oct 20 18:40:40 testbox vdr: [17201] exiting Oct 20 18:40:40 testbox vdr: [17201] emergency exit! Oct 20 18:40:40 testbox vdr: [17228] Netwatcher thread ended (pid=17201, tid=17228)
----- Original Message ----- From: "Michael Müllner" mi.muellner@chello.at To: "VDR Mailing List" vdr@linuxtv.org Sent: Thursday, October 19, 2006 8:48 PM Subject: Re: [vdr] How to record H.264 stream in VDR?
Hallo,
some time ago there was a patch here in this list for H264 but it didnt work for me but maybe my prob is that me receive S13.0E only on my primary Card. (FF dvb-s) If i add this patch VDR didnt del the VPid anymore but when i start an recording VDR restart itself and create only 0 bytes files.
Here the patch again maybe it works for you.
--- vdr-1.4.0/pat.c 2006-03-31 14:39:34.000000000 +0200 +++ vdr-1.4.0.jarada/pat.c 2006-06-18 20:04:34.000000000 +0200 @@ -340,6 +340,8 @@ switch (stream.getStreamType()) { case 1: // STREAMTYPE_11172_VIDEO case 2: // STREAMTYPE_13818_VIDEO
case 0x19: // advanced codec HD digital television service
case 0x1b: //ISO/IEC 14496-10 Video (MPEG-4 part 10/AVC, aka H.264) Vpid = stream.getPid(); break; case 3: // STREAMTYPE_11172_AUDIO
@@ -408,7 +410,7 @@ } } break;
//default: printf("PID: %5d %5d %2d %3d %3d\n", pmt.getServiceId(),
stream.getPid(), stream.getStreamType(), pmt.getVersionNumber(), Channel->Number());//XXX
default: printf("PID: %5d %5d %2d %3d %3d\n", pmt.getServiceId(), stream.getPid(),
stream.getStreamType(), pmt.getVersionNumber(), Channel->Number());//XXX } for (SI::Loop::Iterator it; (d = (SI::CaDescriptor*)stream.streamDescriptors.getNext(it, SI::CaDescriptorTag)); ) { CaDescriptors->AddCaDescriptor(d, true);
regards Mike
dvb schrieb:
In DVB-S and DVB-T LUXE TV HD:11240:v:S13.0E:27500:0:36,37:0:0:13809:0:0:0 VPID is 33
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
vdr mailing list vdr@linuxtv.org http://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr
Hi,
dvb wrote:
No luck with this patch (1.4.1 & 1.4.3) :(
they(tv company) use MPEG2 ID in H.264 stream PID found: 512 (0x0200) [PES: ITU-T Rec. H.262 | ISO/IEC 13818-2 or ISO/IEC 11172-2 video stream]
Oct 20 18:40:09 testbox vdr: [17201] switching to channel 11 Oct 20 18:40:39 testbox vdr: [17881] ERROR: video data stream broken
Just an idea: maybe you should disable cVideoRepacker. See remux.c #define TEST_cVideoRepacker.
cVideoRepacker can currently only parse MPEG1 and MPEG2 video streams.
Bye.