April 21, 2007

Preserving Ancient Video

Pretty much since I saw Buck Rogers on TV in the 80's, I've been obsessed with archival. I think it was because they made a point of having that section in each show where Buck explained the crazy 20th century things he was into. Wilma, Dr. Theopolis, and Dr. Huer always were incredulous at the things he ate, drank, and listened to.

I used to wake up in cold sweats at the idea that someday, I might not be able to play Adventure on the Atari 2600. Since then, I've worked on keeping archives of as much stuff as I can. My place is a testament to this, with thousands of CDs, DVDs, video game systems, vinyl records, cassettes, books, etc. I've even got directories scattered on every system I have with emulators of old systems in case I have the desire to play Caverns of Mars, Temple of Apshai, or even Cheyenne.

Anyway, lately I've been worried about the stack of boxes of VHS tapes in my work room. It's huge, and until I digitize a bunch of that stuff, it's all slowly going bad. My tapes of The Idiot Box aren't doing so well, and I'm afraid I'm going to lose more.

I'm working on building my own PVR so that I can record and store more stuff, but for now, I just picked up a Hauppauge WinTV-PVR-150. It's not great, but it should do for my purposes. I waded through the IVTV stuff to get the card recognized, but the harder part is finding a freaking app that will VIEW the capture stream. So far all of the TV apps I have don't let me see much, and if they do, they won't record while viewing the stream.

After much searching, I found a decent solution. First, recording is WAY easy, as you just cat the device (which is usually /dev/video) to a file. Bang, it's recording. Very easy. The only issue is that it's hard to watch the video while you're recording (or to test it when you're not). I found a few options. Both xine and mplayer take /dev/video as an argument from the command line. Xv seemed to be the best output option for keeping up with the video, but it still chugged occasionally on my machine.

The easiest solution is to record the video and then have your favorite video player play the recorded file back as its recording. This worked well for me. There is a delay, so you won't be able to neatly start & stop the file, but if you can edit the file with something like avidemux, you should be ok.

The second solution -- and the one I went with -- was to go get a cheap TV to use as a monitor. I got a small 11" from Best Buy for about $61, and not only is it great for this, but I can use it to hook old computers into (my Atari 800 has been itching to be hooked up).

One last aspect I got together was to use flowplayer to play flash videos from my site. Then, I use the all-powerful ffmpeg to convert the mpeg to flv, and I can play the videos from my server without having to upload them to YouTube. There are some I'd like to share, but there are others I'd like to control. Overall, I'd like more of a GUI solution, but maybe I'll have to write an app that mixes a few things together myself.

Another one for the list. Sigh.

Posted by flynn at 11:10 PM

April 9, 2007

2.6.20 & Memory

Fedora has a way to keep software updated without having to compile. It uses an rpm file, which apparently stands for Redhat Package Manager. This file is a precompiled binary blob which can be installed on a system with rpm (the application) installed on it.

The major problem that occurred with rpm was that there were often dependencies (for example, an application would require a library to run) that the user then had to go searching around for.

In response to that, an extra layer was added, and a network application was created that would go get rpms, resolve dependencies, and install everything necessary. Yum was born. Debian has much the same with it's apt-get system, and I believe apt-get can be used on Fedora today as well (it was for a while a major competitor to yum). Where does all of the software that is installed come from? Well, the open source community has repositories of rpm files that yum checks to get what it needs. So, for example, if I want to install gramps (some geneology software), I can just type "yum install gramps" and yum will happily go and install what it needs to make things work.

There are still hiccups in this process (yum searching sucks, the GUI tools aren't great yet, yum can flake out occasionally), but for the most part it works. Except....sometimes there are apps that don't work correctly out of the repos. On my laptop, I had to install ndiswrapper to get wireless network running. Once I had it going, everything was fine.

Well, recently, a new kernel version came out, 2.6.20. I updated my laptop, and all hell broke loose. I started getting weird errors at boot where the kernel was complaining about microcode on my wireless card. So, it looks like something changed with the wireless in the 2.6.20 kernel they released.

Now, I've learned to check boards to see what's going on, but many times, unless someone has the same hardware as I do, it can be tricky. After a few hours of searching, I found that there may be an issue. At midnight, though, I wasn't in the mood to chase down the fix, and I'd figure I'd just roll back to 2.6.19. However, the new ndiswrapper version that was installed had uninstalled the version that worked with 2.6.19, and I've never learned how to use yum to roll back. (As an aside, this case is one of my MAJOR complaints about oss...the answers are there, but WHERE do you look for them? Which forum/list do I check? Fedora? Kernel? Ndiswrapper? The repos? Who's domain is this problem in?)

But then, I had the fun...I had done this before, but I didn't document it. I didn't save any links, and I couldn't remember how I had done it. Thus, the major reason for starting this blog was brought to bear. I don't want to fix something to have it break 6 months later, only to not remember how I fixed it in the first place.

A reinstall of ndiswrapper and a following of their docs later, and I seemed to have things going. The *only* hiccup was that despite everything seemingly being installed correctly, the network card didn't wake up until I did an iwspy. I don't know why that is. After doing that, it worked, but also NetworkManager seemingly woke up.

I still have issues with connecting to a network other than my own, but at least **my** wireless is working. Oh well, more searching, I guess.

Posted by flynn at 3:13 PM