Project

General

Profile

Newb architecture question

Added by Jeff Barth about 8 years ago

I have built a PVR using RaspPi 3 and OSMC/Kodi, TVHeadend, and a Hauppauge USB Tuner. Both backend and frontend are running on the same RaspPi. It all works fairly well, but still I have a question about "how it works". With so many disparate parts, I don't know where to start. Please forgive me if this is out of place here.

So here's my stupid question: Say I'm watching a TV program via my PVR, with no recording going on, and just turn off the TV. Ideally I would hope Kodi detects that and closes whatever channels it has open to TVHeadend, which in turn stops talking to the USB tuner. But does that really happen? Is there a driver that continues to process a data stream from the USB tuner, and if so, how far into the system does that go?

In other words, this is a loading question. Is the available USB bandwidth on the RaspPi being partially used by TVHeadEnd? In the Confluence Skin of Kodi, I can click the 'stop' icon before turning off the TV, and the tv program stops being displayed and then I see the Kodi home page. Does that change whether USB Tuner data is being processed in the above scenario?

Thanks for your patience with this Newb!


Replies (2)

RE: Newb architecture question - Added by Robert Cameron about 8 years ago

The system works like this:

USB Tuner -> Tvheadend -> pvr.hts (Tvheadend HTSP PVR Client) -> Kodi

So, when you want to watch a live feed, this is what happens:
  1. You tell Kodi to tune a channel
  2. Kodi tells pvr.hts to get the stream of the channel
  3. pvr.hts requests the stream from Tvheadend
  4. Tvheadend opens the stream on the USB Tuner, and feeds that out to pvr.hts

If you just turn off the TV (while leaving the TV streaming in Kodi), Kodi will continue to receive the stream from Tvheadend. However, when you press Stop, Kodi sends the message (via pvr.hts) to Tvheadend that it can stop streaming and close its connection to the USB Tuner. If you don't press Stop, Tvheadend will continue to stream from the USB Tuner. (And, if you have set up a timeshift buffer, Tvheadend will continue to fill that timeshift buffer as well. However, if you press Stop, Tvheadend will be able to free the timeshift buffer and free up the disk and/or memory it was using for the buffer.)

RE: Newb architecture question - Added by Jeff Barth about 8 years ago

Thanks for the well-written, concise explanation!

    (1-2/2)