漳州公司建设网站,深圳响应式网站建设,微信企业邮箱怎么注册,wordpress short link1. Xvid参数详解 众所周知#xff0c;Mencoder以其极高的压缩速率和不错的画质赢得了很多朋友的认同#xff01; 原来用Mencoder压缩Xvid的AVI都是使用Xvid编码器的默认设置#xff0c;现在我来给大家冲冲电#xff0c;讲解一下怎样使用Mencoder命令行高级参数制作Xvid编…1. Xvid参数详解 众所周知Mencoder以其极高的压缩速率和不错的画质赢得了很多朋友的认同 原来用Mencoder压缩Xvid的AVI都是使用Xvid编码器的默认设置现在我来给大家冲冲电讲解一下怎样使用Mencoder命令行高级参数制作Xvid编码格式AVI影片。经过测试可以毫不夸张的说在减小50%的文件体积同时能够保持原有画质 大家平时用WisMencoder压缩电影的时候也许会感觉到虽然它速度飞快但是关于Xvid编码器的设置却少得可怜并没有完全发挥出Xvid编码的优势
这里仅仅讲解WisMncoder的手动参数其他设置还需大家自己完成。压缩过程中的视频码率建议不要超过192Kbps因为对于加入了手动参数的Xvid编码器画质提升是相当明显的强烈建议用2-Pass压缩 首先介绍一下这些高级参数的作用 cartoon——卡通模式 vhq4——VHQ MODE有0-4五个值越大画质越好但是编码速度越慢 chroma_me——动态检索 max_key_interval——最大关键帧距离 Quant_typempeg——量化矩阵Mpeg模式如果压缩时去掉这段就默认量化矩阵为H.263 trellis——高质量量化模式 GMC——全域动态补偿 qpel——四分之一像素精确动态补偿如果使用了该功能则可能降低解码速率建议不用 bvhq1——在B帧上启用VHQ lumi_mask——加大画面明暗部分压缩率一般不用有时会导致画面失真 greyscale——使用灰度但是便出来的画面是黑白的一般不使用 interlacing——隔行处理适用于交错片源一般不使用 chroma_opt——色度优化 Quantization量化选项关键的关键就在这里 量化器级别(quantizer level)即Q值越高画面细节越丰富但是在低码率下越高的量化器级别会带来越低的画面质量Q 值越小质量越好码率越大Q 值越大质量越差码率越小。实际上它的原始概念更复杂我们干脆简单地认为1就是100%原质量31就是1/31的原质量好了。P-frame即未来单项预测帧建议设置在1--15之间它的作用是只储存与之前一个已解压画面的差值。即仅仅描述它与前一帧的区别。I -frame即关键帧的Q值只用能作用于2pass-second压制上在VirtualDub被标示为 [K]关键帧是构成一个帧组GOP Group of Picture的第一个帧。I-Frame 保留了一个场景的所有信息Keyframe原意是指可以单独解码、用于同步的 frame不过在MPEG系统中只有I-frame有这个特性因为BF和PF都是预测帧要靠I-Frame来还原。B-frame即双向预测帧除了参考之前解压过了的画面外亦会参考后面一帧中的画面信息。这三个设置的范围都是1-31应该注意的是在场景昏暗的条件下不要让B-frame 过低。 min_iquant1——IF的量化最低值(取值范围在1-31之间) max_iquant10——IF的量化最高值(取值范围在1-31之间) min_pquant1——PF的量化最低值(取值范围在1-31之间) max_pquant10——PF的量化最高值(取值范围在1-31之间) min_bquant1——BF的量化最低值(取值范围在1-31之间) max_bquant30——BF的量化最低值(取值范围在1-31之间) -sws 9 取值范围在(0-9)之间不同值代表不同的Resize算法建议用 -sws 9 0 快速二次线性(默认)速度较快 1 二次线性 2 二次立方(质量很好) 3 实验中 4 最短距离 (bad quality) 5 区域 6 亮度二次立方 度二次线性 7 高斯 8 sincR 9 lanczos速度较快而且画面锐利 10 双三次样条曲线 实际应用举例 把 vhq4:cartoon:chroma_me:min_iquant1:chroma_opt:min_iquant1:max_iquant12:min_pquant1:max_pquant12:bvhq1:min_bquant1 添加到WisMencoder的手动参数中的视频编码处如本楼底部图片 然后再把 -sws 9 参数添加到视频滤镜处即可记得-sws 9前一定加个空格要不编码器不会启动 当然你也可以自己摸索适合的方案做出效果更佳的方案 Xvid大概介绍个人认为XVID编码比DIVX编码的画质更好故只讲XVID的参数。了解以下内容对转换影片有一定帮助尤其是要放在硬盘上用PC观看的视频当然对转换成手机观看的影片也是有好处的使你不至于盲目的转换 (此文是参照电脑杂志上的介绍而写在此感谢写出那篇文章的作者。所涉及到的图片是自己抓的文字也是一个一个字打出来的并非从网上转抄我无非是想让有兴趣于此道的朋友更多的了解xvid这个编码器 如果在网页上看不太清楚的图片请下载到个人电脑上查看 xvid有两种编码方式single pass和twopass single pass模式编码简单速度也快但最终效果不如twopass。 twopass就是视频压制需要经过两次编码分别为twopass1st pass简称1pass和twopass2nd pass简称2pass 1pass时编码器会用最高质量编码采集可供第2次运算参考的画面信息而在2 pass时。编码器会根据第一次压缩获得的信息和用户指定的文件大小自动分配比特率使需要高流量的运动画面分配到更多的空间更高的比特率来保证画面质量。相对的对于那些不包含太多运动信息的静态画面则用较低的比特率。追求画质的朋友当然会选择这种方式但运算比single pass更费时。 接下来介绍一些基本概念 Q值——量化值它被用来描述1帧的质量每帧都有一个Q值取值范围在131之间。Q值越小画质越好比特率越大 Iframe——关键帧常被缩写为IF。关键帧是构成一个帧组的第一帧。IF保留了一个场景的所有信息 Pframe——未来单项预测帧缩写为PF只储存与之前一个已解压画面的差值 Bframe——双向预测帧缩写为BF除了参考之前解压的画面以外也会参考后一帧的画面信息 第一步ProfileLevel框架级别设置 选择ProfileLevel旁的more按钮来进行框架设置。ProfileLevel里方案的层级越低编码的比特率及分辨率限制的越多。在制作 DVDrip时一般选择ASL5或者unrestricted不限定比特率让编码器自行分配。我在制作手机影片时通常选用ASL5因为可选择的方案更多而且比特率可自己随意调节只要手机能跑的动就行 注意在single pass模式下ProfileLevel的设定无效由编码器自行分配比特率) 第二步Encoding type编码类型设置 这里是重中之重 第1种方式 single pass求快可以用这种一次性编码来压缩视频。但因为每帧的压缩率相同流量自行分配所以压缩后的视频容量无法控制。 single pass有Target quantizer和Target bitrate两种模式在主界面的Encoding type里先选择 single pass再点击左下方的Target XXX按钮在两种模式中进行切换 名词解释 Target bitrate——目标比特率模式。选择平均比特率编码相对容易控制文件大小。 Target quantizer——目标Q值模式采用动态比特率编码。设置为“1”是最高质量31是最低质量。设置为2是容量与效果的最佳比但文件体积很大可以设置小一点的数值例如2.5如果不确定可以按主界面上的“calc”按钮计算目标容量大小(详细的计算方法请看下一节 如何用calc计算容量 Target size目标容量的大小举例来说如果我们想将视频容量控制在1CD以内由于1M等于1024KB所以其值不能高于716800KB。 subtitles选择此项能将外挂字幕的大小纳入计算 container按照你想制作的最终视频格式选择 video设定视频长度及fps Audio设定音频格式 第2种方式 为了保证视频的质量很多时候我们会选择twopass模式来压缩视频 step 1 在主窗口的“Encoding type”下拉菜单中选择1pass模式再点击旁边的more按钮。在弹出的窗口中勾选 “Discard first pass”不输出第一次运算结果否则可能生成一个高达几GB的无用文件。 “full quality first pass”是指优质进行1pass通常这是没必要的这样反而会降低1pass的编码速度 step 2 再返回到主窗口在“Encoding type”下拉菜单中选择2pass模式点击旁边的more按钮进行设置。 首先点击“stats filename”这一栏的按钮选择在1pass编码时生成的*.pass文件。 其余讲解请看图 以上介绍了两种编码方式现在讲一下视频的优化 01.Advanced Options Motion search Precision运动检索精确度设定运动检测的精密度数值越高文件转换时间越长建议选用“6ultra High” VHQ modeVHQ模式根据人类视觉特性进行建模可以使肉眼可分辨的区域压缩的好一点从而提升肉眼所见部分的视频质量。若想效率与质量兼顾可以将VHQ设置为1若想求得最佳画质则可以将VHQ设置为4 Use VHQ for bframes too对BF也使用VHQ模式 Use chroma motion使用chroma色度信息来动态计算虽然会增加编码时间但可以有效地防止色块和亮块建议选择 Turbo开启BF时可以提高编码速度但会降低一点画质不建议选取 Frame drop ratio丢帧率保持为0因为我们希望每一帧都被编码 Maximum Iframe interval最大IF帧距一般为帧率的10倍。例如一段视频的帧率为24则该处就填写240最好是维持为240这样可确保每240帧就会有一个IF。如果场景变换侦测出需要插入IF的帧数小于这个值的话它就会重新计算 02.Quantization量化设置 设定IF/PF/BF最小及最大Q值从XVID1.1开始它的流量控制做的很好在比特率足够的情形下不会出现过高的Q值保持默认可防止目标容量超出或者小于设置的情况。但在single pass模式下设定Q值是无效的 Trellis quantization在2pass模式下可以提升画质但在single pass模式则会使画质有一些下降容量也有所减少 03.Debug设置 Performance optimizations性能优化可以选择特定的cpu指令集优化建议选择第一项 Fourcc used默认值是xvid改变此设定可以让你使用divx等其他播放filter来播放但有时会不兼容建议不修改此项设置 04.Zone options设置 zone其实就是将影片划分为几段分别为这些片断定制一些设置此项设置用于转换pc上观看的影片较多在此不作细讲 小提示如果在片头之类非重要片段使用Quantizer模式应该在1pass中也使用相同的设置。而若要用Weight模式则只需要在2pass中设置即可 至此xvid的参数设置已讲解完了有兴趣于此道的朋友可以多作尝试找出适合你的具体参数。 我先献丑了把自己的参数设置提供给大家 手机机型QD 片源一般都是网上下载的AVI文件 转换软件:TMPGEnc3XP 视频编码器:xvid 编码参数帧率:15fps 码率:128160kbps动画片的码率有时更小 编码方式single pass上传到论坛的视频都是用的 single pass主要是为了节省时间而且手机不能支持较高的码率故个人感觉在此single pass和twopass差别不大。如果用于 pc上还是建议用twopass 其余的设置均是参照上文 音频编码MPEG Layer3 32000hz 48kbps CBR Mono 滤镜只在加字幕文件的时候用到一般是制作的SRT字幕滤镜是Text Sub2.23 如果有朋友经常用DIVX编码请发个帖子作一下详细的介绍大家交流一下经验2.
Xvid命令行高级参数详解
Xvid编码高级参数压缩过程中的视频码率建议不要超过192Kbps因为对于加入了手动参数的Xvid编码器画质提升是相当明显的强烈建议用2-Pass压缩首先介绍一下这些高级参数的作用cartoon卡通模式非卡通则去掉此参数 vhq4VHQ MODE动态搜索算法有0-4五个值越大画质越好但是编码速度越慢 me_quality6 动态搜索精度6为精度最大值 chroma_me动态检索 色彩动态评估max_bframes0 B帧最大间距设为0表示关闭B帧功能 profileXXX 小于等于15fps设置为sp3大于15fps设置为asp3 max_key_intervalXXX 最大I帧关键帧间隔一般设置成帧数的10倍 Quant_typempeg量化矩阵Mpeg模式如果压缩时去掉这段就默认量化矩阵为H.263 trellis高质量量化模式 GMC全域动态补偿 qpel四分之一像素精确动态补偿如果使用了该功能则可能降低解码速率建议不用 bvhq1在B帧上启用VHQ lumi_mask加大画面明暗部分压缩率一般不用有时会导致画面失真 greyscale使用灰度但是便出来的画面是黑白的一般不使用 interlacing隔行处理适用于交错片源一般不使用 chroma_opt色度优化 色彩最佳化Quantization量化选项关键的关键就在这里量化器级别(quantizer level)即Q值越高画面细节越丰富但是在低码率下越高的量化器级别会带来越低的画面质量Q 值越小质量越好码率越大Q 值越大质量越差码率越小。实际上它的原始概念更复杂我们干脆简单地认为1就是100%原质量31就是1/31的原质量好了。P- frame即未来单项预测帧建议设置在1--15之间它的作用是只储存与之前一个已解压画面的差值。即仅仅描述它与前一帧的区别。I- frame即关键帧的Q值只用能作用于2pass-second压制上在VirtualDub被标示为 [K]关键帧是构成一个帧组GOPGroup of Picture的第一个帧。I-Frame 保留了一个场景的所有信息Keyframe原意是指可以单独解码、用于同步的frame不过在MPEG系统中只有I-frame有这个特性因为BF 和PF都是预测帧要靠I-Frame来还原。B-frame即双向预测帧除了参考之前解压过了的画面外亦会参考后面一帧中的画面信息。这三个设 置的范围都是1-31应该注意的是在场景昏暗的条件下不要让B-frame过低。 min_iquant1——IF的量化最低值(取值范围在1-31之间) max_iquant10——IF的量化最高值(取值范围在1-31之间) min_pquant1——PF的量化最低值(取值范围在1-31之间) max_pquant10——PF的量化最高值(取值范围在1-31之间) min_bquant1——BF的量化最低值(取值范围在1-31之间) max_bquant30——BF的量化最低值(取值范围在1-31之间)-sws 9 取值范围在(0-9)之间不同值代表不同的Resize算法建议用 -sws 9 0 快速二次线性(默认)速度较快 1 二次线性 2 二次立方(质量很好) 3 实验中 4 最短距离 (bad quality) 5 区域 6 亮度二次立方 度二次线性 7 高斯 8 sincR 9 lanczos速度较快而且画面锐利 10 双三次样条曲线实际应用举例vhq4:cartoon:chroma_me:chroma_opt:min_iquant1:max_iquant12:min_pquant1:max_pquant12:bvhq1:min_bquant1添加到WisMencoder的手动参数中的视频编码处然后再把 -sws 9 参数添加到视频滤镜处即可记得-sws 9前一定加个空格要不编码器不会启动当然你也可以自己摸索适合的方案做出效果更佳的方案3.
详解Xvid编码格式 XviD简介 XviD是当宿世界上最常用的视频编码解码器(codec)而且是第一个真正开放源代码的经由过程GPL协 议发布。在良多次的codec斗劲中XviD的默示令人诧异的好总体来说是当前最优异、最万能的codec。 编纂本段XviD的主要性 近五年来XviD一向是世界上最风行的视频编码器。估量在BT(BitTorrent)和eMule上至少90%的片子、电视剧是用XviD压制的。可是在中国的情形有些特殊因为中国的影视发布者喜欢用RMVB名目。编纂本段文件扩展名 XviD的文件扩展名可所以AVI、MKV、MP4等。需要声名的是仅从扩展名并不能看出这个视频的编码名目。好比说一部片子是.avi名目可是实际上的视频编码名目可所以DV Code也可所以XviD或者其他的音频编码名目可所以PCM、AC3或者MP3。MP4和MKV名目比AVI更前进前辈支持更多的功能好比字幕。AVI视频的字幕需要另外的SRT文件。当前国外绝大大都的影视资源都是AVI名目。 编纂本段XviD文件的大小 网上的视频资源大都采用固定码率(CBR)所以文件大小很不变并不会因为资源发布者的差异而改变。 1 一集43分钟的剧集文件大小为350MB左右。按照每季22集计较一季美剧需要7.5 GB的硬盘空间。 2 一集22分钟的剧集文件大小为175MB左右。 3 片子文件的大小由片子的长度抉择。 编纂本段XviD影视资源的文件名寄义诠释 国外电视剧建造组发布的欧美电视剧其文件名的具体寄义 剧名.S季数E集数.集名(有的没有标).旌旗灯号采集源.音频编码(默认的MP3可以不标).视频编码-建造组 例如 Prison.Break.S02E01.Manhunt.HR.HDTV.AC3.5.1.XviD-DiMENSION 剧名 - Prison Break S季数 - S02 E集数 - E01 集名 - Manhunt 旌旗灯号采集源 - HDTV 音频编码 - AC3.5.1 视频编码 - XviD 建造组 - DiMENSION 编纂本段XviD技术的降生过程 在1998年以前PC 上独一能用的 MPEG-4 编码器是由微软所开发的搜罗 MS MPEG4 V1、MS MPEG4 V2、MS MPEG4 V3 的系列编码焦点。其中前面两种都可以用来建造 AVI 文件至今都作为 Windows 的默认组件。可是 V1 和 V2 的编码质量都还不太好直到 MS MPEG4 V3 预备画面质量有了光鲜较着的前进。可是微软却抉择将这个 MS MPEG4 V3 的视频编码焦点封锁在 Windows Media 流媒体技术――也就是我们熟知的 ASF 名目之中不再能用于 AVI 名目。ASF 名目当然有一些益处可是过于封锁甚至不能被编纂惹恼了天不怕地不怕的片子骇客。很快便有小组改削了微软的 MS MPEG4 V3解除了不能用于 AVI 名目的限制并开放了其中一些压缩参数由此也就降生了我们今天所熟悉的 MPEG4 编码器 DivX;-)3.11。DivX普遍风行成为 DVDRip 的标准问题是它的根本技术是犯警盗用微软的只能在地下里传布却上不了台面无法进行更普遍的产物化更无法出产硬件播放机。在这种情形下一些精晓视频编码的工程师 (搜罗原 DivX 3.11 的开发者) 成立了一家名为 DivX Networks Inc. 的企业简称 DXN。DXN 创议一个开放原始码项目 Project Mayo方针是开发一套全新的、开放原始码的 MPEG4 编码软件。出格是完全合适 ISO MPEG4 标准的 Open DivX CODEC 吸引了良多软件高手介入并很快开发出Open DivX 编码器和译码器原型之后又开发出更高机能的编码器 Encore 2 等等。这一时代首要编码工作是 DXN 的人在做而良多技术难关的解决得力于来自开放源代码社会的辅佐。就在一切都看]起来进展顺遂的时辰好戏上演了。Project Mayo 当然是开放源代码但不是依据 GPL (通用公共许可证一种开放源代码项目中常用的保障自由使用和自由改削软件权力的和谈)而是LGPL和谈LGPL和谈次级GPL(Lesser GPL)与GPL一样是一种公共许可证。与GPL的最大差异是它许可私有。。DXN 在设计授权和谈时留了一手2001 年 7 月就在 Encore 2 基本成型差不多可以产物化的时辰DXN 另搞了一个 DIVX 网站封锁了原始代码发布了他们自己的 DivX 4。DivX 4 的根本就是 Open DivX中的 Encore 2但操作了 DivX 的商标出乎意料的摆了所有人预料。因为DXN 不再介入Project Mayo 陷于搁浅Encore 2 的原始代码也被 DXN 从服务器上撤下。经由激烈的争论DXN 当然认可 Encore 2 在法令上是开放的但仍然拒绝把它放回服务器。开源社区就这样被狠狠地涮了一回。Open DivX 尚不能实际使用而 DivX 4 (以及后续的收费版本DivX 5) 等成了私有财富良多酬报打破微软垄断而无偿支出的智能和劳动仅仅是辅佐了 DXN 企业发家。这种功效当然是不能被接管的是以整个 0dayz 组织永远的拒绝了 DXN 企业的 DivX4/5而原 Open DivX 开发组中的幸存者逐渐从头聚拢开发力量在最后一个 Open DivX 版本的根本上成长出了 XviD。浩劫不死的 XviD 到此刻又渡过了近 1 年时刻它继承并成长了 Open DivX Encore 2机能获得极大提高被认为当宿世界上速度最快的 MPEG4 CODEC。XviD重写了所有代码并吸收前车之鉴遵照 GPL 发布 (注重不再是 LGPL所以谁若是想用它做成产物而不开放源代码是犯警的)。可是因为 MPEG4 还存在专利权的问题所以 XviD 只能模拟 LAME 的做法仅仅作为对若何实现 ISO MPEG-4 标准的一种研究交流网站上只供给原始码若是要使用就要自己编译原始码或者到第三方网站下载编译好的可运行版本。想当初Gaj 之流的几个家伙搞 Open DivX 的时辰一预备是很像一个像模像样的开放原始码项目良多人都被吸引曩昔一路开发测试。直到后来那几个家伙一夜之间露出骗子的原本脸孔了把 Open DivX 的功效一股脑带走酿成了封锁源代码的 DivX4尔后进一步酿成此刻的收费的 DivX 5 了。原本很好的 Open DivX 被逼流产可是也就促成了今天 XviD 的降生、成长和壮大。此刻的 XviD 更可以说超越了 DivX 5以更好的质量更强的功能佻达战着新一代的 MPEG4 应用沙场。编纂本段XviD版本的历史 10 2002年2月17日 第一版 初度发布 10 2002年2月28日 大量的改进和更切确地诠释 11 2002年3月2日 剖析澄清了良多概念 12 2002年3月4日 加进量化矩阵(quantization matrix),移去量(removed quant). 柔和(smoothing) 技术13 2002年3月8日 关于 Nics XviD Directshow Filter 的详释 13 2002年7月23日 按照Nics XVID Codec校正填补部分内容 编纂本段丰硕多彩的技术特征 DivX 跟 XviD 采用不按时设立关头画面来改进原先固按时刻关头画面所造成的动态画面画质欠安的气象而 2 PASS 的压缩模式使画质加倍滑顺,基本上两种编码的下场差异不大可是就同画质的文件大小来说 XviD 更省容量一部1.5小时的片子DivX 编码的大多为两片 CD,而 XviD 编码的大多仅需一片 CD 容量即可DivX 的版本从 2,3,4 一向跳到 5,原本长短盈利供给网友使用后来自 DivX 后预备当成商业软件其中有一部份就分开再行开发出非盈利的译码轨范那就是XViD。(概略这也就是为何要把 DivX 倒过来写的原因)不仅 XviD 的出线自己就是开放源代码社会中典型的一部教科书它在技术上的各类新特征也都是货真价实、老小无欺的。对于一个第二代的 MPEG4 视频编码焦点来说XviD 的各类算法设计都有代表性的前进前辈意义。 多种编码模式 除了最原始单重估定码流压缩 (1-pass CBR) 之外XviD 供给了搜罗 : 单重质量模式动态码流压缩、单重量化 (Quantization) 模式动态码流压缩、和搜罗外部节制和内部节制的两种双重 (2-pass) 动态码流压缩模式。XviD 显然是当前 PC 上的MPEG4 编码焦点中可选模式最多的视频编码。 其中出格是双重 (2-pass) 动态码流压缩模式经由过程检测画面行为幅度以最优化的体例曲线分配画面量化幅度使布满活性元素的视频影片可以在占用空间和画面质量之间获得最佳的平衡。而单重量化Quantization) 模式动态码流压缩可以高速地一次性生成可控画面细节的动态码流视频档案在较少的压缩时刻价钱之下可以获得较不变的画面细节质量这都是纯挚的 DivX 3.11 所不具有的优异功能。 量化 (Quantization) 体例和规模节制 量化 (Quantization),简单的说就是在编码时经由过程对时刻或空间上相邻的画面单元进行同化、恍惚细节的水平是对画面质量最基本的节制身分。XviD 不仅供给了标准的 MPEG 量化体例还特意供给了更适合低码流压缩的 .h263 量化体例。而且XviD 还可以在双重 (2-pass) 运算时按照对画面信息的综合剖析动态的抉择某段场景的画面量化体例真可以说是为收集媒体档案传布中空间与画质的平衡而考虑设计贴心得抵家了。除了量化体例选择XviD 还供给了壮大的对压缩过程中的量化幅度的规模节制。用户可以选定压缩时许可使用的量化幅度规模。例如设定一个量化的上限就可以避免可能出线的画质大幅下降的情形。 行为侦测和曲线平衡分配 对画面逐帧进行行为侦测以及对全片段的行为侦测功效进行剖析后从头以曲线平衡分配每一帧的量化幅度以做到 : 需要高码流的行为画面可以分配更多空间、更高的码流、更低的量化幅度来连结画面的细节; 而对于不包含太多行为信息的静态画面则消减分配预算。这种把好钢用在刀刃上的做法是 XviD 做为第二代MPEG4 编码的焦点内容。 XviD供给了多极行为侦测精度搜罗半像素插值 (half pixel interpolation) 的技术以 16x16 像素的微区块为单元标示上行为向量 以及 4 分行为向量 (inter4v motion vectors) 的体例以 8x8 的像素区块为单元更详尽的记载行为向量以供二重剖析。 动态关头帧距 动态关头帧距是另一个 XviD 所具有的在空间和画面之间获得最大平衡的技术。我们知道在视频压缩中不是每一帧都记实着全数的画面信息事实上只有关头帧记实着完整的画面信息尔后续的 P 帧 (P-Frame) 仅仅是记载下与之前一帧的差值。若是关头帧之间的画面转变很大则会华侈珍贵的空间在 P-Frame 上 而加进把转变很大的那一帧记其实关头帧里那么因为后续的帧不再有更大的转变就可以节约P 帧所需的空间。是以按照画面镜头切换和行为幅度来变换关头帧的位置对于视频压缩下的画面质量提高就有着事半功倍的下场。 心理视觉亮度改进 除了基本的 MPEG4 编码外XviD 还供给了不少附加功能。其中典型的就是心理视觉亮度改进。这个功能可能经由过程去除肉眼不能分辩的亮度旌旗灯号和亮度差异来提高压缩效率。遗憾的尽管这个设计很是的有创意可是当前的实际应用中却会导致肉眼可见的画面质量下降还等候在日后的版本中可以有所改良。 演人员表选项 另外一个贴心的设计是片子专用的演人员表选项。这个功能可以在用户指定的某些不需要保留细节的段落处 (例如片子的演人员表),设定下极低的码流。甚至压缩到正片码流的10%以下可以节约不少空间设计的也很是的贴心。 外部自界说节制 除了 XivD 自己的内部曲线分配节制体例外XviD 也供给了外部的开放接口。许可使用者略过 XviD 自己的编码剖析焦点操作第三方供给的外部剖析对象例如Gordian Knot,生成的分配好的节制档案再交还 XviD 做最终的二重运算压缩。这种体例扩展了 XviD 的可用性和用户节制水平因为像 Gordian Knot 这种软件甚至可以做到由用户节制每一帧的量化幅度和码流分配额度可觉得高级应用供给更多的可能性。 行为向量加速编码 XviD 还有专为提高编码效率而开发的设计就是记载下画面的行为向量信息至一个 Log 档案中。再在二重运算压缩时经由过程直接读取该档案中的信息节约下对行为向量信息的一再运算大幅提高编码速度。 画面优化译码 不仅在编码上 XivD 拥有壮大的功能在译码时的画面优化方面XviD 也有良多新的建树。例如 Horizontal deblock (Y) 可以柔化水平标的目的的亮度马赛克 Horizontal deblock (C) 可以柔化水平相的色度马赛克 Deringing(Y) 可以柔化环状亮度色斑 Deinging (C) 可以柔化环状色度色斑 mosquito 可以削减画面中的蚊状噪斑。而且这些 XviD 的画面优化手段都是可选的是以只要封锁几个不是那么需要的选项就可以在低配置的PC机上播放。 正在开发的 B 影格 另一个 XviD 中惹人注目的技术成长就是 B 影格。我们知道 I 影格就是关头影格P 影格在关头影格之间只储存与之前一幅已解压画面的差值。B 影格与 P 影格的事理一样但除了三者之前解压了的画面外亦会参考后面一影格中的画面信息。是以 B 影格解压出来的画面比P影格就要来的好。之前的 MPEG4 编码焦点都仅仅使用了 I 影格和 P 影格存储画面。若是能在此根本上使用 B 影格技术自然可以在画质和压缩比上更上一层楼。当前 XviD 已经为开发人员供给了测试性质 B 影格体验版的 XviD 编码焦点相信不久的未来XviD 就可以把 MPEG4 编码的优势阐扬到极致成为网上视频记实名目的牛耳。 关于DivX发源的小知识 这种名为DivX 的技术由一个27岁的法籍影音发烧友罗达Rota及电脑黑客基尔Gej缔造出来得。原本DivX所采的技术并非这两位仁兄发现的他们只可是是个**天才。跟着Windows的大行其道微软开发了MPEG-4技术能够将视频影像文件容量压缩到很小。罗达与基尔将程式重写一遍但将其更名为DivX且放在网上随意任人下载。微软声称将对所有敦促DivX成长的人、企业作出究查。可是罗达正周全申请将他们的DivX正当化。因为DivX虽然是从Windows的发现出来的但却没有用过任何微软的技术。而且他更与美国一些技术人士及财经人员开会和组新企业 ProjectMayo全力推广DivX。其实DivX是视频DVD的另一种保留体例要靠DeCSS轨范注才能做到。因为DVD自己有防复制的标识表记标帜让DVD不能随便复制到电脑里但DeCSS能将它解码令其可以复制压缩成DivX片子。针对这一做法各大片子商当即采纳步履防止DeCSS外流及散播但为时已晚DeCSS在Yahoo、Google上都能找到。若何播放XviD视频 对于大大都用户来说只要安装暴风影音或者K-Lite Codec Pack就可以顺遂地播放XviD视频了。其实这些播放软件大都是用ffdshow来解码的所以在播放视频的时辰Windows义务栏会呈现ffdshow的图标。 4.
XVID内嵌时的参数测试 这是一个XVID编码测试主要为RAW为AVI的内嵌使用。目标是个头小而画质好。缺一不可。针对其中比较重要的Q值、B值、single pass与Twopass做了较为密集的测试其他选项尽可能采用了默认值以便结果更为客观。另比如“Begin with keyframe”等几个少数主要是为修正兼容性的或者色彩优化的选项则被勾选。 概念部分主要参考并拷贝了《[SilkyBible] 视频知识系列》与《XVID 1.0参数详解21b.pdf》。说实话我看的好痛苦0而且为了便于理解。因此下面说明或推测时都会以比较极端的例子来说明。如果有理解偏差的地方大家请无视而pass。然后顺带转告一下偶吧。 先了解一些必要的概念。看完概念后可以直接看绿色字体的结论。然后反过来看分析。这样思路会较为清晰。 Q 值——Q 值是指量化值。顾名思义Q 值用来描述一个帧的质量每个帧都有Q 值。该值取值范围是1~31。Q 值越小质量越好码率越大Q 值越大质量越差码率越小。实际上它的原始概念更复杂我们干脆简单地认为1就是100%原质量31就是1/31的原质量好了。具体到一个片子的某一个帧的Q的取值该值由编码器编码的时候根据该帧的颜色、与跟前/后帧的动态关系等自动确定例如如果编码器认为该帧很重要就会提高Q值来压制以获得更高的质量。当然我们也可以指定它的取值。 IF——I-frame 的缩写即关键帧在VirtualDubMod被标示为 [K] 。关键帧是构成一个帧组GOPGroup of Picture的第一个帧。IF 保留了一个场景的所有信息Keyframe原意是指可以单独解码、用于同步的frame不过在MPEG系统中只有I-frame有这个特性因为BF和PF都是预测帧要靠IF来还原。具体例子电影通常1秒钟播放24帧所以它1秒钟有24幅不同图象。设想有24幅鸟的图象在第一幅里鸟在图的左侧然后它逐渐向右移动。在第24帧鸟已经在图象的最右侧了。设想这24幅图象以足够快的速度按顺序播放那么人眼看来就好象这鸟从屏幕的左侧飞到了右侧。 PF——P-frame 的缩写即未来单项预测帧只储存与之前一个已解压画面的差值。即仅仅描述它与前一帧的区别虽然描述的不甚准确但相信理解含义并非难事。比如说有一幅一只小鸟飞过一片有云彩天空的图象这是个关键帧keyframe。然后我们可以使用I帧来这样描述P帧将小鸟向左和下方各移动一英寸。 BF——B-frame 的缩写即双向预测帧除了参考之前解压过了的画面外亦会参考后面一帧中的画面信息。B 帧具体怎样描述预测变化很复杂下面以一个不很恰当的动画例子来说明一下它最主要的存在效果 如果一个片子是24fps的总长度为25分钟、那么它的总帧数为25min*60s/min*24fps36000帧。这个是固定值。可以全是IF也可以是IF混合着PF或者IF、PF、BF都有。但是IF不能没有都靠它还原呢。哪个个数增多另外两个就要相应减少。因此多使用PF可以不减画质下减小体积加入BF会进一步减小体积。至少理论上是这样的。BF是双向预测主要记录变化值因此可以少记录信息事实虽并非如此但就通常的效果来说记录量会减少而PF是单向因此记录量通常来说会多些。除了压缩率以外B 帧对画质的影响也是有的因为 B 帧这种参考前后画面的特性等于有内插interpolation的效果所以可以减少噪讯。 概念部分终于说完了。OK下面测试数据正式粉墨登场。请看分析所用的截图这是内嵌时的状态图。当内嵌完成后把这个最终状态截取。片长1分32秒30.303 fps共计2815帧。内嵌所用的AVS脚本为 LoadPlugin(“D:\Program Files\AviSynth 2.5\plugins\VSFilter.dll”) AVISource(“D:\Downloads\100\100R.avi”) textsub(“D:\Downloads\100\100R.ass”) Tweak(0,1,18,1) ##亮度滤镜色度饱和度亮度对比度一般把亮度设为16-18就很亮了 测试用源文件相关信息草莓100%的OP个人认为它各方面比如动态、画面清晰度等均属中等 文件 : 39 Mb (39 Mb), 总长度 0:01:32, 类型为 AVI, 1 音频流, 品质 100 % 视频 : 22 Mb, 2041 Kbps, 30.303 fps, 清晰度: 640*448 (4:3),?DX50 DivXNetworks Divx v5, 支持 音频 : 16.86 Mb, 1536 Kbps, 48000 Hz, 2 声道, 0×1 PCM, 支持 插入一点说明 常见的DVD影碟的数据流的速率bitrate能够达到5000Kbps10000Kbps而目前常见的DVDRip通常具有1200Kbps2000Kbps的速率此时DVDRip的视觉效果与AVI文件的压缩比能够达到比较理想的平衡状态。如果追求优秀的视觉效果我们可以将速率提高到2000Kbps如果希望得到体积更小的AVI文件可以使用小于等于1000Kbps的速率。另外DVDRip通常采用的采样率为48kHz音频速率为96Kbps或128Kbps的MP3音频。 笼统地说XVID比DIVX的压缩率更高因此同样质量的帧XVID可以用更小的体积来达到。另外无论DIVX也好 XVID也好它们原本的用途是把DVD压缩成DVDrip。当我们拿到AVI时已经是压缩过的啦。那些所谓的2pass/1pass比值等其实是针对DVD to DVDrip而考虑为了提高2pass/1pass比值而缩小画面大小也是为了DVD to DVDrip而考虑。因此当我们内嵌AVI时非特殊目的以拿到与原AVI文件同样画质为最好。低了其实是再压缩除非你要求更小的体积。因此用XVID重编码时强烈建议把目标码率尽可能设置成原文件码率。 这一段不太容易理解目的所在我再笼统地进一步说明假如现在有个DVD需要压缩我们首先用XVID的Twopass的Twopass – 1st pass高质量预设采样量化值“w1”跑一遍看看最大能做成多大的。一般在媲美原画质的情况下 XVID可以把DVDrip压到原DVD的1/5至1/10的大致符合5000Kbps压到1000 Kbps。如果1pass的结果认为最大能做到688M那么在压制700M的光盘时我们就可以把这个结果做成1CD就把它压到最大值。但是有些人就不太方便了他想得到更小的体积以节省刻盘成本。比如压成344M的2张1CD的文件此时2pass/1pass344m/688M50%(呵呵这里为了叙述方便数字很特别)按照大多数人的画质要求太低了看过原DVD的人会明显感觉到画质降低了因此我们要提高这个比值但是作成80%的550M更是浪费。所以此时我们可以把画面大小缩小一点以降低每一帧所占的体积。缩小画面尺寸使画面的精密程度提高使整体的大小下降。假如1个象素点占1K那么720*680肯定比640*480画面来的大。再次1pass得到了可以作成最大430M的结果然后2pass/1pass344m/430M80%较高的比值。该压缩率下的画质降低已经很难觉察啦。具体换算我就不说了这里主要是为AVI的内嵌做解说。因此这里给我们的片源同志提个醒靠内嵌来修饰缺陷并不完全可取为了保证内嵌质量请大家尽可能的找些高画质的AVI片源吧。 下面是1pass的结果截图这里并不需要看那个1pass状态文件的——video.pass。注意一下这里1pass认为最大值为17M但设成85%原码率或者称为85%原大小后目标文件的大小变大了这是因为在Twopass模式下2pass认为以Q3为预设采样量化值采样达到这个码率才足够我们再看2pass-q3-21m-2086kb-b2.jpg的截图虽然设置为理论上的原码率但结果变小了同样压成了1530fbps的。可见这里2pass优先了预设采样量化Q3值这里只说Q值是因为后面有其他的情况出现 当2pass/1pass的比值低于65%的话画质损失会比较容易看出来尽管这一点不是100%正确。因此2pass测试中对于这个好画质的临界值85%特别照顾了一下虽然它是为了DVD to DVDri而存在这里也给予一些测试好了。而21M的设定则是因为它理论上的帧速近似等于原文件帧速2041 Kbps故此也特别给予照顾。
文件命名格式及由来不标明2 pass的均为single pass模式
1、2pass-q3-17.8m(85%max)-1661kb.avi 依次为Twopass – 2nd pass、预设采样量化值、2pass/1pass比值85%的理论大小、理论帧速
2、2pass-q3-14.5m(85%max)-1343kb-b2.avi 依次为Twopass – 2nd pass、预设采样量化值、2pass/1pass比值85%的理论大小、理论帧速、使用BF2
3、2pass-q3-21m-2086kb.avi 依次为Twopass – 2nd pass、预设采样量化值、与原文件同样帧速的理论大小、理论帧速
4、2pass-q3-21m-2086kb-b2.avi 依次为Twopass – 2nd pass、预设采样量化值、与原文件同样帧速的理论大小、理论帧速、使用BF2
5、q2-q3.avi 依次为目标采样量化值、预设采样量化值。 另外要说明的是所有不加BF2的文件的帧个数比大致均为IFPF 72 27437227432815 所有BF2的文件的帧个数比大致均为IFPFBF701172157370117215732815。有变化也是几个到十几个帧的变动可以忽略不记。这估计是原文件帧结构和XVID的“帧类别使用与压缩”判断机制所引起的。 以下测试均BF2。原因是有效降低了大小并可能增进了一点点的画质如果使用BF后的文件与不使用BF的文件同样码率想必使用BF的总平均帧质量要比不使用的高总体质量也就要高。不过是不是属于无效增大质量呢很有可能的。那么就看看q2-q3-b2与q2-q3的区别IF单帧最大提高从44273B提高到了44290B平均大小从20272提高到了20332PF的单帧最大没有变化但分析q2-q4-b2与q2-q4时也提升所以可以认为是软件误差单帧最小也从148提高到了154平均大小从7432提高到了11768。而且IF的帧个数并没有被改变。这里的2帧同样应该是软件误差。而发生改变的只有PF的个数。所以可以认为使用BF后IF、PF被整体提升了质量以保护BF的质量。顺带也就提升了整体质量。 至于在同样码率下是不是出现无效增大质量呢如果XVID确实比DIVX的压缩更具效率那么就确实可能存在很少的无效质量。不过两个家伙能力应该比较接近。那么也可大致认为需要码率接近。虽然其BF威力比DIVX的貌似更大一些。如果原文件也是XVID编码那么就更可认为码率要接近。又因为前面的分析压缩比是针对DVD to DVDrip的因此当前考虑的首要不是再次降低块头。而且BF的前后参考性又可以某种程度上降低噪音。所以就这样认为吧。对于这一点我想还应该有更强的分析工具来确定判断很抱歉限于能力不能进一步分析了。如果有哪位朋友知道还请赐教一下。 以下均以不二次压缩为根本。即是码率保持不变。全部靠拢原帧速2041kbps。 1、 在single pass模式下 当以Q3为为预设采样量化值 BF2时目标采样量化值为Q值时q2、q3、q4截图一模一样IF、PF的结果Q值都等于预设采样量化Q值BF则还要低2个数量级左右目标采样量化值为目标指定帧速设为原帧速时2056kb-q3-b2的实际帧速为1531kbps比q3-q3-b2的1530kbps仅仅提升了1kbps。看来是“以Q3为预设采样量化值”限制了了目标采样量化值的设定。预设采样值为Q3的质量弱于原帧速采样。 当以Q2为为预设采样量化值BF2时目标采样量化值为Q值时q2、q3、q4截图一模一样IF、PF的结果Q值都等于预设采样量化Q值 BF则还要低2个数量级左右目标采样量化值为目标指定帧速设为原帧速时2056kb-q2-b2的实际帧速为2072kbps与q2-q2-b2帧速以及截图都一模一样。证实了“以Q2为预设采样量化值”则充分满足甚至超过了目标采样量化值的设定。预设采样值为Q2的质量强于原帧速采样。 另外从XVID的压缩算法本质上高于DIVX上来看高于原帧速的采样应该属于无效。所以本轮由2056kb-q2-b2参加半决赛。 当以W1为预设采样量化值时 BF2时目标采样量化值为Q值时结果文件的IF、PF、BF的Q值随Q值增大而成比例增大因此就以q2-w1-b2实际帧速为2072kbps参赛目标采样量化值为目标指定帧速设为原帧速时结果文件的实际帧速是1951kbps。两个比较后2056kb-w1-b2的IF单帧最大质量65313B比q2-w1-b263368B提高了近200BPF单帧最大质量87371B比70758B提高了近1300BBF单帧最大质量34570比24871B提高了约1000B另外无论IF、PF、BF其平均大小却均下降说明目标采样量化值为Q值限制了XVID的动态压缩能力发挥。故此预设采样为Q2的质量的有效率弱于原帧速采样。应该属于无效增大。 所以更好的 “2056kb-w1-b2”来参加半决赛。 2、 在Twopass模式下 以Q值2为预设采样量化值时BF2无论是以大小设成高与原大小或者低于原大小还是以帧速设成原帧速作为目标量化值状态截图均一模一样实际帧速均为2072fbps。看来2pass下以Q值2为预设采样量化值时结果文件实际帧速只与Q值成比例。而且可以看出Q2时达到了原帧速。为了验证这一点以Q值3为预设采样量化值时BF2再次测试发现截图同样一模一样帧速降为1530 fbps。证明猜想成立。那就随便选了“2pass-2056kb-q2-b2.jpg”出局半决赛。 以W1为预设采样量化值时BF2无论是以目标大小为目标量化值的提升从结果看来其实质还是在提升目标帧速还是目标帧速的提升都带来了实际文件帧速的提升。而且IF、PF、BF的实际Q值也在提升比如IF 2pass-w1-23.8m(85%)-2298kb-b2比之2pass-w1-21m-2086kb-b2其Q值范围虽然为1-3没变但平均Q值从2.23提升到2.06IF单帧最大63372字节虽然没变但是平均单帧大小从24597字节提升到了25725字节。PF的Q值范围则从2-3提升到了1-3平均Q值从2.66提升到了2.31PF单帧最大倒是从68540减小到68472不过从后面来看这应该是属于软件计算误差其平均单帧大小从15119提升到了16828。BF的Q值范围虽然为3-5没变但平均Q值从4.44提升到4.10BF单帧最大从21083字节提升到了23319字节平均单帧大小也从2087字节提升到了2251字节。 同样2pass-2056kb-w1-b2比之2pass-w1-23.8m(85%)-2298kb-b2进一步提升。而且是全面提升另外其实际帧速为2027 fbps。因此这里就派2pass-2056kb-w1-b2参加半决赛。 3、 半决赛与决赛 上下对比2056-q2-b2与2pass-2056kb-q2-b1的状态截图是一模一样的。先放弃2056-q2-b2直接对比2pass-2056kb-q2-b2与2pass-2056kb-w1-b2。比较后那么以Q2或者W1为预设采样量化值到底哪一个更好原则上Q1的比Q2的更好如果只有少量Q1似乎我们也注意不到如果把这部分更高码率的品质稍稍降低一点补贴给Q2部分似乎整体质量会有所提高而局部稍弱。XVID作为第二代MPEG编码技术它更强的功能就是品质高的给码率多些低的给少些。看下面的2056kb-w1-b2的截图甚至出现了BF的Q值低到了11我认为这是正确的因为貌似是静止的白屏就算我们给予它Q2的质量也纯属浪费。所以这样就兼顾了品质与大小。仔细对比2056-W1-B2与2pass-2056kb-w1-b2 2pass-2056kb-w1-b2的IF、PF、BF的单帧大小最大值均有所减小但是平均大小却都提高了一点。说说明2pass-2056kb-w1-b2的Q值分布更为平衡。 DivX DRF AnalyzerV0951的测试也这样认为看橙色字色处。所以我的结论是相对来说?single pass 模式不够细致。而Twopass模式则可以充分分析原文件并得出最佳的画面质量。即削减高峰增益中间。把全片质量从整体上提升。那么为什么BF的Q值在6-11的一段没有了呢猜测估计是XVID在Twopass后认为该品质的帧可能会造成烂帧比如马赛克。所以提高了它的Q值以防止烂帧的出现。 DivX DRF AnalyzerV0951 的一些测试信息 DivX DRF Analyzer v0.9.5 Report! File Name: E:\temp\100\2pass-2056kb-w1-b2.avi FourCC: XVID Codec: XviD0029 The Video has 2815 frames [ 00:01:32 ]
Average Frame quality is?HIGH?[Average DRF/quantizer is 2.74] Standard Deviation: Quality is MEDIUM [Std. Deviation is 0.95] Image Resolution is HIGH
DivX DRF Analyzer v0.9.5 Report! File Name: E:\temp\100\test\2056kb-w1-b2.avi FourCC: XVID Codec: XviD0029 The Video has 2815 frames [ 00:01:32 ]
Average Frame quality is?MEDIUM?[Average DRF/quantizer is 3.27] Standard Deviation: Quality is LOW?[Std. Deviation is 1.72] Image Resolution is HIGH 最终结论在Twopass模式下以W1为预设采样量化值、并且加入BF2、指定目标帧速为原帧速的情况最为理想。实际上Twopass模式默认的就是以W1为默认预设采样量化值以指定目标大小为默认值目标大小量化值因为XVID原本就是为DVD to DVDrip而设计的。所以这里不考虑二次压缩的时候应该改为指定目标帧速为原AVI即原DVDrip帧速。 问题一BF的B值设置为多少比较合适这里的B值不是指Q值而是指2个非BF间最多可以连续插入的BF的个数。 其实从开头BF的优越性就可以看出一部分原因了就是如果连续24个持续1秒钟都是BF播放时会出现什么结果又因为BF还需要参考后面的一帧所以画质会特别烂而且解码时会出现延时。造成影音不同步。所以 1、如果你想获得低于帧速率900kbps的文件你可以把B值设为3或者更大不推荐。 2、如果你想获得900-1400kbps左右的文件你可以把B值设为2。 3、如果你想获得更高品质的文件你可以把B值选项关掉。前提是你的源文件最好静态多质量也很高。 4、如果你有着其他要求那么没有必要的情况下请保持2的默认值吧。 下面是一些相关设置。没有说明的请保持默认。 问题二下面再回头想想BF的Q 值XVID是怎么得来的 BF 的Q 值由BF 前后的IF/PF 共同决定。BF 的Q 值BF 前后的IF或PF的Q 值的算术平均数* Quantizer ratio Quantizer offset。上边的数据貌似也反映了这个情况。 BF 是一个能有效提高压缩率的功能是否降低画质那要看如何设置了。有的设置压出来的部分BFQ 值比PF 还低。用最恰当的BF 设置来调节码率提高整体质量是非常有效的设置地恰当的话会令全片的Q 值分布相当平均可使DRF 测试中的第二项——Standard Deviation 轻易达到“Quality is HIGH [Std. Deviation is 0.50]”即动、静态场景的画质一致不会“静态尚可而动态MSK马赛克惊人”。通常情况下全片BF 含量在30%—55%左右画面效果与只用I、PFVHQ4 跑出来的画质无显著差别。即省时又保证质量所以一般应当使用BF。 随着XviD 的Frame Type 的不断进步从0624 版开始FrameType 判断较以前版本已经有了相当大的提高大动态场景BF 滥用现象可以参看开头BF的图示如果画面动态强变换快不具备连续性那么BF就作用不大了已经得到了较好的抑制经过实测在码率充足的情况下大动态场景基本用IF PF PF PF PF… 来压了所以BF 可以放心使用。 Twopass——二重运算。这种编码模式分为两步首先对画面逐帧进行运动侦测以及对全片段的运动侦测结果进行分析然后重新以曲线平衡分配每一帧的Q值以做到需要高码率的运动画面可以分配更多空间、更高的码率、更低的Q值来保证画面质量而对于不包含太多运动信息的静态画面则可以消减分配的码率。这种把好钢用在刀刃上的做法是XviD作为第二代MPEG4编码的核心内容。可以说Twopass模式可以在影片容量与画面质量之间找到最佳平衡点这也是大多数人都乐意花费更多时间采用这种方式的原因。 Twopass-1st pass——二重运算第一次运算。这是Twopass 模式的第一步。在这一步中编码器会用最高质量编码默认值W1这里要补充的是Twopass-1st pass的这个值其实可以指定并且效果并不相同有高画质的也有低的请看下面的1pass截图同时收集画面信息并将这些信息记录信息文件stats当中提供第二次运算的时候参考。 Twopass-2nd pass——二重运算第二次运算。这是Twopass 模式的第二步编码器会根据第一次压缩时获得的影片的信息和用户指定的最终文件大小自动分配码率低动态的分配得少一些、大动态的分配得多一些总之尽量保证最终文件大小为用户指定的大小。 5.
DivX和XviD 如今的电影是越来越好看拍摄、制作的特技效果越来越精彩人们期待的程度越来越高盗版也越来越多同时电影制作公司的防盗版技术做的越来越高明。但有句老话叫道高一尺魔高一丈无论你的电影多精彩、防盗技术多高明总是有人偏偏能够把你盗出来而且还盗亦有盗在保持原版原味的条件下占用的空间变得越来越小操作越来越灵活、简单越来越方便传播。而且这种技术随着版本不断更新画质越来越贴近原版、压缩速度越来越快、压缩播放进程对计算机的需求越来越低。这就是DivX时代的新生力量――XviD。黑格尔说过存在即合理随着时代的进步社会的发展在计算机视频技术方面更是突飞猛进。如今视频的业界标准已经到了DVD时代。主流的DVD光驱的价格已经降到400元人民币以内。DVD播放机的价格最便宜的已经降到了700元。但是这些都是近期发生的事情目前仍有一大群only CD-ROM群体他们不愿意再投资去买DVD光驱有的甚至由于机器无法再扩充而不能购买DVD光驱。这便促使另一个的解决方案的萌发。除此之外互联网宽带的普及Adsl宽带入户P2P软件的泛滥使得650MB的大文件轻松的实现异地传输。还有正版DVD大片的价格居高不下也是正版DVD普及化的一大障碍。基于以上因素的存在有一种新的视频压缩技术出现那就是DivX即压缩电影。压缩电影的技术有很多种但是DivX最为普及它广泛流传于互联网与盗版盘。随着时间的推移DivX再推出刚刚推出不久就不断推陈出新从DivX3.11到DivX4 ,目前最新版本为DivX5.02。本来版本越高技术也就越高、播放的质量应该更好、更清晰。但是事实告诉我们随着版本的提升压缩后的播放效果提升不明显压缩所用的时间越来越长压缩后的体积没有太大的进步甚至有的使用DivX5.02压缩以后会出现跳帧的问题。这到底是为什么呢难道视频压缩技术已经达到顶峰不能够再穿越了么目前又出现一种新的压缩技术名为XviD在视频业界初见端倪就目前来看它的压缩时间就是一大卖点它可以在保持DivX5的画质的基础上大大提高压缩时间。光从名字上看就可以看出Xvid与Divx他们之间肯定有着千丝万缕的联系大家一定想知道。下面就为大家谈谈关于XviD的故事。Long long ago…故事的经过是这样的。早在1998年微软开发了第一个也是唯一的在PC上使用的MPEG-4注编码器它包括MS MPEG4V1、MS MPEG4V2、MS MPEG4V3的系列编码内核。其中的V1和V2用来制作AVI文件一直到现在它都是作为Windows的默认组件。不过V1和V2的编码质量不是很好一直到MS MPEG4V3才开始有好转画质有了显著的进步。但是不知微软出何居心却将这个MS MPEG4V3 的视频编码内核封闭在仅仅应用于Windows Media流媒体技术上也就是说我们经常看到的ASF流媒体文件中。ASF文件虽然有一些优势但是由于过分的封闭不能被编辑未得到广泛的应用。这便惹怒了不怕天不怕地的视频黑客和置于钻研视频编码的高手。后来这些小组不仅破解了微软的视频编码而且经过他们的修改,一种新的视频编码诞生了。那就是广为流传的Mpeg4编码器――DivX3.11。随后一发不可收拾DivX被传得红得发紫很快就成了业界的标准。但是问题同样很快的出现了DivX的基础技术是非法盗用微软的只能在地下里流传却上不了台面正所谓名不正言不顺无法进行广泛的发展即产品化更无法生产硬件播放机。生产力要改变生产关系在这种情况的迫使下一些视频编码的高级程序员包括原DivX 的开发者组建了一家公司名为DivXNetworks Inc。这家公司发起一个完全开放源码的项目名为ProjectMayo目标是开发一套全新的、开放源码的MPEG4编码软件。由于它完全符合ISO MPEG4标准又是完全开放源代码就象linux操作系统OpenDivX CODEC吸引了很多软件、视频高手参与。人力、物力大大投入OpenDivX编码器和解码器原型很快便公布于众之后又开发出具有更高性能的编码器Encore 2等等。这DivX的辉煌时期。虽然主要编码工作是DXN的人在做但许多的技术难关的突破完全得力于来自开放源码社会的帮助。DivX的优势被人们所接受高品质的DVD电影的容量一般为5GB但经过DivX编码后的大小只有650MB仅仅为原DVD容量的八分之一图像品质却与DVD相当。它可以通过互联网相互传输还可以报存在一张CD光盘650MB上。DXN的野心DivXNetworks一直希望DivX能成为好莱坞巨头们选择的行业标准并可以通过互联网进行传输的视频文件就像唱片发行公司不得不接受MP3格式并使用它在网上传输音乐文件一样。DXN希望并计划在网上出售视频内容的公司达成技术转让的协议。但是到目前为止它尚未和任何一家主要的、甚至具有影响力的电影制片公司达成这类协议。很可惜的是想DivX这么好的电影只能在电脑上播放目前还没有一款播放机能够播放这样的光盘。日前DXN已经来到了中国这家公司的负责人表示目前有许多美国人都希望能买到采用这一技术的DVD播放设备但全球还没有人能生产所以他希望能与中国的DVD制造商携手在年内拿出产品并且首先在美国推出。天底下真的好人多么那么小人算好人么就在DivX顺利发展时期DivX的技术逐渐成熟商机无限的时候一台好戏上演了。由于DivX的技术不是依据GPL协议通用公共许可证一种开放源码项目中常用的保障自由使用和修改的软件或源码的协议而是LGPL协议注。这是DXN公司为自己留的后门。2001年7月就在Encore2基本成型的时候DXN公司突然封闭了DivX的原代码并在此基础上发布了自有产品DivX4。DivX 4的基础就是开放源代码OpenDivX中的Encore 2DXN利用了DivX的招牌。DNX公司这么做可以说是初其不备的摆了所有人一刀。开放源码社会就这样被狠狠地涮了一回他们是那么的无辜。DXN公司趁热打铁很快推出了DivX5但是DivX5没有比DivX4强到哪里去甚至有bug更可气的是这一版本还要收费。可怜阿有那么多无偿为DivX技术付出的智慧与劳动的人可悲阿他们为一值都在无偿的为DNX公司赚钱。这种垄断和一直处于垄断地位的微软来说DXN要更恨、更毒。人世间还是好人多正义当头首先是全球整个0dayz组织注永远的拒绝了DXN公司的DivX45。被人涮了一把的开源社团决定另起门户逐渐重新聚拢开发力量在OpenDivX版本的基础上再次开发出一种新的MPEG-4编码、解码软件。这就是XviD。从技术上来说XviD已经基本上与DivX5接近或者还有所超越春天来了近一年来XviD继承并发展了曾经的OpenDIVX Encore 2并且使其的性能、效率的到了极大的提升被认为是目前最快的MPEG4编码。这是因为XviD重新改写了所有原代码焕然一新。除此之外Xvid还吸收了前车之鉴依照GPL发布。不再是以前DivX的LGPL也就是说谁要是想用它做成产品而不开放源码是非法的而且在2002年也就是今年TDX2002全球最著名的地下电影发行组织每年在网上放出数千部最新而且高品质影片RIP已经接纳XviD为官方标准。这样TDX2002就有了两个正式标准DivX 3.11与XviD。而DivX 4、5像其它封闭的商业软件一样被永远拒绝。报应来了对开源软件下毒手的人远不止DXN一家目前因为一家商业软件公司盗用XviD源代码而被迫停止开发。具体的情况请参阅
http://www.xvid.orgXviD使用技巧关于XviD压缩设置的文章很多XviD可以调节的选项很细由于篇幅限制不再本文的讨论之内。在这里我推荐大家使用2-Pass编码 因为它能给我们更精确的最终文件大小并且生成最佳质量的编码 (在文件大小相同的情况下)。只安装DivX5的编解码器不能播放由Xvid压缩的电影。但是只安装XviD编码可以顺利播放DivX5压缩的电影。但是在播放DivX5电影的时候速度不能让人满意。加上ffdshow注之后效果明显改善。看来XviD在播放divX5的还不是很完善。虽然XviD到目前来讲与DivX5对战仍有些身单力薄优势不是很明显。但是笔者很看好XviD。首先它是绝对开放源代码这使得有更多的人投入到XviD的研发之中。还有它完全重写DivX的原代码让新的XivD去粗取精、焕然一新目前XviD的开发人员有很多都是当初DivX的研发人员对DivX的错误了解得很清楚重写之后XivD的地层优势可见一斑。另外DivX45虽然版本不断更新但是功能提升并不高优势不明显。XviD是新生力量而且充满了复仇的力量。祝XviD一路走好。XviD版本的历史:1.0 2002年2月17日 第一版 首次发布1.0 2002年2月28日 大量的修正和更准确地解释1.1 2002年3月2日 分析澄清了很多概念1.2 2002年3月4日 加入量化矩阵(quantization matrix), 移去量(removed quant). 柔和(smoothing) 技术1.3 2002年3月8日 关于 Nics XviD Directshow Filter 的详释1.3 2002年7月23日 按照Nics XVID Codec校正补充部分内容目前最新版本关于DivX起源的小知识这种名为DivX 的技术由一个27岁的法籍影音发烧友罗达Rota及电脑黑客基尔Gej创造出来得。原来DivX所采的技术并非这两位仁兄发明的他们只不过是个盗版天才。随着Windows的大行其道微软开发了MPEG-4技术能够将视频影像文件容量压缩到很小。罗达与基尔将程式重写一遍但将其改名为DivX且放在网上随意任人下载。微软声称将对所有推动DivX发展的人、企业作出追究。可是罗达正全面申请将他们的DivX合法化。由于DivX虽然是从Windows的发明出来的但却没有用过任何微软的技术。而且他更与美国一些技术人士及财经人员开会和组新公司 ProjectMayo.com全力推广DivX。其实DivX是视频DVD的另一种保存方式要靠DeCSS程序注才能做到。因为DVD本身有防复制的标记让DVD不能随便复制到电脑里但DeCSS能将它解码令其可以复制压缩成DivX电影。针对这一做法各大电影商立即采取行动防止DeCSS外流及散播但为时已晚DeCSS在Yahoo、Google上都能找到。名词解释: TDX2002组织全球最著名的地下电影发行组织每年在网上放出数千部最新而且高品质影片RIP。0day组织全球著名的破解组织。其意思为在不到一天的时间里破解软件自然包括游戏软件现在还涉及到其他东西0Day只是一个统称和WareZ的意思一样。成为他们旗下的会员就可以获得他们提供给你的帐号,当然由于要求严格,所以一般是很难进入的!!(这里我只提醒一下,多留意NFO文件里的信息).DeCSS程序乔·约翰森编写的小程序仅有57K不仅震撼了好莱坞还引发了无数的法律纠纷。他创造出来的“小魔怪”如今已经成了好莱坞制片商们最恨之入骨的冤家对头。DeCSS程序能够将正版加密的DVD影片复制到计算机硬盘上。它还可以将这些影片上传到互联网上。MPEG-4技术是一种崭新的低码率、高压缩比的视频编码标准传输速率为4.8~64kbit/s使用时占用的存储空间比较小。目前的DivX最新的XviD电影都采用的此技术现在被广泛采用。GPL协议通用公共许可证一种开放源码项目中常用的保障自由使用和修改的软件或源码的协议。LGPL协议次级GPL(Lesser GPL)与GPL一样是一种公共许可证。与GPL的最大不同是它允许私有。Ffdshow一个支持 Xvid、MPEG4-V3 MPEG4-V2 以及 DivX 所有版本所制作的视频文件的播放软件占CPU 资源比较少。 6.XviD配置参考详解【爆详细】
XviD的主界面 [Top] Profile Level [Top] 这个选项包含一些预设值与分辨率和码率有关按旁边的“more...”按钮再切换到Level标签可以看到预设的数值。因为我们制作的视频并不在其它视频播放设备比如具备MPEG4解码能力的DVD播放机中播放无须考虑设备兼容性所以这个选项一般可选“不限制”unrestricted或者默认的“AS L5”。 Zones [Top] XviD1.0以前的版本都有一个参数叫CreditZones继承并加强了以前的Credit功能使之可以控制片中任意一段视频。大家知道电影、动画片尾或片头都有制作人员名单 即Credit下同 而且一般没人会看。而老版XviD中Credit选项的作用就是允许用户使用较低的质量制作Credit部分让出更多的码率分配给正文部分以提高正文部分的质量。而在最新的XviD1.0中这个Credit选项却消失了取而代之的是一个新的参数——Zones。在这里我们可以把Zones理解成“区间”、或者说“片断”。也就是说我们可以在逻辑上将片子分成许多段并给这些段落一些“特殊待遇”。 Zones的使用例子 [Top] 上图例子中0~40640帧是正片按照正常压缩所以需要设定W1.00。从40641帧开始是长长的黑白滚动字幕的制作人员名单因为滚动字幕是非常浪费码率的所以这里我们设定使用Q8来压缩制作人员名单。Zones界面如上图本部分参数设置仅为例子具体设置在下面说明。 Zones的设置 Start frame#——该区间的起始帧用于指定该区间的范围。该区间的范围定义于起始帧开始至下一区间起始帧的前一帧。若没有定义下一区间则该区间一直定义至影片结束。 Weight——权重。设置该区间的实际应用码率与原码率的比。比如如果只想使用原码率的85%编码该区间那么这里可以填写0.85。如果想使用100%码率即原码率填写1.00即可。什么是“原码率”呢即XviD认为应该使用的码率。如果定义了权重那么XviD在实际压缩的时候就会将原码率乘以用户指定的权重作为该处实际的码率。 Quantizer——设置该区间帧的Q值。可以强迫编码器将这段区间使用某一Q值编码本选项通常用于Credit部分的编码。 Begin with keyframe——本区间的第一帧强迫使用IF。一般选择此选项。 Greyscale encoding——使用灰度。编码出的画面是黑白的适合于黑白画面比如片尾的黑白Credit可更加降低本区间的码率。 Chroma optimizer enabled——色度优化可以改善颜色过渡不自然现象。该选项对画面颜色有优化作用推荐选择。勾选此项会稍微降低编码速度所以可以选择仅对Weight设置成1的电影正文部分应用此设置。由于Chroma optimizer是在色度上做文章所以开启了Greyscale encoding的时候可以考虑关掉 Chroma optimizer可以在一定程度上提高一些编码速度。 Cartoon Mode——卡通模式。这个模式可以让画面显得更干净一些但这就意味着要抹杀细节。制作动画的时候可以使用。下面会有一个小结专门讲解Cartoon Mode BVOP sensitivity——BF灵敏度。值越大使用BF的数量越多。如果设定负值则会减少BF用量。制作CREDIT段落的时候本参数可以适当设置大一点用更多的高压缩率BF去压Credits参数可以考虑20或40。 注意如果要在Credit使用Quantizer模式的话要在Twopass-1st pass中也使用相同的设置才有效。而若要用Weight模式则只需在Twopass-2nd pass中设定既可从某种意义上讲这样可令Weight模式下的Two-pass-1st pass稍微快一点。 Zones应用于CREDIT的参数设置建议 演职员名单的Q值可限定为8或者9这样既可以保证名单上的文字能够分辨出来也可以大幅降低Credit这部分的视频文件体积。有时10分钟左右的Credits压出来也只有6、7MB这对某些拥有5、6分钟以上较长Credit的1CD DVDRip影片制作来说帮助是较为明显的。 Zones使用上的心得 [Top] 除非出现极端的现象否则不建议针对正片即影片中除广告、制作人员名单之外的正文部分使用Zones。有些用户喜欢自作聪明地指定许多Zones人为地干预码率控制。实践证明这种行为是非常不明智的这样会严重干扰XviD对于码率的控制和计算只会导致容量失控Oversize或Lowsize或画质下降。XviD的码率控制几乎是所有编码器中做得最好的所以不要担心把一切交给XviD去做吧。 考虑到观众 [Top] 现在不少影片的制作人员名单采用了带有画面的渐变或滚动字幕画面通常为一些拍摄花絮或影片插图、设定。考虑到观众的观赏需要这类名单不适合使用Zones来降低码率。所以压缩的时候应当时刻考虑到观众的心情。 Cartoon Mode [Top] 本部分作者Bopirit收录时略有修改 XviD有个动态判断标准值指判别画面是否有动态的标准。若高于这个值则判断画面为动编码时记载动态信息若低于这个值则判断为画面不动不记载动态信息。这个通常很低就是说很小一点差别都会判断为动态。 打开Cartoon模式后这个标志的值会加大相应的小的动态变化会忽略。对动画来说最直接的效果就是消除了浮动的细微噪点特别是在色块和线条之间这种噪点即使降噪也会出现。因为用了Cartoon模式这些噪点造成的小度变化被忽略掉因此会省出大量码率。在的实验中多在8%以上。但是因为画面的变动相对较大PSNR会降低虽然对动画来说这算不得降低而且对于使用H.263量化的动画还会让画面感觉更加模糊而对于MPEG量化这个Cartoon模式可以有效降低MPEG量化编码动画片的副作用尽管PSNR降低但实际上画面看起来更好。可以配合MPEG/MPEG Custom量化方式使用。 Q值 [Top] Q值是指量化值依据作者个人习惯不同这个值在不同文章中的叫法有所不同比如“量化值”、“量化级别”、“Quant”等等本文统一称作“Q值”。顾名思义Q值用来描述一个帧的质量每个帧都有Q值。该值取值范围是1~31。该值由编码器编码的时候根据该帧的颜色、与跟前/后帧的动态关系等自动确定。Q值越小质量越好码率越大Q值越大质量越差码率越小。本概念在XVID制作中非常重要Q值直接关系到影片的画面质量。 Encoding mode [Top] Encoding mode即编码模式。XviD一共提供两种编码模式。一种是Single pass另一种是Twopass。Twopass分两步分别是1st pass和2nd pass。下面对这两种编码模式分别进行讲解。 Single pass [Top] Single pass即一次运算Single pass有两种模式通过Target xxx按钮切换Target quantizer目标Q值和Target bitrate目标码率。Single pass模式编码较简单速度也很快但是最终质量不如Twopass模式好。可用于实时采集。 Target bitrate(CBR)——目标码率模式单位kbps。最简单的单线编码选择平均码率后编码。文件大小相对容易控制。 Target quantizer(VBR)——目标Q值模式动态码率。 Two pass [Top] Two pass即二重运算。这种编码模式分为两步首先对画面逐帧进行运动侦测以及对全片段的运动侦测结果进行分析然后重新以曲线平衡分配每一帧的Q值以做到需要高码率的运动画面可以分配更多空间、更高的码率、更低的Q值来保证画面质量而对于不包含太多运动信息的静态画面则可以消减分配的码率。这种把好钢用在刀刃上的做法是XviD作为第二代MPEG4编码的核心内容。可以说Twopass模式可以在影片容量与画面质量之间找到最佳平衡点这也是大多数人都乐意花费更多时间采用这种方式的原因。 Twopass-1st pass——二重运算第一次运算。这是Twopass模式的第一步。在这一步中编码器会用最高质量编码量化值2同时收集画面信息并将这些信息记录信息文件stats当中提供第二次运算的时候参考。 Twopass-2nd pass——二重运算第二次运算。这是Twopass模式的第二步编码器会根据第一次压缩时获得的影片的信息和用户指定的最终文件大小自动分配码率低动态的分配得少一些、大动态的分配得多一些总之尽量保证最终文件大小为用户指定的大小。 注1不要在第一重和第二重运算之间更改XviD设置某些特殊项除外、改变AVS脚本如果用到AVS或加入、删除滤镜这些都将会造成不正确的结果。 注2计算2pass容量的时候应使用1K1024Bytes的换算方法。且计算结果不包含音频大小。 Twopass-1st pass面板 [Top] Full Quality first pass——全质量第一次运算。在 Twopass - 1st pass 时以你当前的设置进行编码通常是没必要的。会降低1st pass编码速度。 Discard first pass——不输出第一次运算结果。一般都会打开这项否则你可能会得到一个容量高达几个G的无用的AVI文件。 2nd pass [Top] 这个对话框只有在2PASS的时候才可用其的设置比较复杂建议保留默认设置。 I-frame boost——额外分配给IF的码率。如果IF的Q值较小如1或2此项可以设置为0。 I-frames closer than... (frames) X ...are reduced by (%)YX和Y代表所设定的参数——意思是若两个IF的距离小于X通常是连续的闪电效果或者连续大动态动作场面会出现这种情况则靠后的IF码率减小Y%。如果IF的Q值较小Y可以稍微设置大一些可增加5%~8%。 Overlflow treatment——码率补偿与缩减。Max overflow improvement和Max overflow degradation控制当编码器遇到不足码率或者码率过大的场景时进行修正补偿的阀值即超码或不足码到达什么程度编码器会进行修正。值越大修正速度越快即需要修正的帧较少整体编码速度就加快但是这可能会造成无法为别的更需要码率帧保留码率。如果Q值波动较大可以将这个值减小到20~30这样可能会使预测的文件大小受到影响。除非遇到特殊情况本功能不建议使用 Overflow control strength %——控制每个需要补偿的码率过大/不足的帧被补偿多少。除非遇到特殊情况本功能不建议使用。 Curve compression——曲线压缩。曲线压缩的作用就是将码率较高的帧的码率拉下来将码率较小的帧的码率提上去让码率曲线平缓一些。此选项不建议使用也就是保持默认设置“0”。由于现阶段XviD的动态分配即曲线压缩做得不是很好所以直接采用了一种linear scale即线性压缩把1pass的码率曲线直接往下调。除遇到特殊情况外不建议使用曲线压缩功能。 若想了解更多曲线压缩以及线性压缩的细节请参阅本文附录《曲线压缩与线性压缩》。 Profile标签 [Top] Quantization type [Top] 量化方式。此处支持三种量化方式。分别是H.263、MPEG、MPEG Custom。应根据影片的特性确定该选项。要了解这三种量化方式的详细信息请参见附录《三种量化方式解说》。 Adaptive Quantization [Top] 其实这个选项就是XVID 1.0之前版本中的Lumi masking。加大图像亮/暗部等人眼不容易注意到的部分的压缩率可能会产生画面扭曲。本选相应当谨慎使用因为它看起来弊大于利。所以如果不是对缩小文件体积缩小有迫切的需求最好不要使用。 Interlaced Encoding [Top] 隔行处理。适用于有交错的片源。一般来说不需要开启。 Top Field First [Top] 决定场序。如果选中则为顶场奇数场先否则为底场偶数场先。 Quarter Pixel [Top] 1/4像素简称QP下同。MPEG-4 用的 QPel 即 1/4 Pel就是再补出1/2像素像素和1/2像素之间的1/4像素。能保留更多的细节比不用QP多和得到更精确的动态补偿适合高2-PASS/1-PASS比值时采用。但会降低损失近1/3的编码速度。 通常情况下2-PASS/1-PASS比值在50%以下不推荐使用。800K以下的低码率使用时部分场景的画面会产生严重的色彩飘逸现象看上去像粘稠的液体流动干净、低动态片源除外。视频码率越高使用加QP后的效果越好而且中低码率下去色块的作用也非常明显。 Global Motion Compensation [Top] 全域动态补偿简称GMC下同。能在缩放把镜头拉近以及旋转转动相机的情形下有所帮助尤其是画面中的物体的外型是固定的仅在尺寸以及位置上有所不同时。若要处理的影片是自然景观或风景片时可以开启GMC。使用该选项制作的影片可能只有XviD自己的解码器才能正常解码若使用ffdshow等解码器解码可能存在兼容性问题用前请考虑。 B-VOPs [Top] B-frame [Top] B-frame设定。若去掉该选项前面的对勾则编码中不使用B-Frame简称BF下同只用IF、PF来压。 Max consecutive BVOPs——最大连续BF数量。举个例子设置2就是说在两个PF之间或IF/PF之间最多会连续插入两个BF即…IF/PF BF BF PF…如果设置3则最多会出现三个连续BF即…IF/PF BF BF BF PF…。此处应根据片源具体情况来设定如果片源动态比较小则可以适当开大一些比如3、4如果码率很充足或片源很复杂包含大量大动态场景、运动不规则、场景切换频繁等等则应减少BF用量甚至不用BF。 请注意多少个BF连续出现没有数量限制你可以设置成1也可以设置成1000。具体用多少XVID自行判断这个地方只设定最大值。 Quantizer ratio——BF的Q值倍数。计算BF的Q值的参数。 Quantizer offset——Q值计算偏移值。计算BF的Q值的参数。BF的Q值计算方式下面解释 Packed bitstream——开启BF的XviD制作的avi在播放时会延迟一帧就是以前播放时画面第一帧的那个黑色画面告诉你该视频使用了BF如下图制作成ogm、mkv、mp4则不会。而Packed bitstream选项的作用是解决这个问题。不过开启2个以上的连续BF并用到了Packed bitstream的时候只有XviD的解码器可以正常解码。而用老版本的DivX/ffdshow解码水平移动的画面会不顺畅画面朝移动方向抖动ffdshow-20040225以后的版本解决了这一个问题。 Closed GOV——在编码新的IF之前插入一个PF来关闭前一个帧组否则解码时有可能出现问题。此选项要勾选。 BF的Q值的计算BF的Q值由BF前后的IF/PF共同决定。 代码 BF的Q值BF前后的IF或PF的Q值的算术平均数* Quantizer ratio Quantizer offsetBF是一个能有效提高压缩率的功能是否降低画质那要看如何设置了。有的设置压出来的部分BFQ值比PF还低。用最恰当的BF设置来调节码率提高整体质量是非常有效的设置地恰当的话会令全片的Q值分布相当平均可使DRF测试中的第二项——Standard Deviation 轻易达到“Quality is HIGH [Std. Deviation is 0.50]”即动、静态场景的画质一致不会“静态尚可而动态MSK惊人”。而且在用VHQ4压片时还能省去不少时间因为BF不像I、PF那样要作VHQ4处理。通常情况下全片BF含量在30%—55%左右画面效果与只用I、PFVHQ4跑出来的画质无显著差别。即省时又保证质量所以一般应当使用BF。 随着XviD的Frame Type的不断进步从0624版开始FrameType判断较以前版本已经有了相当大的提高大动态场景BF滥用现象已经得到了较好的抑制经过实测在码率充足的情况下大动态场景基本用IF PF PF PF PF… 来压了所以BF可以放心使用。 有些朋友对本部分设置可能还不是很清楚的确BF的设置是XviD中最难掌握的部分参数需要精心搭配。 针对一些情况本文给出了参考参数设置请见附录-BF推荐设置。 Motion标签 [Top] Motion search precision——运动检测精度决定着给定码率下的画面质量。等级越高画质越好速度越慢。一般选6而不选5因为选5只快10%。 设置 1 – 3 基本没有什么区别。 4-highXVID使用半像素插值half pixel interpolationHPel1/2像素的技术达到更好的结果而整个16x16的微区块被标示上两帧之间的运动向量译者按ffdshow有显示这个向量的功能很有趣 5-very highXviD 使用4分运动向量inter4v motion vectors的方式即16x16的微区块中的4个8x8区块被标示各自的运动向量。 6-ultra high运行更多边的运动检测会减慢10%的编码速度。 VHQ mode——搜寻宽度。等级越高画质越好速度越慢。这个选项会很大幅度的降低编码速度若机器够快可选4。想了解更多VHQ的功能请参阅本文附录《VHQ模式》。 Use VHQ bframes too——在BF上应用VHQ。在原先版本的XviD中VHQ Mode是不被应用在BF中的。但是从XviD1.1版本开始只靠选中本选项就可以在BF中应用VHQ Mode了 Use chroma motion——通过颜色信息来判断动态。会降低编码速度5%~10%但是有利于画面推荐选择。 Turbo——超级模式。更快的判断BF和QP的动态。 Frame drop ratio——丢帧率这个参数保持默认值0并且不要改变。 Maxinum I-frame interval——最大IF帧距。该参数一般为帧率的10倍。比如一般DVDRIP的帧率为23.976fps则该处就填写240。有人喜欢认为将这个值调小以增加IF的数量达到提高画质的目的。此项可根据片子情况适当减小。但是在200以上为宜如果太小会适得其反——文件OVERSIZE、IF占用大量码率导致BF/PF质量过低反而不利于画质。 Quantization标签 [Top] Quantization标签中的设定非常重要直接关系到片子的质量。 Min I-frame quantizer——IF的Q值最低值。 Max I-frame quantizer——IF的Q值最高值。 Min P-frame quantizer——PF的Q值最低值。 Max P-frame quantizer——PF的Q值最高值。 Min B-frame quantizer——BF的Q值最低值。 Max B-frame quantizer——BF的Q值最高值。 Trellis quantization——进阶高质量量化模式。若选择该选项编码器会选择性的降低某些画面的质量来达到最大限度的提高片子的整体质量。可配合H.263量化方式使用。 各种类型帧的Q值设定需要注意以下原则 设置时应尽量保证IF质量因为BF和PF的质量都由IF决定。 由于XVID对于BF质量的把握越来越好比较黑暗的场面出现烂帧的几率也有所减少所以BF的Q值上限可以放心的设大一些。 有些朋友提出不要限制Q值范围也就是全部都保留1/31的默认值让XviD自行掌握Q值分配。笔者认为这么讲不无道理但要看什么情况。在一些情况下XviD自身的Q值分配算法是不能适应某些影片的比如通篇画面都很昏暗的影片等等这个时候就需要我们手工来限制Q值范围。也就是说是否限制Q值、限制多少并没有一个确定的答案而应当由片子本身的特性。有经验的RIPPER可以迅速的根据影片画面判断应该如何配置也就是所谓的“经验”。所以Q值的设定应由影片本身和制作要求灵活应变不应一味追求所谓“理想值”。笔者认为这点是应当特别注意的。 综合设置 [Top] 请注意从xvid1.2开始Debug功能被安排在了XviD Configuration项目中按Xvid主窗口下方的Other options按钮即可进入。 Encoder [Top] FourCC used——FourCC 用以确定你编码好的电影用什么样的解码器来播放默认值为XviD这意味着将使用XviD directshow filters保证了最大的质量和兼容性。你也可以选择使用DivX 4.x或5.x的解码器来回放你完成的电影但是它们不一定就能正常播放。 Number of threads——线程数。XviD针对现在逐渐流行起来的支持HT技术或双内核处理器做出了一些优化。若您的处理器支持HT技术或有双内核请设置为2否则请保持默认。 Print Debug info on each frame——在每帧上打印debug信息非专业人员不要选:) Display encoding status——显示编码状态就是我们在压制的时候看到的XviD Status窗口。如下图 Common [Top] Performance optimizztions——性能优化。可以选择特定的CPU指令集优化。可以对编码速度的提高起到一定作用。建议选择自动选择指令集优化。 附录 [Top] 如何知道1pass容量 [Top] 获取1pass容量其实很简单。当大家开始用XviD压制1st-pass的时候XviD会跳出来一个状态窗口这个窗口会实时显示压制过程中各种各样的信息。当1pass压制完成的时候这个窗口会显示1pass的最终结果。如下图 右边红框部分所示的容量即为1pass容量。用计算出来的2pass容量除以这个值就能计算出来2pass/1pass比值了。 BF参考设置 [Top] 2-PASS/1-PASS比值在70%以上 [Top] 由于容量相对宽松故限制了IPB的Q值范围。 Max consecutive BVOPs --------- 2 Quantizer ratio --------------------- 1.20 Quantizer offset -------------------- 0.60 Quantization设置2、2、2、3、2、4 2-PASS/1-PASS比值在60%--70%之间 [Top] Max consecutive BVOPs --------- 3 Quantizer ratio --------------------- 1.30 Quantizer offset -------------------- 0.80 Quantization设置2、2、2、4、2、5 2-PASS/1-PASS比值在50%--60%之间 [Top] 通过降低分辨率和/或使用降噪滤镜降低压缩难度变相提升2-PASS/1-PASS比值。 Max consecutive BVOPs --------- 4 Quantizer ratio --------------------- 1.40 Quantizer offset -------------------- 0.80 Quantization设置2、3、2、3、2、31 2-PASS/1-PASS比值在50%以下 [Top] 通过降低分辨率和/或使用降噪滤镜降低压缩难度变相提升2-PASS/1-PASS比值。如果降低分辨率直到你已不能接受的水平和/或使用降噪滤镜画面模糊到你已不能接受的水平时仍然不能将2-PASS/1-PASS比值提升到至少55%的水平则考虑提高视频文件体积或者换用其它编码器来完成压缩工作如VP6、RV10。 这种方法可以保证制作出来的所有视频文件的Average DRF/quantizer控制在2.5-3.5之间I、PF的Q值为2或3Std. Deviation控制在0.40-0.60之间。也就是说没有明显的压缩瑕疵如MSK、噪点等其它需要配合的设置还包括VHQ4、hvs系列量化模式。 基本概念解释 [Top] 本文用到了一些MPEG4中的基本概念这些概念在本文中会经常提及。所以这里特意为新手准备了概念解释希望新手朋友在阅读之前掌握这些概念。没有收录进来的一些针对性较强的概念已经在正文中进行重点的解释。 三种帧类型 [Top] IF——I-frame的缩写即关键帧。关键帧是构成一个帧组GOPGroup of Picture的第一个帧。IF保留了一个场景的所有信息。 PF——P-frame的缩写即未来单项预测帧只储存与之前一个已解压画面的差值。 BF——B-frame的缩写即双向预测帧除了参考之前解压过了的画面外亦会参考后面一帧中的画面信息。 量化方式 [Top] H.263——推荐700~900K的码率比如1CD制作时使用。保留画面细节不及MPEG量化方式好但可以达到较好的画面降噪效果可以让画面看起来更干净一些。推荐压制动画使用本量化方式。H.263 的量化方法顾名思义就是使用 H.263 这个压缩规格所使用的量化方法量化的时候8x8 的像素方块内的所有 DCT 系数全部除以同一个数字。这个动作就叫做量化例如全部都除以 32如果有一个 DCT 系数为 15小于 32经过相除之后会被量化为 0如此便可以省下很多记录的 bits。当然除的数字越大量化的误差也就越大品质也就越差但是压缩率会越高压出来档案会越小。我们会利用另一个参数来调整量化的误差控制最后量化的品质和档案的大小这个参数叫做 Quantizer。量化的系数会再乘上这个 Quantizer 的倍数例如原本要除的量化系数是 32Quantizer 是 2对应的放大倍数也是 2最后真正要除的量化系数就变成 32*264。所以 Quantizer 越大要除的量化系数就越大量化误差就越大品质就越差但是档案也越小。H.263 的量化方法还规定相邻的两个 MacroBlock 的Quantizer 不能相差超过 2。 MPEG——建议高码率情况下比如2CD制作使用能保留较多细节但在某些情况下可能造成噪声等副作用。若在制作动画时使用可能引起色彩过度不自然、颜色边界处出现噪声等副作用此时可搭配Cartoon Mode降低这些副作用。MPEG 的量化方法高低频系数可以除以不同的量化系数可以视情况将高频削多一点。这个 8x8 的量化系数也就是 Quantize Matrix量化矩阵。 MPEG Custom——可以加载MPEG自定义量化模板。你可以依照影片特性自订最适当的量化矩阵。比如压电影的时候常用的hvs-best-picture模板可以兼具MPEG和H.263量化方式的优点即画面细节和降噪都能得到兼顾。若要采用MPEG Custom量化方式点击Edit Matrix…按钮加载想要的量化模板即可。本选项只建议对于量化模板有较深研究的专家使用。XviD1.0安装目录下有一个XviD_Quant_Matrices.zip里面包含了数种常用的量化模板比如有名的HVS量化系列在DOOM9网站或论坛上可以找到更多的量化模板。 噪声 [Top] 这里所谓“噪声”并不是我们能够听到的实际意义上的噪声而是指的画面上不断闪动的亮斑点或色斑点。画面出现噪声一般有以下几方面原因1.电影由于胶片本身的感光性能或采集过程不佳造成老片尤其严重2.动画TVRIP录制时电视信号存在干扰也就是我们常说的“雪花”3.采用了VHS或老旧的LD片源4.由于压制不良导致色彩之间的边缘处有细小的色斑存在看起来像“马赛克”。这些噪声在画面上不停的闪烁、移动造成惊人的码率浪费。因此需要尽量将这些噪声“过滤”掉以节省码率增高片子的整体质量。要想过滤噪声有许多方法比如在AVS脚本中加入降噪滤镜等但这不是本文讨论的重点。 Q值即DRF值 [Top] 在编码时为了达到某个码率mpeg4编解码器会对每一幅画面进行压缩。而压缩程度则取决于码率、图像内容的复杂度及动态大小。对于每一帧一旦确定怎样去压缩以后就会产生DRF值。DRF值为2的时候效果最佳(在XVID中quantizer还可能达到1)。DRF值等于31时效果最差。8以上的DRF值可被认为效果很差。DRF/quantizer实际上代表了编码器在降低帧大小时所丢弃的信息量。 Bits/(Pixel*frame) [Top] 数据密度。码率并不是视频/音频质量的唯一指标一个更重要的指标是Bits/(Pixel*frame) (数据密度)它反映了平均记录每象素所用的数据量。如果Bits/(Pixel*frame)比较低那么DVDrip的视频流中I帧间的预测帧(P帧/B帧)的误差会比较大视频质量会下降(MSK等…)。制作DVDRIP的软件(例如GK)都要计算/给出这个Bits/(Pixel*frame)值。一般认为较好的视频质量需要Bits/(Pixel*frame)0.2如左图。 Video Size/1st Pass Size [Top] 除了码率和Bits/(Pixel*frame)之外Video Size/1st Pass Size 也是一个质量指标。DVDRIP压制时码率的分配不是线性的变化的(动作)场景的码率将会高而静态场景的码率低。Twopass-1st pass就是用于确定码率分配。而后根据设定的最终文件大小将算出的码率分配曲线等比例压缩得到最终Twopass-2nd pass的码率曲线。Video Size/1st Pass Size反映的就是这个压缩比。一般认为较好的视频质量需要Video Size/1st Pass Size 55%。 曲线压缩与线性压缩 [Top] 作者Silky收录时略有改动 「曲线压缩」的意思就是将码率较大的帧拉下来降低一点码率码率较小的帧补上去提高一点码率。也就是将原本上下震荡的码率曲线变平一点最大和最小的差距不要那么大。压得越平码率曲线就越接近一条固定的直线也就是变成近似于CBR。不过这样实在很没有意义不是吗本来码率高的帧就是因为这个帧需要较多的码率纪录你现在把它拉下来画质岂不更惨而码率低的帧就是不需要花那么多码率记录的帧你又给它多补一些码率岂不浪费 根据 Koepi 的说法当码率极低的时候很多帧的码率都不够。此时如果把少数几个码率很高的帧拉低一点把省下来的码率分给其它帧立刻会对这些游走在底线边缘的帧的画质有很大的帮助。曲线压缩的目的便是牺牲少数几个帧让大部分的帧增进画质。而这少数几个码率超高的帧又通常都是高动态的画面。人眼对高动态的画面比较无法精确的判断、分辨出画质的好坏。所以牺牲这几个帧增进大部分时间看起来的品质可以说是相当划算。好像还蛮有道理的。不过如果曲线压缩的参数设定得不好的话对画质会有很大的伤害而且在不是超低码率的情况下曲线压缩也没有意义。所以最好的作法还是让编码器自行视情况调节使用自由的 VBR这样压出来的结果会越接近 CQ「固定品质」。当然如果码率实在设得太低CQ 压出来的结果就是「固定烂品质」 这时适当的运用曲线压缩以少换多就有它的价值了 。 经过许多人的测试经验最后的结论就是 linear scaling「线性压缩」的结果最好。 线性压缩时1st pass与曲线压缩无异只是2nd pass的时候就直接把 1st-pass 压出来的码率曲线按一定比例整个往下平移降低码率达到你所设定的目标大小为止。由于曲线只是整个往下平移使得最终的码率变小而不改变其原本的震荡幅度所以称为「线性的调整大小」。 线性压缩使原本复杂需要高码率的画面还是分到较多的码率简单不用太多码率的画面也不会浪费了码率。线性调整压出来的结果较接近「完美的 VBR」也就是固定的平均品质不会有几个帧突然发生明显劣化的情况。 使用线性压缩的方法很简单2nd-pass的时候把Two Pass设定底下的High bitrate scenes degradation % 和 Low bitrate scenes improvement % 两个设定都设为 0这样跑 2nd-pass 的时候就会自动根据 XviD Codec 内建的 scaling 算法做线性调整。 VHQ模式 [Top] VHQ与IF、BF、码率控制没有任何关系但VHQ越高图像的品质越高。 MPEG系的编码器在压缩时以每个16x16像素块大小的MacroBlock为单位进行动态预测。在VHQ模式下它先是进行简单的block-mode-decision区块模式判定其间会对画面内的每一块MacroBlock施以优化然后再按三个不同档次VHQ2、VHQ3、VHQ4作进一步动态预测从而更进一步的减少纪录信息所需要的容量。 使用VHQ特别是VHQ4可以降低Q值、使画面更干净、保留更多的细节但这些都只是VHQ的副作用VHQ的主要功能是提高压缩效率当Q值一定时令文件体积更小以便更好的达到目标文件大小。 注意 在1-PASS过程中VHQ模式处于自动关闭状态因此不必担心两个PASS之间的设置不同。 在XviD 1.0正式版中VHQ模式已经能与BF、Quarter Pixel、Chroma motion、Adaptive Quantization、GMC功能同时开启使用了。 后记与人员列表 [Top] 整个XVID的重要参数到这里差不多都介绍完了。笔者还是坚持一点每个片子都有其自身特点要想用一套“万用参数”来“通吃”所有片子是不可能的。有朋友非常心急一上来就要找出来一套适用于手头这部片子的“理想值”但是这样往往以失败告终。所以压片之前不要怕麻烦多抽几段来试压然后根据每个参数的作用进行配置相信你会制作出优秀的DVDRIP。 XviD是一款相当强大的MPEG4编码器如果参数配置得当再配合良好的AVS脚本的话可以制作出来容量只有DVD容量的1/5MP3音频但画质和DVD相比丝毫不差的影片到现在为止XviD仍然有很大的潜力可以发掘。希望大家永远不要停止探索的脚步去获得更好的质量 本文的编写及内容不断丰富、修订的过程中得到了很多朋友的帮助在这里编者dgwxx向他们表示最诚挚的谢意。另外如果您撰写文章或创作其他作品如编译自己版本的XVID的时候引用了本文的内容请一定要注明哪些内容出自本文这是对于作者们的尊重同时也有助于技术的交流。在线版本的放出间接解除了强制复制保护。您现在可以任意复制本文的任何文字、图像内容。但是这个许可仅限于用作技术交流任何用于商业行为的复制行为、任何恶意抄袭均将受到本文作者团队的最严厉追究。 本文由多位作者共同完成。 参与编写的作者名单依照字母顺序排列Bopirit、Dgwxx、RKinGBo、tct66、大卫 感谢以下朋友按内容时间先后排列 Nemolus——在2.0版本修订过程中提出了大量意见、建议。 DvDSharer——一些概念解释提出2.0版的修订。 Skywalker——Global Motion Compensation的改正意见。 本文编写过程中参考的资料《高品质DVDRIP制作进阶教程》作者DvDSharer、《XviD-1.0的設置參考》作者tct66、《XVID的中文化解释》作者大卫、《XVID中文设置全释1.3》以及DOOM9.org的相关英文资料。