[mythtv] Interesting Comparison
mythtv at zacglen.com.au
mythtv at zacglen.com.au
Fri Mar 3 08:44:22 UTC 2006
I have just completed my web-based equivalent of MythTV.
The only things missing at this stage are all the extras (which
I can hardly see myself using since I have a computer) like phone,
browser, etc.
It is interesting to make a comparison.
MythTV has about 112,792 lines of code.
My implementation has about 1731 lines of Perl.
Additionally, my implementation has the following features:
- the only interface is via browser (which I didn't have to write)
- there is no database, only plain text files
- there is no XML
- it is fast
- it is highly configurable with all configuration in plain files
- the recording format can be whatever anyone chooses
Some of the implementation details which have helped keep it simple are:
- Hardware contention is only resolved at record time.
I use a simple lockfile containing pid and priority.
When a conflict occurs a lower priority job can preempt running job.
Or a higher priority job will lock out a lower priority job, but
it will still possibly run for a reduced duration.
At scheduling time there is absolutely no possibility of conflict.
- Instead of XML the program guide information is in simple
column-delimited format, with first line being the column definitions.
Times are in UTC. That is all that is needed.
- All configuration data is simple "name = value" expressions.
But to allow 1:n relationships I simply look for plural names.
So that "guides = fta-%Y%m%d other-%Y%m%d", for example,
generates a Perl array.
Wont work for foreign languages but I reckon it would have
been simpler for the whole world to convert to English rather
that have every programmer die in agony anyhow.
I intend to add a few more features, mainly with respect to the automated
recording selection plus some alternate tv guide sources.
KISS to all you MythTV developers.
More information about the mythtv-dev
mailing list