Tvheadend on multiple servers
|Assignee:||Hein Rigolo||% Done:|
Firstly, it may help if I describe my current DVB setup. I have PCs located in Barcelona and London, each containing DVB-T tuners. Both sites also have DVB-S cards. In Spain I have LNBs pointing to Astra 28E and 19E and in the UK I have Astra 28E and Hotbird 13E.
In Spain, I have a 14Mbit/s download, 1Mbit/s upload ADSL connection, and in London I have a 76Mbits/s download, 18Mbits/s upload FTTC connection. This means I can stream live TV from the UK to Spain (including most HD), but I can't stream in the other direction in realtime.
What I would like to do is to install tvheadend in both locations and have a client (running on the Raspberry Pi) in each location. From the client's point of view, I would want to present a unified interface to both servers. Some features that I think would be possible to implement are:
1) Present a unified channel list for live viewing in the client. In my case, UK channels (DVB-T and Hotbird) will be available for live streaming to Spain, but not the other way around.
2) Present a unified list of available recordings. If recordings are located in Spain and the client is in the UK, then give the option to start a transfer to the UK.
3) Allow the UK client to schedule recordings in Spain, which are then transferred in non real-time to the UK.
4) Where services are available to both the UK and Spain (i.e. Astra 28E), perform redundant recordings in both locations in case of recording failure/error in one site.
(I am sure there are more things this kind of setup will make possible...)
Things are in fact a bit more complex than this, as I have two servers in each location... This gives the option of distributing recordings and live streaming across the servers within a single location (dependent on available tuners and disk space).
I haven't given much thought to the technicalities of all this yet, but have mentioned the idea in IRC and the idea of Tvheadend instances communicating between themselves using HTSP has been suggested.
I've opened this task in the hope that it will start a technical discussion on how we can implement this.
#1 Updated by Djuri Baars 9 months ago
I am in a comparable situation, luckily I have in both locations 100 mbit FTTH, so the streaming is not a problem.
I have been using the XBMC-PVR media center system which allows multiple TV backends like TVHeadend, MythTV, VDR, ...
Unfortunately this does not yet allow multiple servers of the same backend-type. if this would be implemented then we have a nice solution for our problem, at least for XBMC-PVR. Since it is open-source it could be easily adapted for some standalone solution if desired.
To keep TVHeadend lightweight I think front-ends are the most appropriate place to implement this kind of functionality.
#2 Updated by Dave Chapman 9 months ago
Yes, I've been thinking about this since I opened this issue, and am coming to the same conclusion - that most of this can be done by the client. Although when I discussed it in IRC, people seemed open to the idea of tvh instances communicating between themselves.
Your situation is easier, as your bandwidth means you can just treat local and remote servers the same. Something that may be better implemented inside tvh is the "remote recording" - where a recording is made on a remote server and then transferred slower than real time afterwards.
But this is related to another feature I want to see in tvh - importing of external recordings. If I do that, then I could script this transfer without changing anything inside tvh.
I'll see how things develop...