Friday, June 18, 2010

Into an xbox 360

We’ve been suffering through constant “DVD Read Error” messages every time one of the kids tries loading up a game on the used Xbox 360 console we got a little over a year ago. Now that the warranty from Gamestop is expired I finally worked up the courage to crack the box open and perform some old fashioned DVD player lens cleanup.
[Read More…]

Monday, December 28, 2009

Digital Video tools for Linux and Windows

This post is about a few software packages that have made capturing and editing digital video a lot simpler and easier for me.

For capturing from a dv camera on Linux, open source dvgrab is my favorite. It’s available as a separate package for most Linux distros, and also as one of several CLI tools that come with the kino non-linear video editor. I did a post some time ago showing how it’s used.

On Windows, after playing around with the Windows Movie Maker, I discovered WinDV, which is a kind of Windows gui version of dvgrab. A tutorial on using it can be found here.

Happily, video editing can be done on both Linux and Windows with the same application: avidemux. This little program is pretty intuitive and lets you do basic editing of most kinds of video files. It can also be used to convert video from one format to another (e.g. avi to mp4 video with aac audio). There’s a documentation wiki that provides lots of good information on how to use it.

Thursday, October 29, 2009

Firewire on CentOS 5.4

I’ve had quite a few posts on the subject of Firewire (IEEE1394) support in various distros, including CentOS. This is the first since I upgrade my main workstation at home with CentOS 5.4.

As far as I can recall all you had to do in previous releases of CentOS was install the centosplus kernel and the relevant packages (listed below). On upgrading to CentOS 5.4 this didn’t work as expected. Following are the steps I took to get it working.

First, I installed the latest centosplus kernel, currently kernel-2.6.18-164.2.1.el5.plus, and then the following packages:

libavc1394-0.5.3-1.fc6
libraw1394-1.3.0-1.el5
libdc1394-2.0.2-1.el5
dvgrab-3.0-1.el5

That last, dvgrab, is a console mode utility for pulling data off a minicam via its firewire interface. It comes from the kino project, named for the graphical video editor it produces.

Once the packages are installed, I went into /etc/modprobe.d/blacklist-firewire and comment out the “blacklist firewire-ohci” directive.

Next I fixed up the default device permissions by editing two additional files.

In /etc/udev/rules.d/50-udev.rules:

Added GROUP="disk", MODE="0660" after NAME=xxx to each firewire (ieee1394) related line.

In /etc/security/console.perms.d/50-default-perms:

Added under device classes

<firewire>=/dev/fw[0-9]*

Changed <console> 0600 <raw1394> 0600 root

to

<console> 0600 <raw1394> 0600 root.disk

and added

<console> 0600 <firewire> 0600 root.disk

Finally, I added all users I wanted to access tools like dvgrab or kino to the system disk group.

I did a system reboot to effect all these changes and then used dvgrab to dump some video off my minicam as a test.

Painless kernel mods with ELRepo

Here’s something to give a try if you’ve got a test box sitting around just begging for something to do.

First off, let me make clear that my only connection to the ELRepo yum repository is as a grateful user. ELRepo is, in the words of the main page:

a RPM repository for Enterprise Linux packages. ELRepo supports Red Hat Enterprise Linux and its derivatives (CentOS, Scientific Linux and others).

ELRepo currently focuses on hardware related packages to boost your experience with Enterprise Linux, this includes filesystem drivers, network drivers, webcams and video drivers.

During some (still inconclusive) testing of a failed firewire (IEEE1394) connection using the CentOS Plus version of the latest kernel for RHEL, I decided to give the relatively new ELRepo a try.

The packages available from the repo leverage one of the main design advantages of the Linux kernel, the fact that hardware drivers can be installed and loaded as modules without necessitating a complete recompile of the kernel. An extension of this is to use the “kABI tracking kmod” feature in RHEL to obviate the need to recompile driver modules on every kernel update (which are quite frequent, even for the very stable RHEL product). As explained in the ELRepo FAQ:

Linux drivers must be built against the kernel for which they are to be used. As most drivers are part of the kernel, this normally isn’t a problem. However, when using 3rd party drivers, the driver must be recompiled against each new kernel. This causes inconvenience for users who must rebuild the driver against each new kernel update. A kABI-tracking kmod is a kernel module (driver) that is compatible with any given kernel Application Binary Interface. A consistent kABI is a key feature of an Enterprise Linux distribution and, so long as upstream doesn’t break the kABI, a kABI-tracking kmod driver will work across all kernels for a given Enterprise Linux distribution (eg, RHEL-5, CentOS-5, Scientific Linux 5) without the need to recompile the driver for each kernel update.

In my case the commercial nvidia drivers I need to allow VMware and other applications to make the most of my add-on graphics cards are now available from ELRepo as kABI packages. The required packages for the latest CentOS 5.4 kernel are:

kmod-nvidia-185.18.36-2.el5.elrepo
nvidia-x11-drv-185.18.36-2.el5.elrepo

In addition to the nvidia card, I also chose to install the following package to IEEE1394 (Firewire) support, which I used to rely on the CentOS Plus kernel for:

kmod-ieee1394-1.0.0-3.el5.elrepo

Thus far, this hasn’t helped me to get dvgrab working with my firewire-equipped minicam any more than the CentOS Plus kernel, but I’m hopeful a little more time invested in debugging (and search bug reports) will pay off.

Tuesday, October 27, 2009

Furlough Post #1: A Windows Virus on Wine

In the idle time I have while watching my two H1N1 infected children deal with fevers, coughs and runny noses (Note: the fevers broke today), I’ve taken to randomly browsing the web and found some interesting and amusing stuff.

This officially 2nd day of a five-day furlough (or “unpaid leave”) from an employer that’s been hit as hard as anyone by the recession isn’t going quite as planned. By now I should have clocked at least 4 hours of walks on nearby nature trails while listening through a semester’s worth of OpenYale podcasts. Instead, I’m sitting in the kitchen surfing the Internet while the kids have Cartoon Network blaring in the family room.

As for the bit about Wine, the open source emulator layer that allows you to run Windows programs on a Linux machine (which in my opinion runs a pathetically short list of Windows software reliably after nearly a decade of development — through no fault of the developers, think “a house built on sand…”):

A virus run in Wine is akin to taking a ferocious tiger out of the jungle, paralyzing it, then hooking up all of its nerve endings to virtual jungle simulator. It’s not a perfect simulation, though, so the jungle maybe doesn’t look right, and plus there’s an omnipotent power that can change anything that goes on in the simulation, or even destroy it and the tiger’s consciousness with a few twitches of his fingers. Now that’s power.

Quote from the post I Can Haz Virus over on fsufitch’s blog. Just another “Windows virus vs. Linux” tale where the good guys win. Originally found the quote on another blog, Boycott Novell, which also has more than its share of entertaining, as well as informative, articles.

I found Boycott Novell while searching for some news on the apparent “close-sourcing” of multimedia content on the NASA web site. Apparently the suits over at NASA haven’t read The Memo that has given their brethren over at the Department of Defense new marching orders when it comes to open source (basically the word is… use it).