使用mencoder转换佳能数码相机录像文件的最佳参数

佳能数码相机深得用户喜爱,在市场上占有比较大的数额,当然说的是数码照相机了,不管是单反dslr还是低端的dc。同时和其他品牌的数码相机一样,虽然主要功能是照相,也都带有简单的录像功能,不过canon的录像功能弱了一点,不仅音频采样率只有11024Hz,连视频信息也只是简单的存为Motion jpeg格式,换句话说就是把每秒24张jpeg图片存到一个大文件中,播放的时候一张张显示而已。即使是1G的sd卡,大概也只能录8分钟左右,所以,我要用mencoder转换录像文件的格式,这样尺寸会小很多。

目前使用mencoder转视频文件,使用最多的两种视频格式应该是lavc和xvid了,我个人喜欢xvid,不过还是先把找到的lavc的参数列出来:

mencoder MVI_2145.AVI -o 20070101-make_huntun.avi -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=800 -oac mp3lame -srate 11025 -channels 1 -af-adv force=1 -lameopts preset=medium -mc 0

如果使用xvid的话,参数为:

mencoder MVI_2145.AVI -o 20070101-make_huntun.avi -ovc xvid -xvidencopts bitrate=800 -oac mp3lame -srate 11025 -lameopts preset=medium -mc 0

上面两个例子是经过我的实验,综合效果最好的两种方式,如果想再把尺寸缩小一些,可以把采样率bitrate减少到600或更低。在相同bitrate的情况下,采用mpeg4编码的lavc和xvid压缩比大体相当。前面几个参数比较好理解,后面几个参数说明如下:

-srate 11025 canon相机录像音频的采样频率为11024,所以需要使用这个参数来把采样率固定到11025,为啥不用11024呢?我也不知道,反正用11024的话mencoder就不干活。

-lameopts preset=medium 这是使用系统内设的medium方式来指定音频mp3压缩方式,medium大概是最低的了,更高的还有standard和extreme,既然录音效果不佳,指定高参数也是无益。

-mc 0 这个参数主要是用来去除转换过程中的一些“Skipping frame!”、“1 duplicate frame(s)!”之类的提示,不仅如此,似乎还能使转换后的音频更流畅一些,并且如果没有这个参数和上面那个lameopts preset=medium,音频和视频有可能会不同步。

参考: [MEncoder-users] Compressing the photo camera Canon A610 video to mpeg4 at the best quality. Powershot SD700 IS — Major Problem

我的一段7分52秒的录像,canon相机存的原始大小为819.7M,使用xvid格式压缩完毕是46.8M,只是原来大小的5.7%,可以吧?大家还有什么压缩经验,拿出来一起分享哦。

11 thoughts on “使用mencoder转换佳能数码相机录像文件的最佳参数”

  1. 此文真是太好了。:) 谢谢。 如果用ffmpeg,是否是这样

    ffmpeg -i $1 -ab 64 -ar 11025 -b 500 -s 640×480 $1.mpg

    -s 可以根据照相时候选择的大小来设,我记得佳能可以设置为640×480,

    应该tovid http://tovid.wikia.com/ 也可以。我没有测试,因为我没有数码相机,不是没有佳能的(虽然我买也不会买佳能,即使我觉得它质量很不错),而是就没有数码相机。

    tovid参数更简单一点

    我想问问数码相机拍出来的那个avi是什么格式的。你手头有文件的话请用tovid的idvid来探测一下。谢谢。

    还有如果原始文件是24张图通过mjpge连接起来的,那么转换是最好的码流是多少合适啊?如果真是640×480拍的 500k/s似乎是小了么?

    1. 我這裡有一個Canon相機拍攝的視頻:

      VIDEO: [MJPG] 640×480 24bpp 30.000 fps 7434.7 kbps (907.6 kbyte/s)

      既然原文件是907.6,vbitrate是變動的,平均800,差不多。

  2. @box 我也是参考网上别人的经验比划出来的,如果没有弄错的话 码率是800k/s,采样率是11k(大概指声音吧) ffmpeg看来你更熟悉了,tovid有空我会试试的,谢谢你的推荐。 canon数码相机拍的avi是mjpeg格式,至少我的PowerShot系列是的 其他品牌,比如三星,索尼,好像带压缩,拍摄时间大大的延长了。 按照bitrate=800转换出来的影片,和640×480大小的原始影片相比 略微有些粗糙和颗粒感,不过尺寸降低了很多,个人认为还是可以接受的。

    1. 我剛剛試驗了一下,其他參數都一樣,一個1800,一個800,轉出來效果差不多,800比1800的,體積減少了一半。

      不過,我發現壓出來的橫紋(拉絲)現象比較嚴重,特別是一些運動的畫面,可有解決的良法?(我用mplayer播放時開啟反交錯,所有反交錯算法試了個遍,改善作用不是很大。)

      1. 不知道你说的横纹是什么,我以前遇到过压缩的片子, 用多媒体 dvd 在电视上放的话有闪烁现象, 后来好像是增加了个 -vf harddup 什么的参数,就没事了。

        1. 不是,是在电脑上播放的时候出现的。

          另外,你的邮件通知设置好像有问题。回复通知我28日才收到,虽然发信时间显示是20日。

Leave a Reply

Your email address will not be published. Required fields are marked *