Slashdot Mirror


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?

26 of 340 comments (clear)

  1. Eh? by Masami+Eiri · · Score: 4, Insightful

    I'm just trying to figure out why you would need 16 programs taping at one time... I am the only one who finds that a bit off the wall?

    1. Re:Eh? by dbrutus · · Score: 4, Informative

      Perhaps you're monitoring to see whether your commercial actually airs on the 10-20 channels you bought for your ad campaign. Maybe you work for a non-profit media watchdog group that monitors bias. Maybe you just want to beat the smug smile off the face of your neighbors who claim techno superiority with their Tivo.

      There, three reasons, at least one of which will appeal to most people.

    2. Re:Eh? by breon.halling · · Score: 4, Funny
      GET A LIFE.

      Man, I loved that show!

      --
      "Yeah, well, Dracula called and he's coming over tonight for you and I said okay."
  2. hmm by twiggy · · Score: 4, Interesting

    In theory, you'd also need an array of hard drives, because the thrashing of four or more things being recorded at once would be painful...

    This would mean you'd have a maximum of 4 hard drives, unless you buy an IDE card that lets you support more, wouldn't it? (Each IDE chain can have only two devices, right? or is that outdated info now?)

    An interesting idea for certain though...

    --
    http://www.babysmasher.com
    http://www.openingbands.com
  3. And the answer, again, is "MythTV" by mbourgon · · Score: 5, Informative

    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
  4. PVR Advice... by NanoGator · · Score: 5, Informative

    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."
  5. Save data before it is decoded by maddogsparky · · Score: 4, Interesting
    For the amount that you are talking about spending on hardware, you might be able to afford a high-bandwidth A2D converter configured to capture the raw signal (you may have to frequency shift it). Then you can decode it off-line and in slack time when you figure out what you want.

    Same idea for for HDTV, except save the data stream.

    --
    science is a religion
  6. Some limitations to keep in mind by Omega+Hacker · · Score: 5, Informative

    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!
  7. 5 PCs?!? by nuxx · · Score: 4, Interesting

    I highly doubt you'd need five PCs. What you would need, though, is four MPEG2 hardware capture cards with built-on TV tuners. Remember, a MPEG2 isn't all that big... From rough estimates in my head, any modern DMA100 IDE disk should be able to handle the bandwidth of four MPEG2 streams. You also won't need that powerful of a CPU, either. I'd say that with a little bit of special capture software (that can address four different cards) that will do tuning and scheduling and a TV-out device (Composive, S-Video, and Component) with hardware MPEG2 decoding (or a fairly fast box), you'll have all you need. If they are combination capture / playback cards, you could technically have four outs, too. Might be nice for family time. Queue it up so capture takes priority on all cards but one, or...? The possibilities are endless.

    But anyway, I personally would think that you would only need two or MAYBE 3 streams at once, but if you already have software to address more than one card, why stop with just two? As long as the hard drive and PCI bus can handle it, you're set.

  8. Possible Hack by nukey56 · · Score: 4, Interesting

    I recall a conversation I had with the digital cable installer awhile back. He had never heard of PVRs before, and as I was talking about them, he suggested that since the data for all the channels is coming in on the same line at the same time, it could be possible to modify a cable receiver to capture multiple channels at once. This wouldn't solve the problem of how to record them all, though I'm guessing a 8/16/(insert number of channels here) SCSI hard drive setup would work nicely.

  9. A cluster? by spoonist · · Score: 4, Funny

    "Think of a cluster of 4 PCs..."

    A Beowulf Cluster of PVRs? Sweet!

  10. Open Source PVR is not as simple as people think by noahbagels · · Score: 5, Insightful

    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...

  11. Re:Hmmm.. by pe1rxq · · Score: 4, Informative
    maybe the poster is trying to do it for security cameras.

    If that is the case he should have a look at motion it can handle multiple videodevices and even use multiple inputs on each device.

    Jeroen

    --
    Secure messaging: http://quickmsg.vreeken.net/
  12. Re:16-channels at once? by goatasaur · · Score: 5, Funny

    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:
  13. I have often thought that BeOS by teamhasnoi · · Score: 4, Interesting
    would be perfect for such a multitasking box. It's exactly what Beos was designed to do. Multiple video streams would most likely be cake to a low end Beos box.

    I talked to some developers over at BeBits about the idea; one said that he had no interest in updating any of his Beos apps and that he had entirely moved over to Windows. (ugh)

    The other was intrigued, but had far too much stuff going on already.

    Any ideas? Anyone thought this too? I would dive on in, but I am a musician and left programming behind with Apple II basic...

    P.S. Trolls: Oh yes, Beos is dead, what am I thinking, I should learn to code, I smell like cats, blahblahblah.

  14. Next week on Ask Slashdot... by orichter · · Score: 4, Funny

    orichter writes: does anyone know how, with a with a few minor adjustments, you turn a regular gun into five guns?

  15. Re:16-channels at once? by pe1rxq · · Score: 4, Informative
    motion can do that easily.

    Jeroen

    --
    Secure messaging: http://quickmsg.vreeken.net/
  16. One-channel-first, please? by Tackhead · · Score: 5, Insightful
    Can we get the turnkey single-channel Linux PVR first? :-)

    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.

  17. Re:16-channels at once? by Anonvmous+Coward · · Score: 4, Funny

    "Obviously, the poster's intent was to record more porn...."

    Oh shit, I didn't realize that.

    Okay okay okay okay.. lemme think.

    Okay, I can help him, but I'll need sample videos from him to perform anal...ysis on. (sorry about the pause there, was distracted for a moment.)

  18. Re:Why not... by Ssolstice · · Score: 5, Interesting

    Why watch less tv? So he can just put useless posts on Slashdot like yours? The guys asked for technical advice, not for gripes.

  19. Maybe he wants distributed capture by t0qer · · Score: 4, Interesting

    I've read all the comments about the limitations on the PCI bus, basically there's no way around the lack of bandwidth.

    What if he wanted to do distributed capture though?

    Think about it, you have 4 machines capturing alternating frames. Machine 1 does frame 1,5,9 machine 2 does 2,6,10, machine 3 does 3,7,11 ect.

    This thought occurred to me last night while doing some kazaa downloading. Maybe a better P2p capture system would involve each client downloading 1 frame per movie, and sharing that with the world. The clients could assemble the movie from a distributed network, much like a frame server does in premiere.

    The real advantage to doing this would be movies that are stored in a lossless format.

  20. Re:Open Source PVR is not as simple as people thin by ChaosDiscord · · Score: 5, Insightful
    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...

    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>)

  21. Re:Why do you want it by Lechter · · Score: 4, Insightful

    A couple thoughts off the top of my head:

    • you want multiple people to be able to use the same cable connection
    • everyone in your house wants a PVR but you don't want to duplicate it in every room
    • you need to record multiple shows on at a given time for analysis (Comm doctoral students do this all the time)
    • you own a TV store and want to stream programming to multiple show pieces
    • you just want to be that damn 1337

    Really folks, when someone asks a question they don't want to be told why they don't need to know the answer. So, come on, don't send off-topic replys about how pathetic or dumb a question is post a constructive answer!

    --
    credo quia absurdum
  22. Yeah, a video server for community tv stations. by minitrue · · Score: 4, Informative

    This is perfect for public access television stations. They often have 5-10 people, all needing to encode their videotapes at the same time. A multichannel encoder would be heaven!

    I've been working with MNN, the public access station in New York, NY in building a cheap, open source video server out of an old TiVo. The equipment necessary to program and run television broadcast/cablecast centers is often expensive and proprietary. And unless you do web playback like indymedia or freespeechtv, you have to buy the equipment to play the game.

    An open, Linux-based multi-encoder like this (accompanied by an open video server) would do wonders for the community media world!

  23. I could use something like this because... by IcEMaN252 · · Score: 5, Informative
    ... I work in public access television. I can see several uses for a cheap way to log multiple programs at once.

    • Non-Linear Editing
      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.
    • Record Multiple Live Programs
      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.
    • Log Programming on Multiple Stations
      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.
    • Archiving
      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
  24. Use Canopus Boxes And Firewire Cards by anewsome · · Score: 4, Informative
    Really if you need 16 channels at once, my first thought would be why? But assuming you have a sane answer to that I'll tell you a little about my setup. Which is able to record 2 channels at once direct to hard disk, while watching at least 4 seperate channels on other TVs around my house, all using a single satellite dish (dual LNB).


    Also, I am curious why you would want to use MPEG encoder cards to record your video. If you've ever tried this, you would quickly realize MPEG is a REALLY bad format to use if you plan on editing your video. I assume you will be editing your video right, I mean who and the hell would want to burn TV programs, commercials and all, straight to DVD with no editing. Anyway, editing MPEG video, no matter what you use is a bad proposition.


    My system, which is two low power PCs with various large (300GB+) multidrive RAID arrays, firewire cards, 1 Canopus ADVC-100 on each system and Sony Satellite receivers. The Sony are important since they have a 9 pin serial connector which connect directly to the PC for changing channels and controlling the satellite receiver.


    This system works flawless and I have recorded around 1,500 TV Shows since late 2001. My Linux based recording solution prior to this was moderately reliable but the quality was not good enough for DVD. With this setup the quality of the burned DVDs are almost indistinguishable from the broadcast source. In other words, very good. Oh by the way, my interface for scheduling is custom web interface using Mysql for storing data.


    Now I suppose if you were hell bent on it, you could put multiple cards in a few machines and run multiple capture processes to grab your insane 16 channels, but that would be one busy machine. I would recommend a more sensible soultion, one like mine would probably work nice.


    My setup includes 2 machines for grabbing video straight to disk in DV format (very high quality, does not degrade with editing like other lossy compression methods). Now these machines also double as mpeg encoders too, but don't do much else. They stay pretty busy with just those two tasks. I have another 3 machines that are dedicated MPEG encoders, using mjpegtools as the encoding software. My desktop machine is where I edit the video, using Kino. I also use my desktop to run dvdauthor, which masters the DVD-Video folders prior to burning them to disk. This machine sometimes encodes MPEG too. On some days I have as many as 6 or 7 MPEG encoder machines going. And I have yet another machines that actually burns the DVDs.


    So I guess you could do it with a few machines, but you'll be sorry once you've got a bunch of video to encode or master and only a few CPU to do it. Make your capture machines the cheap, slow CPU type and your encoder, editing, mastering machines of the fast type and you might be all right. I'd still love to know why you would want to record 16 channels. Also, I assume you are doing this with Cable TV, which sucks for quality and regular cable too, since digital cable requires a box for each individual channel you need to watch at the same time. I can't see anyone paying for rental on 16 cable boxes. Even worse I can't see anyone spending that much money on 16 satellite reveivers. I have 6 satellite recievers and I almost cried when I had to pay for them.


    Oh by the way, my system is 100% Linux end to end, so the poster who posted a comment above who says there is no Linux PVR solution that works, has no idea what he is talking about.


    -Aaron.