Author |
Message |
ac
|
Posted: Fri Dec 29, 2006 3:45 pm |
|
Joined: Fri Dec 29, 2006 3:05 pm
Posts: 7
|
Is there some way to disable the ringbuffer or cache for plain old live TV viewing? On a less powerful computer it's not useful, rather it degrades live TV performance.
|
|
Top |
|
 |
tjc
|
Posted: Fri Dec 29, 2006 5:24 pm |
|
Joined: Thu Mar 25, 2004 11:00 am
Posts: 9551
Location:
Arlington, MA
|
No. With MythTV you're always watching a recording, even with "live" TV. It's how all those little extras like pausing and rewinding work.
There are applications like xawtv which will let you watch what is coming directly from the capture card, but at that point you might as well cut the PC out of the loop and just watch it on a TV.
|
|
Top |
|
 |
ac
|
Posted: Sat Dec 30, 2006 12:24 am |
|
Joined: Fri Dec 29, 2006 3:05 pm
Posts: 7
|
I've used xawtv and tvtime, but mythtv has several interesting and useful features those more specialized programs lack, (features that are useful on older machines), plus the slick frontend binds everything together. Some features that aren't CPU intensive: the media organizers, the tabular TVguide thing, fetching the news and weather from the network, telephony...
It seems like the majority of Mythtv's features are useful for old machines. It's a question of whether Mythtv is intended as a media convergence tool that ties things together where feasible, or a deluxe PVR with extra whistles and bells. Yet Mythtv works as a PVR on an old box too, single-tasking, which is better than nothing, but for TV viewing it's the ringbuffer that's the bottleneck.
Maybe I should look at the source code, might be just a minor hack to disable the ringbuffer.
On comparing a PC TV proggie to an old TV... the big difference is the hardware specifications -- even a cheap VGA monitor gives a better picture than all low-end TVs, (or older high-end TVs), with a nice software deinterlacer there's no comparison. Even with a new machine, live TV looks better than a lossy-compression recording.
|
|
Top |
|
 |
ethernut
|
Posted: Sat Dec 30, 2006 12:42 am |
|
Joined: Mon Nov 28, 2005 9:05 pm
Posts: 200
|
Quote: Maybe I should look at the source code, might be just a minor hack to disable the ringbuffer.
Or, you could buy yourself a 5 Dollar 10Gig hard drive on ebay, accept the fact that the ringbuffer exists, enjoy the niceness that is myth and do something more useful with your time.
There are people on here that that have myth running without modifcation on some extremely low power hardware.
Personally I have a front end running on an old xbox. It cost me 89 bucks at the pawn shop, has simple plug in infrared remote capabilty and will hook to any TV or Computer Monitor with the right cable. Works great as a frontend.
_________________ Knoppmyth 7.02 Kernel 2.6.39-LINHES
[MBE] SilverStone LC-10 HTPC Case, Asus M2NPV-VM, AMD X2 4200+, 1G RAM, Nvidia 9500 PCIe, PVR500 and a HD-PVR - Rockin VDPAU
|
|
Top |
|
 |
tjc
|
Posted: Sat Dec 30, 2006 1:23 am |
|
Joined: Thu Mar 25, 2004 11:00 am
Posts: 9551
Location:
Arlington, MA
|
ac wrote: Maybe I should look at the source code, might be just a minor hack to disable the ringbuffer.
Sorry, but this is wired in very deeply in modern versions of MythTV (say 0.19-fixes onwards). The "ring buffer" of days past is _gone_. Everyting uses the same common, uniform recording mechanisms, be it for a scheduled recording or for live TV. You're trying to swim up Niagra Falls here.
|
|
Top |
|
 |
ac
|
Posted: Sat Dec 30, 2006 3:01 am |
|
Joined: Fri Dec 29, 2006 3:05 pm
Posts: 7
|
Beware! Zealous advocacy of sweetness and light follows, but first thanks for the helpful tip about the 10G HD. As a habitual hardware scavenger I have a pile of extra HDs of at least that size any of which should do the trick, including one from an old Tivo.
From the end of chapter 1, page 34 of Charles Petzold's 850 page first edition of 'Programming Windows', 1988 Microsoft Press:
Quote: What you have to ask yourself is this: Do I want my programs to use a more modern and productive user interface, one that includes menus, dialog boxes, scroll bars and graphics? If you answer yes, then the question becomes: Do I want to write all this menu, dialog box, scroll bar and graphics code myself? Or would I rather take advantage of all the code already inside Windows for creating these elements? In other words, is it easier to learn how to use 450 functions calls or to write them yourself?
If you're going to write your own user interface logic, you had better close this book and get to work right away. Meanwhile the rest of us are going to learn how to make a window.
In hindsight it's wonderful how Petzold didn't forsee that thousands of programmers preferred to write it themselves and share.
Hacking software may take longer than buying stuff, but by extending that logic one might argue that Mythtv'ers should just buy and subscribe to whatever high end goodness Tivo, et al, are selling. Pay them to do the work.
Free software allows people who enjoy hacking to share what we discover; thus what works for my low end system can benefit people. Most of the planet is poor. Sure it might not benefit everyone, like high end system users, early adopters, etc. Then again adding more low end users of old boxes might indirectly be good for all of us. Increased mindshare, "many hands make light work", etc.
|
|
Top |
|
 |
