Looking for simple video format conversion
May 29, 2004 4:33 PM   Subscribe

Why is it so damn complicated to convert between video formats? This afternoon I went on vcdhelp.com to find out how to convert AVI to SVCD and the simplest tutorial involved six different tools and unbelievably many settings. How come nobody has written something to do it in one step? Can it really not be automated?
posted by Aaorn to Computers & Internet (13 answers total)
It's because video encoding is a complicated, hard, problem. There are many nodes, if you will, in the decision tree for designing video encoding software. The different formats are really different - it's not like changing the font on a document or connecting to a new database.

disclaimer:post may contain speculation.
posted by crunchburger at 4:38 PM on May 29, 2004

even so, i can't see any technical reason why someone couldn't write a video verison of netpbm - you'd choose a simple, non-lossy, inefficient format as the base and provide 2*n tools to convert to/from n different formats to the base format (avoiding n^2 different conversion tools to cover each combination).

maybe the problem is that a simple, non-lossy inefficient format is just too inefficient (too much disk space?) for current hardware? or maybe it's getting access to the specs? or are you saying that there's no such thing as a simple intermediate format for some technical reason i'm missing?
posted by andrew cooke at 4:48 PM on May 29, 2004

andrew, I don't know anything at all about the technical details of video programming. I was attempting an answer based on a high level design abrstraction.
posted by crunchburger at 5:03 PM on May 29, 2004

Most video is compressed data. Raw, uncompressed video at a 640X480 resolution (640x486 is the closest equivalent to TV pixels, though that's a seperate issue because TV pixels have to be re-ratioed as rectangular dots instead of circular ones like on a monitor) can run at over a gigabyte a minute. MPEG, DivX, etc. are forms of compressing the video into a presentable format, in most cases by digitally eliminating redundancies by frame. When you've thrown out all the excess, there's less to work with if you want to reorganize it.

Video is compressed in a different way, for example, a ZIP file is compressed. Wheras the latter is reshifting data similar to defragmenting a hard drive, video compression is the actual elimination of any data unnecessary, for example, the data for frames 12 through 59 removed in favor of a few bytes indicating that they're all identical to frame 60.

Think of it as if you're moving to a new apartment. The concept of having all your stuff in a new place isn't in itself difficult. But for space reasons you threw away all the boxes and packing material for all your stuff years ago. Now it's a lot harder to move.

Most viewer programs like Media Player and Quicktime don't deal with conversion- they deal with codecs that allow you to read the compressed data in the format they want. But by nature, compressed data is difficult to re-compress because, well, it's compressed already.

In any professional video project, you would never convert anything- you start with the raw video and work from there. In fact, the most recent form of Quicktime compression is so tight-packing that it's virtually impossible to work with it after compression. I can't really offer you any solutions per se, but as far as you're initial question goes, there's the answer.
posted by XQUZYPHYR at 5:13 PM on May 29, 2004

And, really, it can be automated. Something like mplayer's mencoder can do format conversions pretty easily in one step.

You generally have to decompress the video as if you were playing it, and then feed that into a compressor (possibly this occurs all within one program, as in mencoder). Since you're probably going from one lossy format to another, differently-lossy format, you'll lose quality each time.
posted by hattifattener at 6:14 PM on May 29, 2004

a ZIP file is compressed. Wheras the latter is reshifting data similar to defragmenting a hard drive

ZIP isn't at all a simple rearranging of data.
posted by five fresh fish at 6:24 PM on May 29, 2004

What you want is dvd2svcd. Set your preferred function to "avi to svcd" (fourth option down) during the install.

If that fails you for some reason, check out doom9.
posted by reklaw at 7:04 PM on May 29, 2004

It gets easier to deal with as you gain more experience. Your first visit to VCDHelp is likely to be a bit overwhelming, But really, you just aren't understanding what compression does to video if you don't see why this is difficult. It's like you're asking: "Why is it so hard to use a table as a chest of drawers? They're both just wood!" True, but they're each wood cut to a certain purpose.

Compression (like MPEG, various AVI schemes, etc) translates a simple video stream into a complicated mathematical representation which takes up much less space, but requires a complex de-coding in order to see it as simple video again. It's not dirt-simple to just flip from one very complicated mathematical scheme to another. They aren't built to be easily translatable one to the next. They're desgined for maximum quality and minimum filesize. Each of them, in its own right, can be considered a "language for expressing a video signal." And like human languages, translation from one to another isn't a dirt-simple one-click process.

"Format" isn't really a strong enough word in this regard. Video "formats" aren't trivial tags or markers that you can easily manipulate and change. When you use a compression algorithm to encode video, you lose the original video and wind up with a sophisticated data stream. Changing this to something else is not as easy as turning a "text" document into a "Word" document by adding ".doc" to the name.

I guess, in fewer words, yes, it is complicated. But it doesn't always have to be too painful. You can probably do better than 6 tools and 10 pages of how-to for most conversions. Be sure you know what you want, and look harder. But you're not going to find one tool that converts anything to anything with one click. If you do, let me know!
posted by scarabic at 11:17 PM on May 29, 2004

You didn't look at the vcdhelp tutorials closely enough. They have an AVI --> SVCD tutorial that uses one tool only - TMPGEnc (OK, two tools if you include the CD burning software.)


TMPGEnc has a SVCD template that handles most of the settings for you.
posted by cnelson at 11:32 PM on May 29, 2004

Note that to burn an SVCD, you will need to encode in MPEG2, which TMPGEnc will only do if you buy a license for like $30. Try MPEG1 and regular old VCD for free.
posted by scarabic at 12:28 AM on May 30, 2004

Simply put AVI is not a file format, its a container. It can hold a lot of codecs, so the "one click solution" aint gonna work when an AVI can be anything.

So the easiest way to do this involves two steps.

Convert your AVI to MPEG2. (the MPEG2 standard SVCDs use) TMPGEnc does this.

Burn that file as a SVCD using some software. (I use Nero).

(and of course, like all software, there are cracked versions of these. In fact, you may just want to use plain old VCD if you dont want to pay and if quality isn't such a big deal)
posted by skallas at 1:01 AM on May 30, 2004

I third TMPGEnc as a one-step solution.
posted by Civil_Disobedient at 8:19 AM on May 30, 2004

I just use Nero to create VCDs (it converts the video), or the BPS Converter. It doesn't do Quicktime or RealVideo though it's very simple.
posted by holloway at 4:52 PM on May 30, 2004

« Older NES Adaptor   |   Why do US trains have flashing lights on the front... Newer »
This thread is closed to new comments.