Re: Making VDR run under Systemd

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi all, hi Marko!

Am 12.09.21 um 11:46 schrieb Marko Mäkelä:
I was an active VDR user from about 2004 to 2010

Yes good times! :-)

Actually I still use the VDR excatly for the same reasons: to record
shows for my kids.

If my Raspberry Pi were not an "always-on server" that runs some other
services as well, I might want to reimplement the "wake-on-RCU" hardware
that is generating a wake-on-LAN signal via the Nova-T PCI card,
possibly by extending
https://spellfoundry.com/product/sleepy-pi-2-usb-c/ or a similar product
that would implement a wake-on-timer for the Raspberry Pi. Then, the
system would power up nicely either by RCU or by a recording timer.
Integrating the wake-on-timer logic with Systemd could be another
challenge. I might try this on PC hardware, which already supports
wake-on-timer out of the box. A quick search turned up a promising
starting point:
https://www.freedesktop.org/software/systemd/man/systemd.timer.html

The motivation of this exercise is to have a stand-alone VDR front/back
end installation that plays nicely with Systemd, without reinventing any
logic around scheduling, startup, and shutdown.

I currently don't use systemd, but I have a similar use case for my
server. I agree that a solution with systemd would be nicer, but a few
years back, I didn't get systemd to work with vdr the way I liked.

So I've created a python script which starts vdr, and if vdr stops it
captures the next time vdr requests to be run. Then it kills vdr,
unloads the dvb drivers (which also switches of the LNBs) and opens all
the network ports vdr is using.

A second script runs every 5 minutes or so and checks if vdr is running,
a user is logged in, or some other services have been recently used.
If not it suspends the server and sets the wake-up time to vdr requested
time. So the server wakes up ahead of a recording.

The python script checks if the start time requested by vdr is close,
and starts vdr a few minutes before the requested time.

If I need the server or vdr I just send a wol packet. When I access the
vdr and the python script is running instead of the vdr, the python
script closes all network ports, loads the dvb drivers and starts the vdr.
This even worked very nicely with kodi, but I stopped using kodi, I
don't like the user interface. Now I use vdr-xineliboutput. I have to
start vdr-xineliboutput several times until the vdr is started, but I
don't mind :-).

Using this setup I can use the server for many more services, and don't
waste power when I don't need the vdr.

This was partly inspired by systemd, but I think it is still not
possible to implement this with systemd.

I can share the scripts if you like to modify them for your needs.


Regards,

Martin

_______________________________________________
vdr mailing list
vdr@xxxxxxxxxxx
https://www.linuxtv.org/cgi-bin/mailman/listinfo/vdr




[Index of Archives]     [Linux Media]     [Asterisk]     [DCCP]     [Netdev]     [Xorg]     [Util Linux NG]     [Xfree86]     [Big List of Linux Books]     [Fedora Users]     [Fedora Women]     [ALSA Devel]     [Linux USB]

  Powered by Linux