ethernut
|
Posted: Sat Dec 30, 2006 3:15 am |
|
Joined: Mon Nov 28, 2005 9:05 pm
Posts: 200
|
Very nicely put and by all means.
I have to say that my MythTV is one of my most favorite/useful things I own and fun has heck to mess with. Ofcourse there have been times when I've been ready to kick the living sh!! out of it and wanted buy a Tivo (I used to own a ReplayTV). After several two week long red-eyed, hair pulling, expletive laden fix-it-athons (over the years), I've kind of gotten over all of the hackery goodness of it (for the most part) and just want it to work so I can enjoy it, thus my logic here.
I appreciate your well crafted response, heck, I respect it.
Just trying to make your life a bit easier so you can enjoy more of it. You only get one.
The Ether..
_________________ Knoppmyth 7.02 Kernel 2.6.39-LINHES
[MBE] SilverStone LC-10 HTPC Case, Asus M2NPV-VM, AMD X2 4200+, 1G RAM, Nvidia 9500 PCIe, PVR500 and a HD-PVR - Rockin VDPAU
|
|
Top |
|
 |
ac
|
Posted: Sat Dec 30, 2006 4:58 am |
|
Joined: Fri Dec 29, 2006 3:05 pm
Posts: 7
|
Thanks very much for all the nice replies folks. I worry this next bit might be abusing the local hospitality further than it can stretch, but...
Tech question as to how the cache works. Abbreviations:
T=tvcard
D=deinterlacer
M=compressor/decompressor
C=cache, formerly ringbuffer
R=user recorded tv file
S=screen
>=an arrow, pointing to next item
Now something like 'xawtv' or 'tvtime' works like so:
T > D > S
And a straight to disk PVR might work like:
T > M > R
...and a video file player (say 'xine') would work like:
R > M > S
Now in 'mythtv' showing live TV this much is clear:
T > .... > S
...but does it work in series:
T > M > C > M > D > S
...or parallel:
T > M > C
T > D > S
Reason being that 'in series' would be harder to hack.
|
|
Top |
|
 |
mad_paddler
|
Posted: Sat Dec 30, 2006 6:02 am |
|
Joined: Sun Jun 12, 2005 2:39 pm
Posts: 464
Location:
UK
|
What spec is the PC you're using for this?
I think watching live tv works more like this:
mythbackend
T > C
mythfrontend
C > M > D > S
|
|
Top |
|
 |
tjc
|
Posted: Sat Dec 30, 2006 12:11 pm |
|
Joined: Thu Mar 25, 2004 11:00 am
Posts: 9551
Location:
Arlington, MA
|
Far be it for me to discourage anyone from working on an interesting and difficult project, however, as a very expereience software/systems guy I think it's perfectly reasonable for me to tell someone that IMO they're underestimating the difficulties involved and overestimating the value to be gained.
The path for all recordings in MythTV looks more or less like this (this is actually simplifed):
wire -> capture card tuner -> encoder (PVR cards only) -> driver -> stream buffer -> encoder (YUV software encoder cards only) -> disk buffer -> disk
This allows playback to be quite seperate and look uniformly like this:
disk -> disk buffer -> stream buffer -> decoder -> video driver -> display
What you're talking about is essentially trying to cut out everything between (and including) the two disk buffers. What you're not seeing is that all the controls and other decorations that don't appear in a bulk data flow diagram like this, but which are far more complex, are set up for the other layout. Starting or stopping a recording is phrased as a request to the backend to manage the first process. Playback uses the fact that it has a recording that you can seek around in, get information from the DB about, and so on.
If you want a lightweight way to watch TV, you're really talking about something like xawtv. Given the rapidly falling prices and rapidly increasing capabilities of hardware, demand for something to fill the gap between the two is vanishingly small. If you're still hot to trot I'd recommend coming at this from the other end. Start with something like Xawtv and try to produce a MythTV plugin which does what you want, but don't be surprised if Isaac tells you something very much like what I just did.
|
|
Top |
|
 |
Dale
|
Posted: Sat Dec 30, 2006 1:05 pm |
|
 |
Site Admin |
Joined: Fri Oct 31, 2003 11:40 pm
Posts: 357
Location:
Irvine, Ca
|
|
Top |
|
 |
ac
|
Posted: Sun Dec 31, 2006 6:23 pm |
|
Joined: Fri Dec 29, 2006 3:05 pm
Posts: 7
|
Thanks for the replies, especially the educational tjc. Minor irony though, as the replies are more 'con' than 'pro', or 'what is' to 'what if', but imply another 'pro' benefit...
The general consensus seems to be that, in Mythtv, live TV works in series, so compression, storage, and decompression precede live viewing. Therefore with live tv, we watch part of a stored file, not a direct tv device output.
If that's correct, then Mythtv, when inputting ordinary broadcast NTSC data from an analog tv card without built-in compression, would necessarily produce a lossier** picture than, say 'tvtime' or 'xawtv' which have no compression algorithms. So comparing just "high fidelity", Mythtv shows less detailed pictures for off air live NTSC antenna-type viewing.
(**using a lossy codec... lossless codecs might be feasible in the future as storage size and speed get cheaper.)
Of course for users of devices that compress the data in hardware before sending it to software, there wouldn't be any difference. Nor would satelite or digital cable users, because the data was compressed to begin with.
NB: I'm ignoring that question of how much of the data broadcast at 2006 TV stations is read from compressed digital sources, then converted to analog. In which case a tv card with digital inputs receiving a digital broadcast might be less lossy than an analog card. Let's suppose a Mythbox with analog tv card has been transported in a time machine back to 1970.
NB2: let's also ignore that analog data is usually a bit noisy so that lossy compression might well filter out some noise, resulting in output that subjectively seems cleaner.
I wonder if the above analog-->digital loss is true for live TIVO viewing too?
Further thanks are due for advice about the probable inflexibility of Mythtv's architecture to this sort of hacking. tjc mentions plugins...
|
|
Top |
|
 |