Mailing List Archive

Separate Record and Play boxes? (system design)
I know there has been some discussion in the last several weeks about
the possibility of separating the computer that records from the one
that plays the video, and because of the high CPU & disk (and thus heat
and noise) requirements for high-resolution recording, I'm also leaning
in this direction. I just wanted to verify the current status, and make
sure I understand the consequences of trying to do this (or working with
whomever is working on it already).

If I wanted to build a 2-system MythTV system, with the assumption that
the play-box would be a small, relatively slow (compared to the other
system), QUIET system, is it a foregone conclusion that I'd lose the
"Watch Live TV" option? I can live with that, but I want to make sure
the assumption is valid. (I assume I'd lose the upcoming PIP as well.)

Are those of you with working MythTV boxes concerned about how much
noise your MythTV system makes in whatever room your TV is in? How do
you keep your systems quiet enough that you can stand watching TV in the
same room with them without cooking the components due to lack of
cooling, etc? Maybe I'm over-estimating the need to separate the
recorder and player systems.

Anyway, It seems like you'd be able to keep a player system quiet by
running it diskless with a Cyrix CPU of some kind (no fan at all!). If
all the storage is remote, though, you might have to have a separate
"video LAN" to make sure the recorder and player could never have their
network communication interrupted by other traffic.

- Dave
Re: Separate Record and Play boxes? (system design) [ In reply to ]
Hello,

I'm total newbie on mythtv. I'd like to add my 2 cents to this discussion
since I'm thinking about similar solutions. My custom home automation system
is based on two levels. On lower level I have prototype of classic home
automation system (sensors, lights, switches, ...). On upper level I have PC
for multimedia interaction with users (text to speech, IR remotes, web
pages...). All my ideas converge into home PC central server in basement and
light, possibly thin clients (if video is needed) in rooms. Otherwise just
3-4 separate audio channels into main rooms from central PC is enough.

Now to the software problem:
As far as I know there is no complete system to meet all needs in such
configuration (beside $$$$$$ systems like Crestron or similar). So one has
to combine open source solutions. I have currently running Misterhouse for
lower level automation (and also for some basic multimedia support, BTW
great program) and Freevo as glue GUI frontend on TV-out. Misterhouse also
is web server with all kinds of web pages served through house. I'm closely
looking at Mythtv as TV frontend in this system. But then there comes the
problem: all systems are alive and updating frequently - so integrating them
is quite something.

The idea of separate recording is IMHO good. Why would one want to wait at
the tv for live show, when computer can record it and show it later, when we
have time to look ? In digital TV we could have central PC just
demultiplexing channel streams to client computers.

So keeping system really open, skinnable can help a lot in combining
programs to make whole system.

So I'm really happy when mythtv for instance adds web page interface. But
Misterhouse makes them for all other stuff in house. So one must combine.
Maybe in some way it would be better to choose and integrate with existing
projects that are there, maybe even better for specific tasks. But on the
other side, there would be none such projects without individuals who have
ideas and are willing to put a lot of effort into them. So just keep going
with all your good work and we all will try to follow.

Do you also have feeling, that I haven't said anything new? :-)

Regards,

Robert Rozman
Re: Separate Record and Play boxes? (system design) [ In reply to ]
>>>>> mythtv-dev@snowman.net writes:

> If I wanted to build a 2-system MythTV system, with the assumption
> that the play-box would be a small, relatively slow (compared to the
> other system), QUIET system, is it a foregone conclusion that I'd
> lose the "Watch Live TV" option?

Not at all. It's just that the current code won't do it.

There's no reason the mythtv player couldn't be configured to control
the tuner/encoder and play from the ringbuffer file all over the
network.

Mind you, there is no mythtv player. It should be(tm) a pretty
trivial wrapper around some of the existing classes, but nobody's done
it yet. There is a standalone mythtv "live tv" watcher, but it needs
splitting in two.

> Are those of you with working MythTV boxes concerned about how much
> noise your MythTV system makes in whatever room your TV is in?

No. I intentionally bought lots of fans and nonquiet parts for budget
and expansion reasons, and use an rf modulator to let the server be in
the basement and the TV upstairs.

Apparently you do much the same. Your notch filter tip is
interesting; I'd just concluded that the rf modulator was either "on"
or "off with passthru" instead of being an "inserting" modulator.

> Maybe I'm over-estimating the need to separate the recorder and
> player systems.

It's by no means essential from a technical standpoint, although it
gets difficult to support multiple televisions on a single PC. I'll
probably branch out into a more distributed affair when I add another
TV or two.

> Anyway, It seems like you'd be able to keep a player system quiet by
> running it diskless with a Cyrix CPU of some kind (no fan at all!).

Yes, those little shuttle toaster-size PCs are fairly quiet and should
make nice players.

> If all the storage is remote, though, you might have to have a
> separate "video LAN" to make sure the recorder and player could
> never have their network communication interrupted by other traffic.

I dunno if NFS will be workable for this. It may add enough jitter
that some sort of additional buffering logic will be needed in the
player.

--
Grant Taylor - gtaylor<at>picante.com - http://www.picante.com/~gtaylor/
Linux Printing Website and HOWTO: http://www.linuxprinting.org/
Re: Separate Record and Play boxes? (system design) [ In reply to ]
>
>
>I dunno if NFS will be workable for this. It may add enough jitter
>that some sort of additional buffering logic will be needed in the
>player.
>
I'm currently using NFS to store all of my movies, and playing them back
(with mplayer) without any sort of problems.

My setup is 100Mb, but I wouldn't want to try anything slower, though.

I routinely set the cache in mplayer to 4096KB, just to be on the safe
side, but even if I forget to do this, there is not jitter apparent in
the output.

BTW the machine that's playing the movies uses PXE (network) booting and
has no hard drives in it at all, uses NFS for it's root filesystem as well.
I think there's enough horsepower in NFS to do what you want.

Steve
Re: Separate Record and Play boxes? (system design) [ In reply to ]
>>>>> mythtv-dev@snowman.net writes:

>> I dunno if NFS will be workable for this. It may add enough jitter
>> that some sort of additional buffering logic will be needed in the
>> player.

> I'm currently using NFS to store all of my movies, and playing them back
> (with mplayer) without any sort of problems.

> I routinely set the cache in mplayer to 4096KB, just to be on the safe
> side, but even if I forget to do this, there is not jitter apparent in
> the output.

Well, this is interesting. DVD rate is circa 1.5Mbps, IIRC; rtjpeg
tends to produce more data. But I bet it still fits, certainly so if
mpeg4 is used.

What I wonder about is this buffering - mythtv uses a "ringbuffer"
structure which doesn't appear to implement very much buffering. And
the primary difference between my system (which jitters excessively)
and Isaac's (which generally doesn't jitter) appears to be disk speed
(5400 vs 7200) and some marginal memory settings on his part. This
suggests that mythtv may be more susceptible to filesystem
irregularity than mplayer (which works fine for me every which way,
too).

