[mythtv] Use a TiVo Series 3 as a tuner?

Andy Poling andy at realbig.com
Thu Dec 21 05:54:27 UTC 2006


On Wed, 20 Dec 2006, Marco Nelissen wrote:
>> Nate Carlson wrote:
>>> Just curious.. since the TiVo Series 3 has full cablecard support and
>>> such, has anyone thought about writing a input module to use it as a
>>> tuner?
>>>
>> I picked up a Series 3 last week.
>>
>> Quick probing - I found the MPEG2 data stream for OTA/QAM (pre
>> cable-card) - it is in a form that could be fed into a modified
>> HDHomeRun board.
>
> The information in dvrupgrade.com seems to indicate that the standard
> upgrade/hack software already available will also work on a Series 3,
> meaning it's possible to run custom software on the Series 3. Wouldn't
> it then be possible to do a pure software solution, e.g. something that
> grabs the stream from tivo's ringbuffer and sends it over the network
> to a mythtv backend?

It was possible on a series 1 box - in fact I wrote such a thing (by hacking
on Tridge's vserver and vplay) back in 2004 in hopes I could use some series
1's I had sitting around as networked tuners by just running them in live tv
mode all the time, and telling them when to change channels.

It's a serious PITA though.  It took me a long time to reverse engineer how
the ring buffer is stored in live tv mode.  In particular, alot of the mfs
structures and chunk headers are not used in the ring buffer storage, making
it even tougher.  The toughest part is figuring out where the writer is in the
ring buffer (presumably the myworld app's threads share this information in
memory).  In essence, I had to resort to looking for changing data in the ring
buffer chunks - that was the only reliable indicator of where the writer was
in the ring buffer.  It sounds hack-ish because it is... :-)

That said, I did produce something that could basically reliably follow along
right behind the ringbuffer writer, and feed that to a remote networked
system.  Add in some ability to send tuning commands, and I suppose you'd be
there.  I got discouraged with the quality of the mpeg encoding on the Series
1 (I was playing with HDTV at the same time), and decided it wasn't worth
pursuing.  It was also _all_ the slow cpu on a series 1 tivo could do to keep
up with feeding this live stream.

If anyone's interested, I can dig up and share what I had when I left off.
It's not ready for prime time, but (as I recall) it's basically functional,
and might give you some ideas.  It implements a TCP server that runs on a
linux box and, when you connect to it, it connects to a vserver running on the
tivo (for access to the mfs, etc) and streams the live mpeg data.

If nothing else, I suppose it somewhat crudely documents what I was able to
reverse-engineer about the livetv buffer while I was working on it...

-Andy


More information about the mythtv-dev mailing list