My over-the-air Television library and how you can build your own

Amanda and I finally cut the cord about two years ago, after having spent quite a bit of time developing a replacement for Cable television. We started to realize that many of the shows we watched were on broadcast television, and others we could wait for on DVD or watch legally online. Since cutting the cord we’ve never had any regrets and it’s because we always have something on the server to watch.

My setup uses one server running MythTV to record shows from an antenna I built. Those shows are transcoded and stored on a networked folder to be played back by various front end hardware running XBMC. After the break I’ll share all the hardware and software details that make this happen.

Continue reading

Transcode from 1080i to DVD

I’m getting rid of cable TV. There are still programs that I want to watch and since I often work at night I’m never around to watch primetime. I’m migrating my MythTV from analog cable encoding over to digital ATSC (over the air). I’ve built an HD antenna which I’ll share in another post, and I’ve picked up a Huappauge HVR-1250 ATSC tuner which I popped in and it immediately was picked up by my Ubuntu Karmic 9.10 box. The problem is I don’t care to upgrade storage space right now. 1080i recordings take up at least 6GB an hour so this will become an issue quickly.

I’m perfectly happy with the quality of DVD recordings on my HDTV so I’m going to downsample every recording to DVD size. I searched for help on this but there’s not much good information out there so I’m going to share what currently works for me.  If you have a better method I’d love to hear about it so leave a comment.

I’m using ffmpeg to transcode my 1080i recordings down to DVD quality. Here’s the command line:

ffmpeg -i YOUR_INPUT_FILE.mpg -y -target ntsc-dvd -aspect 16:9 -ac 6 -sameq -copyts YOUR_OUTPUT_FILE.mpg

I had to add the “-ac 6” because I kept getting an error without it. It seems the output file was trying to encode 0 channels of audio. I haven’t extensively tested this yet but it worked on one recording. I’m writing a script that will take care of this for me. It will encode to a temporary file, delete the original, move the temp file to the original location, then rebuild the index file. Look for this in a future post.