www.neatstuff.co.nz


General:
Welcome
Amateur Radio
Electronics

Digital Video Recorder

Vintage Radio
How This Site Works
Linux on an IBM R40e

My public bookmarks

Contact
 
Programming:
8051 Micro Programming
Linux Programming
 
Useful Links:

Sourceforge

Andrews Toyota V8

Artworks.neatstuff.co.nz

More Links
 
Login
Google

Digital Video Recorder

Background

My current video recorder is obsolete! late 80's model HIFI stero but to stero receiver. and I decided I wanted to get somthing a bit more modern. Taking into account the flexability of a computer based digital video recorder over a separate video recorder / DVD player etc, I decided to investigate building one.

The cost for the hardware can be quite high but since my current deskdop computer is becomming slow at compilig C++ code using GCC and I wanted to obtain some more processing power anyway, I opted to build a dual purpose box that can be used as both a multimedia box and and compile box.

The final system cost arround NZ$850 since I already had a hard disk and DVD Rom Drive and sound card

System Components

  • Asus A7N266-VM - NForce based motherboard
  • Athlon XP2200+
  • Chaintech Gforce 4 MX440 Graphics card (has TV out)
  • FlyVideo 3000 Stero TV capture card (NICAM)
  • Dynalink Magic TView CHP031 TV Capture card (MONO)
  • 256Mb DDR RAM
  • Sound Blaster Live Value
  • M-ATX Desktop case - Just fits in my TV cabinet

Audio extraction for the fly video is accross the PCI bus and the TView connects to the motherboard cdrom audio in connecter so I don't have any external wires linking audio.

Performance

Dispite the fact that both of the capture cards I have do not provide hardware compression the system is still able to keep up with recording 2 programs and viewing one of those time shifted with only ocasional glitches but i suspect those are due to unnecessary services running that i have yet to disable. the glitches don't seem to occure on the recorded video in this case.

The system seems to run for weeks without problems apart from an issue where the Flyvideo 3000 sometimes due to noisy signal autoselects the wrong audio carrier frequency giving noise rather than audio. I have seen several referances to this problem on the net and hopefully i can solve this soon.

Software

The system is based on a basic install of RedHat 9.0
I am currently running NVIDIA's binary only drivers for the Geforce4.

I have been using distcc to allow me to share compiling tasks between my desktop box and the DVR box. This works quite well with the compined processing power of and Athlon 1.4GHz and and AThlon XP2200+

MythTV is running on the hardware but I haven't managed to get alsa to play nice with the capture cards sound interface yet. This will have to wait a while since I'm busy completing a BE at Massey.
Mplayer also works well for playing other media files.
I am useing NFS to allow the DVR box to store recorded programs on my server machine over 100Mbps Ethernet.

Configuring

I used www.atrpms.net and yum to setup up the install when i last installed on Fedora Core 3. This simplifies the initial install byte is not reccomended for anyone on a modem!

The biggest problem is keeping a working grabber for the program data. the website scraping based ones can work but you always end up having to update them when the site changes. Recently several sites hare started to provide data from other sources. I have been using data from mr.geek.nz and hairy.geek.nz epg data on hairy.geek.nz since I recently had probelms with the mr geek data i wrote a couple of scripts that standardise the data from both sources so i can use which ever one is available. This is my first attempt that rather crudly swaps the channel id tags to the ones used by mr.geek.nz since thats what i already had in my database. I should probably redo it and update my database to use just generic channel names but this works so as they say if it ain't brok don't fix it! match the ones mr.geek.nz uses. This bash script is probably not the most secure for multi user boxes due to the use of the tmp directory but it does work for my purposes.

Note:I'm not 100% sure i have the right mappings for the id's but for channels 1, 2, 3 seem correct. Please let me know if you find an error.