Issac, could you describe how the coder and decoder threads interact
with the files? It appears that they coordinate through the
RingBuffer class, but that the file reads and writes actually happen
in the coder/decoder threads themselves?

--
Grant Taylor - gtaylor@picante.com - http://www.picante.com/~gtaylor/
Linux Printing Website and HOWTO: http://www.linuxprinting.org/
Re: Separate Record and Play boxes? (system design) [ In reply to ]
On Thursday 19 September 2002 11:13 am, Grant Taylor wrote:
> Well, this is interesting. DVD rate is circa 1.5Mbps, IIRC; rtjpeg
> tends to produce more data. But I bet it still fits, certainly so if
> mpeg4 is used.
>
> What I wonder about is this buffering - mythtv uses a "ringbuffer"
> structure which doesn't appear to implement very much buffering. And
> the primary difference between my system (which jitters excessively)
> and Isaac's (which generally doesn't jitter) appears to be disk speed
> (5400 vs 7200) and some marginal memory settings on his part. This
> suggests that mythtv may be more susceptible to filesystem
> irregularity than mplayer (which works fine for me every which way,
> too).
>
> Issac, could you describe how the coder and decoder threads interact
> with the files? It appears that they coordinate through the
> RingBuffer class, but that the file reads and writes actually happen
> in the coder/decoder threads themselves?

Well, the RingBuffer is basically just a wrapper around all the read/write
calls in the recorder and player. It's not meant to do any sort of
buffering, though it certainly could be made to.

Can you change line 1167 of NuppelVideoPlayer.cpp to something like:

usepre = 8;

and see if that does anything? It'll prebuffer more that way, and that might
help a little.

Isaac