Archive

Posts Tagged ‘xvid’

转换视频到DVD机上播放

December 23rd, 2008 Fwolf 6 comments

最近注重家庭生活多一些,blog都快要荒废了,呵呵。买了个DVD机,淘汰了已经没法再用同时也是很久没有用了的N年前的山寨VCD,对于我来说主要用途是看电影,与在电脑上看不同,这样可以“霸占”电视,“强迫”家人与我一同欣赏。

好像现在市面上的DVD大多不支持rmvb,同时rmvb也是网上电影下载使用最多的格式,视频音频效果对我这个非发烧友来说都还过得去。在商场的时候倒是有一款“影王”能够直接播放rmvb,号称是全球第一款,播放效果还是不错的。但为了照顾喜欢唱歌的家人,还是买了重点在于学唱歌的“歌王”,支持“网络视频解码”(mpeg4家族,不支持rmvb),心想咱的电脑那么多计算力闲着也是闲着,就自己转换成支持的格式呗,结果还是小费了点工夫。

回家一试,倒是支持我最常用的XVID视频格式,但转了个样片发现播放的时候有强烈的抖动、回帧和马赛克现象,很费眼,没法看,遂逐一更换编码尝试:

  • 改用xvid 1-pass,照旧
  • 改用xvid 1-pass constant quantizer,照旧
  • 改用x264 1-pass、1-pass constant quantizer,结果不支持

无意中,看到有人介绍常用转码格式的时候,总是带上一个harddup的vf参数,查help一看,好像就是转码时提示

1 duplicate frame(s)!

的原因所在,而这个重复帧还有一定“校准”的功能,转个样片一试,问题都没有啦。

所以,我最终使用的转换方式如下(xvid 2-pass):

mencoder source.avi -ofps 29.970 -oac mp3lame -lameopts abr:br=128 -ovc xvid -xvidencopts vhq=4:pass=1:bitrate=$BITRATE -vf harddup -mc 0 -passlogfile "target.divx2pass.log" -o /dev/null;

mencoder source.avi -ofps 29.970 -oac mp3lame -lameopts abr:br=128 -ovc xvid -xvidencopts vhq=4:pass=2:bitrate=$BITRATE -vf harddup -mc 0 -passlogfile "target.divx2pass.log" -o target.avi

效果虽然好了,但占用空间体积也随之增大了,我的样片原本不带harddup的大小是17M,带上harddup转换的结果是20M,多占用约18%的空间,如果帧数降低一些,改为-ofps 23.976,那么转换出来是19M,只多占用12%的空间,其中利弊,各自取舍吧。

视频转换方面我只是略知皮毛,翻翻帮助学点够自己常用的就得,不知还有没有其它更好的转换方式。

参考

Update @ 2008-12-23

今天又转了一个正式的电影,结果出来以后比rmvb格式多用近60%的空间,比不带harddup多用23%的空间,有点汗哪。

Update @ 2008-12-26

又发现两个片子不能播放,提示:

video resolution not supported

一个分辨率是848×352,另外一个是1024×544,一般624×256的播放都没问题。

Related posts

Categories: Linux, Tools Tags: , , , ,

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

January 1st, 2007 Fwolf 9 comments

佳能数码相机深得用户喜爱,在市场上占有比较大的数额,当然说的是数码照相机了,不管是单反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%,可以吧?大家还有什么压缩经验,拿出来一起分享哦。

Related posts

Categories: Tools Tags: , , ,