Building a Multi-Channel PVR System?
Dr.Ruud asks: "What would be good ways to build a multichannel VCR? Think of a cluster of 4 PCs, each having 4 TV-cards (with MPEG-hardware on each) and (if necessary) a separate harddisk per TV-card, and maybe a 5th PC that controls the others, holds a DVD-writer and any other necessary hardware. Could it be done in a simpler and cheaper way? See also linuxtv.org, linuxmedialabs.com and of course SouceForge-vcr-projects like Freevo." What would be the best way to go about cutting down the number of machines such a cluster would need? Could this be done by building an all-in-one-wonderbox without it getting really expensive?
Version .8 will allow you to have several machines, each taping its own channel(s), controlled by any of the machines in the network. The goal is to allow you to have one gigantic server in the basement, and 1 fan-less machine in the living room.
Far more interesting is what ramifications (if any) are there to having 2/3/4 tuner cards in one PC. After all, each tuner card probably needs its own sound card... what else is involved?
"Sometimes a woman is a kind of religion, she can save your soul & set you free from all your sins" - Bad Examples
A dual 500 machine is more valuable as a PVR than a single 1.6 gig machine. Ideally you'd want 1 processor for playback and one to handle the other stuff (compression, etc...)
16 channels? Err. Okay. If you really want to capture that many at once, you'd likely be better off having one computer per card. You don't need expensive/new hardware to do that. If the card does the processing and funnels the compressed data down to the hard disk, then the processor is little more than a manager. Last I checked, a P3 500 would easily handle a PVR card with hardware compression.
If you have space considerations, go with a dual I suppose. But I wouldn't do more than 2-channels per PC.
"Derp de derp."
Doing any of this without hardware compression is, of course, not even remotely viable. Given that, you have some serious limitations imposed by common hardware.
Many of the PVR cards use the KFIR encoder chip in conjunction with a Conexant bt8x8 video capture chip. The bt8x8 does the NTSC->PCM, and sends it to the KFIR encoder, which sends the MPEG data back to the bt8x8. The limitation comes from the fact that there is no hardware-assisted DMA for the data coming from the KFIR chip. That means the host process has to repeatedly poll the PCI memory address for the bt8x8 GPIO ports in order to capture the data.
Putting more than one or may be two of these cards in a single machine would swamp the machine so badly it wouldn't be able to do much else at all, let alone sending the video to disk or a network-attached storage device.
If you can find a PVR card (supported under Linux, good luck putting multiple *anything* in a Windows box) that doesn't blow the PCI bus to pieces when capturing, and you should be able to put quite a large number in a single machine, limited by PCI slots. The KFIR chip captures up to 12Mbps, which is 1.5MB/sec. PCI can peak at 132MB/sec, so as long as busmastering overhead across a dozen cards isn't fatal, you could put them all in a PCI expansion cage on a single machine.
GStreamer - The only way to stream!
I have no great authority here, except that I have ran several linux systems, coded simple linux apps, and ran ATI's all-in-wonder (piece of crap) PVR solution for two years.
Every month or so, someone comes up with a newfangled linux PVR and posts it here and on sourceforge.
Last I looked, there were at least 4 seperate projects on linux PVRs. There was also something major wrong with each project!
One project has a cool interface but could not actually record!
One project could record and playback, but not record and playback at the same time!
Yet another project could record and playback, but even the author of the thing reported that the audio and video were badly out of sync.
Now: I don't know if the Ask slashdot question was a troll, or someone hoping to startup a dumb dot bomb that re-sells TV signals, but even a single P-1Ghz with an ATI all in wonder could barely record at broadcast quality - read: It didn't ever fully approximate broadcast quality.
I've got two coworkers who purchased PC PVR solutions, and guess what - all three of us now own: Tivo, Replay, and DishNetwork-PVR systems.
BAH. This is really stupid. Until someone hacks together something that actually works, and doesn't require a PHd in driver hacking, and syncs the audio properly, and has a 1/10^6 chance of working on someone else's build of linux/hardware, then let's not waste time discussing the *neato* applications of linux PVR. It's still a fantasy for private/OSS projects...
An explanation:
Basic digital cable provides different premium services... there are 6 HBO channels, 4 Cinemax channels, 4 Showtime channels, and a couple of 24-hour pr0n channels.
Obviously, the poster's intent was to record more porn. This drive for increased pornography consumption has inspired such innovations as the light bulb (for reading porn), the telephone (for listening to porn), and of course the cotton gin (for making more tube socks).
~D:
Word to developers - what you've done so far is great, but if you want to unseat MSFT, you've gotta make it so that Grandma can install it.
If we were talking about a new version of GCC or the latest kernel, with Visual Studio.NET and Windows Longhorn as the competition, it'd be fine to moderate this comment as (-1, Lazy n00b), but you're talking about a glorified VCR, and you're going up against TiVO.
For this kind of product, User Interfaces matter. Saying "RTFSource", and "It's skinnable", won't cut it.
Likewise, dependency trees can be a formidable barrier to adoption. Saying "Well, of course it compiles fine for me, I mean, who doesn't rebuild XFree86 from the CVS source tree on a weekly basis?" isn't gonna cut it either.
PCs are cheap enough these days, especially since folks in the DIY segment might want to dedicate one as a PVR. Given the appliance-like nature of such a device, I'd say a (set of, for each supported motherboard-chipset/video-chipset combo) binaries ought to be a design goal, and I might even go so far as to say that distribution as an ISO wouldn't be out of the question.
Why watch less tv? So he can just put useless posts on Slashdot like yours? The guys asked for technical advice, not for gripes.
Chill. Relax. There is no need for longwinded rants with random bold words. No, the free software PVR projects are not ready for prime time yet. It shouldn't be suprisingly, they're all very new. Mozilla's few few years weren't terribly promising. Linux itself took many years before approaching general usability. For the software to reach a polished stage we need to start with the crappy first pass. There is lots of experimentation and playing around. Core components (like drivers to TV cards and MPEG encoders) are still early in the development stages themselves. Eventually things will settle down, all but a handful of projects will fold, and things will become ready for you. In the meantime, let other people do a little harmless cheerleading. We need early adopters and fans to help work out the bugs in the system, do development, and keep the developers inspired.
(If you feel a burning need to emphasize something, the <em> tag will generally give you a more subtle, easy to read result. Bold text tends to leap out, dominating the paragraph. If you really want readers to just focus on those key points, consider a bulletted list using <ul> and <li>)
Search 2010 Gen Con events
If you want to edit video on a computer, you need to "digitize" or "capture" it to the computer. Hook up multiple VTRs and capture multiple tapes at once. There are systems that exist to do this, but they are high dollar. This might not be cheep, but I'm sure there would be some free clock cycles to use.
Say you do a political talk show. You want to do all the research you can. The major networks all have good political shows on Sunday morning. With this you could record them all and watch them later. Yes you could just use VCRs, but that applys to ALL PVR applications.
Many public access stations are actually multiple channels. PEG (Public, Educational, and Government) is the standard for Local Access pretty much. You could record the station live from the past so many days and stream it online to catch recent programming.
Say you have a large tape archive (the station I work at has beein archiving for under a month and has over 300 tapes) and want to store in a digital media. You could use the captured video either to make DVDs or store in low-res on a server for preview. With IDE RAIDs becoming less and less expensive, a terrabyte fileserver is now an option in the four figures.
And thats just what I can think of off the top of my head...
CitrusTV (http://www.citrustv.net): the Nation's Oldest & Largest Entirely Student-Run Television Station