Thursday, February 2, 2012

Change FourCC setting in Linux Using Mencoder

Sometimes an AVI video file will not play on my PS3, resulting in a "data type not supported" error message. I finally figured out the problem this time. It wasn't audio codec, and it wasn't the weird fps it had; It was a FourCC setting that was incompatible. I tried using cfourcc to do this, but it did not result in playable AVI files. So, I tried mencoder and it worked fine, all without remuxing.

mencoder <input-file> -oac copy -ovc copy -ffourcc XVID -o <output-file>

-oac stands for "output audio codec"
-ovc stands for "output video codec"
-ffourcc is for forcing the changing of the fourcc setting. The non-playable files had a FourCC setting of FMP4. I changed it to XVID, which made them playable.
-o is for output file

Example:

mencoder The.Big.Show.S01E03.avi -oac copy -ovc copy -ffourcc XVID -o The.Big.Show.S01E03-XVID.avi