tensai

Syndicate content
We're the kind of monkeys that don't throw feces ... very often
Updated: 28 min 53 sec ago

Mencoder: "The selected video_out device is incompatible with this codec"

Tue, 2008-12-23 18:23 -

I've been trying, unsuccessfully, for the last week to re-encode a set of videos. The source material is a set of VOB files ripped from a DVD. The output needs to be a scaled XviD. I suppose it doesn't *have* to be scaled, but it's for my kids so why waste the disk space when they won't know the difference?

The problem turned out to be the fact that I had multiple source files. Mencoder doesn't like to scale them for some reason. I'm sure it's a simple reason, and probably a reasonable one even. Something about the files could have difference sizes or something. I don't know and really I don't care. The solution was to squish all the files into one and then encode that one.

First, the squishing:

mencoder -ovc copy -oac copy file1.vob file2.vob file3.vob -o bigvobfile

Next, the encoding:

mencoder bigvobfile -o output.avi -oac mp3lame -ovc xvid -vf scale=480:352

read more

VoIP Routing Loop

Wed, 2008-12-03 01:14 -

The other day my boss and I managed to create a call routing loop between two of our phone systems. It was kinda fun, in one of those painful ways. Here's how it went down.

Phone system A has extensions in the range of 2XXX. Phone system B has extensions in the rage of 1XXX. The PBXes have an IAX2 trunk between them to allow direct dialing. The phones themselves have a dialplan which recognizes 1XXX and 2XXX as patterns, which allows for faster dialing. Users must dial a 9 to reach an outside line.

There was just a slight problem. Due to a misconfiguration on my part, B was set up to route any unknown 1XXX extensions back over to A. For a real extension, say 1000, the rule wouldn't match because B would know to send that call to the local user. But let's say that somebody's boss forgot to dial a 9 when dialing a long distance number. So the phone sees the first 4 digits, 1 + area code, and assumes it's an extension. A sends the call to B. Well, that extension didn't exist so B sent the call back to A. That would be the point when the fun began.

I would have thought that the PBXes would create a whirlwind of calls until the original call eventually timed out and broke the chain, thus bringing all the calls to a halt. But somehow that isn't what happened. The system stabilized at 400 or so active channels. Sat that way for a few hours I believe. What finally did stop it was my removing the rule to allow 1XXX over the IAX2 trunk from B to A. Within just a few seconds all the calls came to a grinding halt (in a good way).

I've decided then that having local extensions that start with a 1 is a less than desirable thing. It's not the end of the world, but avoiding it can relieve some potential headaches so I intend to eschew it where possible.

read more