Which video format/codec to use?

Hi!

Is there any container/codec combo that can be played on Win, OSX and Linux out of the box and has no license problems / has a full opensource implementation?

If not, what option comes closest? (like offering 2 versions to reach all goals, just not at once)

Not much choice I’m afraid?!
This one maybe:
http://www.xiph.org/ogg/
Bye

VLC media player is open source, cross platform, GPL and plays most codecs, there’s a list of what it does and doesn’t work with. As long as your prefered codec is on the list, anyone with Windows, OSX, Linux, can get the player and play your video, allowing you to concentrate on the quality/file size trade off.

I find DivX and it’s open source compatriot XviD to be good codecs as far as high quality for smaller file sizes. I haven’t tried ogg yet, but on OTOs recommendation, I will.

Perhaps Matroska?

Thanks for the replies. So we have:

Free/open containers:
http://www.xiph.org/ogg/
http://www.matroska.org/

Codecs:
http://dirac.sourceforge.net/
http://www.xvid.org/Project-Info.46.0.html
http://www.theora.org/
http://developers.videolan.org/x264.html

At least x264 seems be in alpha stage.
I guess windows mediaplayer supports none of them. Could I expect Win users to have another player installed?

Video formats supported by current Debian or Fedora?
Video formats accepted by Google Video and/or Youtube?

It seems Fedora supports Theora only.

Youtube: “… we recommend that you save your videos as either QuickTime .MOV, Windows .AVI, or .MPG files— these are the most common formats and they work well within our system.”
“We recommend the MPEG4 (Divx, Xvid) format at 320x240 resolution with MP3 audio, at 30 frames per second”

Google: http://video.google.com/support/bin/answer.py?answer=26562

x264 in a .mp4 container is the best for all platforms but only as a delivery compression. If you want a format for sharing between computers for editing then the lossless animation codec is best.

If you’re looking for playback on anything without installing additional codecs - mpeg1 is pretty much guaranteed to be viewable. It doesn’t have the best compression/quality ratio compared to more modern codecs like mpeg4/xvid, though.

You’re not going to find a high quality format that plays on both Windows and Mac straight out of the box. Mpeg2 is the best that will play without having the user download anything else. Unfortunately Windows and Mac are both very picky with video and audio codecs, as well as container formats. Linux will play damn near everything in the universe if MPlayer is installed and configured properly (even 64 bit).

One note for everyone about VLC: it has differnet bugs on different architectures. I recommend testing your movies before you ask people to download it.

Yay for Linux. Actually yay for Mac and Windows which can also run MPlayer. MPlayer does have a flaw though, it doesn’t support the standard .mov container unlike VLC and VLC isn’t buggy as hell. I used to use MPlayer all the time but it would do very weird things with movies like play the audio as a high pitched whine or it would play movies really slowly. After a couple of years testing out both, VLC is the clear winner and although there are minor platform specific bugs, it’s nowhere near those in MPlayer.

MPlayer does have a flaw though, it doesn’t support the standard .mov container unlike VLC and VLC isn’t buggy as hell. I used to use MPlayer all the time but it would do very weird things with movies like play the audio as a high pitched whine or it would play movies really slowly. After a couple of years testing out both, VLC is the clear winner and although there are minor platform specific bugs, it’s nowhere near those in MPlayer.

I use Quicktime Player (I’m on Mac so that’s a given anyway) with the Flip4Mac plugin which allows it to play WMV files (better than Win Media Player does on Mac). I also use MPlayer and VLC but only when QTPlayer refuses to play a particular movie.

I’ve had times where a vid that won’t play properly in QT plays fine in MPlayer and times when something that won’t play in VLC plays fine in QTPlayer and so on. It’s a nightmarish maze :eek:

As mentioned earlier though, MPEG1 is probably the most universal codec, if not the best. I save my vids in MOV, usually, and most people seem to cope. MOV also seems to be the standard now for the Hollywood big boys who make their trailers and previews available through the Apple video website.

MPlayer handles .mov files perfectly on Linux. I don’t even have any 32 bit codecs and they work flawlessly.

VLC is buggy as hell. I know of lots of issues (that happen to be different) on Linux, Mac, and Windows. If all one is doing is playing back movie files, it may not be noticeable. But when one dives into streaming, it will reveal all sorts of problems. This is a drag considering VLC is about to become the only fully cross platform VOIP/Video solution (with VLVC).

Yeah, that’s because Microsoft decided that developing the player took too much effort apparently and stopped a few years ago. Then when Flip4Mac came along, they declared the development officially over and the free Flip4Mac player is actually free because Microsoft made some sort of deal with the company. The download is available from the Microsoft site as well as the Flip4mac one so it is technically the official replacement for Windows Media Player for Mac.

It can get a bit crazy at times. Video formats are just weird. I’ve had the same issues. It’s annoying when you try to edit something because you think everything went ok and later on down the line when you watch it back, you find that the audio has been cut off the end of the movie or something. When I do any editing now, I make sure the files work in both Quicktime and VLC.

There needs to be a distinction between container and compression but the mov container is considered to be one of the best and it’s why they developed the mp4 container from it, which is one of the HD standards beside wmv. The preferred compression inside mov or mp4 is H264, which is what they use on the trailers site.

Must be a platform specific problem.

VLC also sucks for encoding movies but I only use it as a player. I would use Quicktime for streaming. It’s cross platform too:

http://developer.apple.com/opensource/server/streaming/index.html

Since we’re on the subject…

When you encode with QuickTime, can you use m4a files? I ask because with Ffmpeg or Mencoder on my machine, I can create h264 videos with no sound capable of playing on QuickTime (both .mov and .mp4), but if I add a m4a file to the container, QuickTime no longer recognizes it as being a movie file.

XVID… open source equivalent to divx, good quality… cross platform.

When I encode mp4, I’ll either use isquint/visual hub, which is fast because of x264 or export a quicktime mov no audio and then paste the audio in and export with audio as mp4 with video passthrough. The second export encodes the audio as AAC (or m4a) and puts it in the mp4 container.

I did use ffmpeg/mencoder/mpeg2enc at one time but they gave me odd results when encoding H264. The audio would sometimes playback in fast forward in both VLC and quicktime.

m4a is the same as mp4, it’s just that Apple started using m4a to differentiate between purely audio files and movies on itunes. They use m4v for movies.

Have you tried mp4creator?:

the video tutorial maker suggests we use DivX…should I use XviD instead to ensure all our users can view the video tutorials???

Roger, basicly they’re the same thing. xvid you can use freely though, there is some licensing on divx. So for a legal and free solution, xvid is a good choice

thanks. i will try to annotate the instructions. I’m worried about, like in two years, if someone changes their mind, we’re all screwed and have to pay to get the viewer/codec. the MS codes compress very well, but its MS and most of our users seem to be Unix, and I dont want to piss them off either.

If anyone cares…

I had success encoding for Quicktime using FFMPEG and x264 from subversion for the video (H264), and folding in the audio using MP4Box from GPAC (M4A). Using MP4Box to make the whole video produced something that RealPlayer could play, but Quicktime couldn’t handle the video.