Wednesday, April 29, 2009

The Mystery of the Disappearing M2TS Encodings

There have been a fair number of threads in YouTube Forums lately complaining about the fairly sudden disappearance of M2TS upload capability. For those who think I may have coughed and hit 4 random keys back there, M2TS stands for MPEG Transport Stream. It's commonly the container format used by many HDV and AVCHD cameras today when video is captured from the camera and moved to local disc for editing purposes, though if you followed the link to the Wiki article, you'll also note that it's a container format primarily meant for digital broadcast (not quite the same thing as streaming video). It's a fine format for that. Uploading it to YouTube for streaming presents some problems though.

For one it's much higher definition (usually) than anything YouTube (or any other site) can actually stream back to most users, considering, for example that the data rate is usually at least 15MB/s, and can be as high as 30MB/s -- while a fast cable connection under the very best of conditions streams not much higher than 20MB/s and in reality is often limited to 6-10MB/s.

That said, it is actually possible to upload the format to YouTube and get it to convert adequately. This, however, is not an example of success:

But the following video did convert more or less correctly:

A few ideas on why these videos converted differently come after the jump...

My leading theory has to do with interlaced versus progressive scan video. The big difference between those two renders was that the first one was defined at the frame rate that my Canon XL H1 (and many HD cameras) claim to shoot at. In my case, 60i, meaning 60 frames per second, interlaced. If you're in Europe or somewhere else where PAL video is the standard, the equivalent is 50i (50 fps, interlaced).

Look at the rendering details in the video description, though, and you'll see it's closer to 30 fps, and though it's still interlaced, something tells me that YouTube want to make that act like progressive scan. Somewhere in the encoding process there's a bit of confusion, and the result seems to be that all the frames play at 30fps, in effect making the video twice as long as real time.

In contrast, the successful version was rendered at 30fps and the project definition was also at 30fps. There are some slight defects in that version that I suspect are related to it being uploaded in an interlaced format, though, and among other things that means that YouTube decided that a much higher resolution interlaced video was more artifacted and did not rate the HQ35 rendering that many people have been striving for as the happy middle that gives decent quality and sharpness without requiring viewers to have the hottest, fastest new computer or a super-fast connection.

A few key threads from YouTube Help Forums:

- Failed to convert MTS...

- M2TS Files Failed to Convert

- AVCHD and .mts files

No comments:

Post a Comment

We welcome comments, especially the funny kind.