VDR plugin Permashift – English

This is the (shortened) English version of the German homepage for the VDR plugin Permashift, implementing permanent timeshift. I wrote it because I saw that the German version sometimes is accessed via Google translate and that these translations are even worse than I expected.

Permashift realizes a (nearly) permanent timeshift for VDR by recording live TV on hard disk, so the user can rewind in live TV or create an instant recording containing the part already been watched.

The current version is 0.5.3. In comparison with the predecessor, it solves troubles with shutdown due to inactivity or forced with the power butrton

Use at your own risk

Permashift will record lots of video. Everything you’re watching live plus some hours when you don’t watch anymore but didn’t turn of VDR. It will also delete recordings automatically, but to the best of my knowledge only its own recordings. I do confide my own recrdings to Permashift.


The plugin needs a patch to VDR main code. The following patch has been built against VDR 2.0.2. Due to the flexible patch algorithm, it should apply to other versions as well.

VDR patch
VDR patch

Permashift doesn’t need any user attention to work.The only thing you might notice is an additional recording in the main menu. In the options you can set the maximum time of a permashift recording (between 1 and 23 hours) and you can disable the plugin. Permashift has been translated to English and German.

When you press pause while watching live TV, VDR reuses a recording started by the plugin. Then you can press play again, followed by rewind in order to go back to watched stuff.

When you are starting an instant recording and VDR finds a recording from Permashift, the already watched programme will be included in your recording as well. It will be extended to the usual lenght of instant recordings, counted from the time you’re initiating the recording.

Timeshift recordings have a negative priority, so they won’t stand in the way of other recordings or changing the channel. When a recording is used for pause or as an instant recording, responsibility for it is passed to VDR. It depends on VDR settings (Recording => Delete timeshift recording) if it is deleted after use.


Now here is the plugin. It has to be compiled by the user at the moment. Since version 0.5.2, it is using the new Makefile system introduced with VDR 1.7.34. A copy of the old Makefile is included.

Output at recordings

If VDR does an OSD output for a recording start and stop, it will do so twice for every channel switch with Permashift, so you should probably disable such functionality. Gen2VDR and markad (optionally) are known to generate such output.

Scripts at recordings

The output of Gen2VDR is created by the script /etc/vdr.d/scripts/g2v_record.sh. Other VDR systems could use such a hook, too. The parameter in question is  “-r” or “–record”.

Ingo Prochaska, who tested early versions of Permashift, has proposed the following hack for that:

if [ "${PLUGINS/* permashift */}" = "" ] ; then
   if [[ $2 == /video/@* ]] ; then
     exit 0

Of course, this will disable anything the script might be doing for other live recordings as well.


Would you like to see Permashift in your own language? Easy! At the moment, there are only four texts to translate, and you don’t have to touch a “po file” or what ever, just write your translation as a comment at this page or send an e-mail to eike sitting at ein-eike.de.

Here the texts…

* “Automatically record live TV” (Shown in the plugins list.)
* “Enable plugin” (Option 1)
* “Maximum recording length (hours)” (Option 2)
* “Press key to continue permanent timeshift” (Shown at the bottom if shutdown timeout is near.)

Please try to keep your texts similarly short so they fit on the screen even on SDTV.


I do like getting comments. No matter if it worked or not, please let me know. Suggestions are welcome as well.

Hinterlasse eine Antwort

Deine E-Mail-Adresse wird nicht veröffentlicht.

Du kannst folgende HTML-Tags benutzen: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>