[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