[mythtv] virtual tuner via BitTorrent plug-in

Tom Metro tmetro+mythtv-dev at gmail.com
Fri Apr 13 17:52:47 UTC 2007


Has anyone considered the idea of creating a virtual TV tuner using some 
sort of BitTorrent plug-in?

The plug-in would serve two functions:

On the publishing side it would take shows you've recorded, or some 
designated subset of them, and publish them via BitTorrent.

On the subscribe side, it would appear as a virtual tuner to MythTV, be 
assigned the lowest priority of your tuners, and able to record any 
non-premium channel shown in your listings.


Some of the challenges I see in doing this:

On the publishing side: BitTorrent is designed to work with one 
identical file that has pieces distributed across many servers. In this 
case there might be thousands of MythTV users all recording and 
publishing the same file, yet each would be slightly different and their 
pieces not interchangeable.

One solution might be having an automated process where the source 
(seed) for a given program is chosen at random, with some "reputation" 
stats stored in a database somewhere, such that high-quality publishers 
with fast upload times are favored, while also making sure to distribute 
which servers act as seeds so no single server is over burdened. From 
that point onward, it would follow the normal BitTorrent model of 
distribution.

On the subscribe side: there would be no guarantee that the show you 
want will actually become available, as it won't get published until 
after the show airs. (I guess people on the West Coast would have some 
advantage there, if torrent availability information was rolled-in to 
the TV listings UI.) But that's why you give the virtual tuner the 
lowest priority. Might get recorded is still better than definitely 
won't get recorded.

The quality of the recordings might vary greatly. The above mentioned 
feedback mechanism should eventually lead to the better quality 
publishers being favored.

Shows being "recorded" (downloaded) via this virtual tuner might take 
days to record. That'll be inconvenient, but again, for low priority 
shows, it's still an improvement over not getting recorded.

Then of course there are the legal issues. Limiting what you can publish 
to shown from commercially supported channels and making them available 
for a limited duration, and what you can receive to channels on your 
existing listings, might be enough to stay under the radar, even though 
these are easily defeated. Similarly, although it would be nice to chop 
out the commercials, leaving them in might be safer.

The "reputation" database might also prove to be a liability if it ends 
up being a database of IP addresses of those publishing content. Some 
thought would need to go into the design to avoid that. (Ideally, you 
want that database or seed picking mechanism to be distributed anyway, 
to avoid a single point of failure.)

One alternative is to forget the idea of a feedback system, and just 
have the seed picker examine the video for measurable characteristics, 
like the encoding scheme, bitrate, resolution, etc. and it simply picks 
the first seed offered that meets the minimum criteria. Using this 
scheme I could see supporting multiple virtual tuners, each with its own 
  characteristics. So you might set up an HD one, with a lower priority 
SD one as a fallback. Or a user of mvpmc that natively only handles 
MPEG2 might set up a virtual tuner that only accepts that format 
content. (There would have to be a limited set of options, as each would 
need a seed picker.)


Any existing projects that touch on these ideas?

  -Tom

-- 
Tom Metro
Venture Logic, Newton, MA, USA
"Enterprise solutions through open source."
Professional Profile: http://tmetro.venturelogic.com/


More information about the mythtv-dev mailing list