WARNING: This article is for informational purposes only. No one in this forum, including author and owners of the website are resposible for what you do with the information. They also are not responsible if it causes your systems to melt down, making you scream "Dammit!" in a Jack Bauer voice. You're a Linux user, and there's no one to blame but you, if you screw up. So read carefully and make backups where necessary.
Introduction
One of the coolest things about getting a capture card, is that you can convert your VHS tapes to DVD. (or any other format you wish). In this article, I'm going to show my experiences and such on how I set a system up with this capability. Bare in mind, this is not anything elegant or very user-friendly...To be honest, its down right half-arsed and a bit complicated, but it produces a surprisingly awesome result. (I didn't know until after I burnt the DVD and played it on a DVD player!)
Objectives of this project?
* Capture in MPEG2 at DVD quality. (9.6Mbit, PAL, etc)
* Convert VHS tapes to DVD form.
* Output from PC to TV for viewing.
* Capture TV shows, edit Ads out, to be viewed at a time of convenience.
* Software cost must be kept to a minimum. (Preferably $0)
Naturally, to satisfy the last objective, we're gonna use a Linux distro in this example. For simplicity, I just went with Ubuntu 6.06 LTS, and made the desktop look pleasant for the rest of the family to use. (As in I made sure the Home folder, My Computer and Garbage Bin was in the familiar location as found on Windows desktop, and applied the "Nuvola" theme...This is more of a psychological thing, to break some generalistic views about Linux being ugly command line stuff).
Hardware?
Hardware can be pretty much anything you want, but with a few conditions. (To narrow down the options and give you some direction).
Try to get a video card with a TV-encoder chip for its TV-OUT. (They're generally the way to go). Motherboards with the Geforce 6150 IGP with nForce 430 South Bridge will have such an encoder built into the IGP. I think such a mobo under the ASUS brand also has a S-VIDEO connection for TV-OUT. (Its on a separate bracket that occupies one of the PCI spaces in the PC case). The other alternative is look into getting a Geforce 6-series or 7-series video card. (As they both have TV-encoder integrated on the GPU...A GF6200 should do the trick! Nice and cheap, comes in PCI-Express and AGP versions).
NOTE: I'm only in favour of Nvidia products under Linux, as they're generally very easy to set up. Otherwise, I would go with any solution that works well. At this time, Nvidia video cards are considered better supported and have better OpenGL performance.
The next thing to look out for is the S-VIDEO connection. There's two types of connectors. One has 4-pins, while the other has 7-pins. (Don't ask me why that is, just accept it). Make sure your cabling, TV-OUT of Video card, and TV are all compatible in this sense. (In my case, the TV and the TV-OUT on the PC uses the 4-pin type. So I rocked up to Dick Smith Electronics and bought a pair of fairly long S-VIDEO cables. Also note your audio connectors!
CPU speed?...This depends on the content you're playing. I'm using DVD quality at most, as I'm not gonna bother with HD content. Generally, this will vary. But you definitely need something of at least 1.6Ghz or more for DVD quality MPEG2 video. I'm assuming you are unable to get XvMC properly working or that feature isn't supported on your video card (ATI video cards?). So you're using some lesser playback assisted solution with video playback and compensating with raw CPU grunt.
Side note:
XvMC or X-Video Motion Compensation is to Linux as DxVA or DirectX Video Acceleration is to Windows. The idea is to dump the load of video playback to your video card's GPU. (as that is actually far more powerful than your CPU, which is really just a general purpose processor...ie: Jack of all trades, master of none). Both XvMC and DxVA do Motion Compensation and iDCT (Inverse Discrete Cosine Transform)...They become very important in the case of HD content, as they lower the CPU requirements quite dramatically. Allowing you to play 1080i HDTV content in realtime. Geforce video cards should support this. (Nvidia's Linux driver apparently does support this feature). BUT Ati cards may not. (Correct me if I'm wrong). If you're on a budget, consider a GF6200 or low end GF6600. And if you run into issues, go to the Linux section of the official Nvidia help forums. http://www.nvnews.net
Capture card will depend on whatever is compatible with Linux. I went with a Hauppauge PVR-150MCE. Yes, this solution is really intended for MS Windows XP Media Center Edition, but it works fine in Linux. The only difference between this and the non-MCE model is the lack of remote control and the price is more affordable. (I'm not gonna bother with a remote for this project, so I went with the MCE of the PVR-150 series)
So in this example, I'm using this...
* Celeron 1.2Ghz (Tualatin)
* ASUS P3C-D (i820 chipset)
* 512MB SDRAM (via SDRAM to RDRAM converter)
* Seagate 7200.7 80GB HDD (PATA)
* Sony DVD burner
* SB Audigy sound card
* ASUS GF2 MX400 (has a TV encoder chip for TV-OUT, a Conexant chip!)
* Hauppaugge PVR-150MCE Low-profile version (comes with full height bracket...Does NOT have a remote control).
Aside from the capture card and DVD burner, everything else was just bits lying on the shelf.
NOTE: The Celeron 1.2Ghz is "just" barely enough to playback DVD quality streams via mplayer. When you watch videos, you'll just notice the frame rate slow a tiny bit and there is slight tearing. (Its just noticeable, but hard to spot for the majority of the time)...I recommend something like a Sempron 1.6Ghz (Socket 754) or faster. Something with more grunt. (But it doesn't have to be a top-end solution!)...This is assuming you can't get XvMC to work under mplayer.
For capturing, the PVR-150MCE card uses a hardware accelerated chip from Conexant. This takes the load off the CPU when capturing, so CPU usage is like 6% at its peak when capturing at DVD quality. So thankfully, Linux is supporting this feature via the ivtv driver.
If you're using a low-end system, and only plan to play MPEG2 video, you can try to use a DVD decoder card like the Sigma Designs Hollywood Plus, and output it to that. (WARNING: There is NO support for the newer Sigma Designs XCard under Linux!)...To get the Hollywood Plus working under Linux with mplayer, please see http://dxr3.sourceforge.net/ for driver.
Another option is to spend more on the PVR-350 model. This has both hardware acceleration of capturing and playback. This way, you only need to use the single ivtv driver.
And finally, hard disk space. Get a huge one. (Remember, PIII-era motherboards only support up to 127GB, due to BIOS limitation...I recommend getting a SATA PCI controller card and getting a SATA HDD). Otherwise, if its a more recent motherboard, just buy a large hard disk. At the time of this post, the 320GB-class is the current "sweet spot" in regards to "price per megabyte".
MPEG2 video takes up a great deal of disk space. For example, I tried capturing Jackie Chan's "Rumble in the Bronx" (90min movie) via pay TV, and that it took up approx 5.5GB from start of movie, to end of credits.
Connecting up to a TV...
The TV is an old Philips one that is made in Belgium. We got it from a store called Brashes in Blacktown. (They don't exist now, as they've closed down and disappeared from the face of the earth).
The TV has 2 SCART (or Euroconnector) connections, as well as three S-Video connections. (1 output, 2 inputs). It also has two D2B or DDB connections...D2B stands for Domestic Digital Bus. (I have no idea what that's for, and have never used it).
Anyway, it has 3 "External Connections".
EXT 1: To Sony DVD player via SCART to RCA cables
EXT 2: To PC via S-VIDEO/audio cables (two sets: inputs and outputs)
EXT 3: To Sony video via S-Video/RCA cables
The TV setup looks like this...
- Code: Select all
---------> EXT 1: DVD player
---------- |
| |---------------------
| TV |------------------------------> EXT 2: To/From PC
| |---------------------
---------- |
---------> EXT 3: Video (to OptusTV set top box)
A more detailed view of the connection to/from PC to TV (EXT 2).
- Code: Select all
------
| |<--- EXT 2: IN <--- TV-OUT (S-Video) of video card, Line-OUT (SB Audigy)
| TV |
| |---> EXT 2: OUT ---> TV-IN (S-Video) and Line-IN (3.5mm) of PVR-150
------
I set it so the TV directs the AV signals from EXT3 to EXT2. (This allows me to capture Cable TV channels as well as old VHS tapes). The issue with this arrangement is that I need to have the TV and video on. (but can have the volume on TV muted).
I'm NOT using the Tuner on the Hauppauge card, just the S-VIDEO and audio-in connections. (I'm not using the FM radio tuner either). Channel changing is from Optus TV (analog) or video.
Software?
* Ubuntu 6.06.1 LTS (Kernel version 2.6.15-26-386)
* Nvidia driver (set up such that the TV-OUT and VGA outputs are on separate X-Screens).
* The ivtv driver is compiled and installed for the Hauppauge card.
* mplayer (video playback).
Comments about setting up
I'd have to say, the Hauppauge PVR-x50 series of cards are a pain in the A$$ to set up.
On Windows, you play the "let's see if we can find the right driver" game.
On Linux, its "I would never let a Linux newbie set this up!"
...Hardware is great, but the software side can be summed up as "non-techie people will have a high probability of encountering trouble during the setup process". (If I were a rich bastard and bought out Hauppauge, I would definitely put some money and resources into their software side, because regardless of OS, its very weak in regards to the PVR-x50 series).
Interestingly, I didn't have a single issue with compiling and installing the ivtv driver. A bit fiddley but not terrible. (Of course, my level of "fiddley" could be your definition of "get the heck out of here! That's too hard!"...So it varies on your level and Linux experience.)
TO BE CONTINUED...Or Edited
Sources that helped me.
* http://hyams.webhop.net/mythtv/myth_ubuntu.html
* http://ubuntuforums.org/showthread.php?t=186747
* https://help.ubuntu.com/community/NvidiaTVOut
* http://www.exploits.org/v4l/
TO BE CONTINUED...Or Edited
