当前位置: 主页 > 处理视频 > 视频压制教程 > Xvid 和H.264完全对比及MeGUI压mp4格式AVC的方法(2)

Xvid 和H.264完全对比及MeGUI压mp4格式AVC的方法(2)

2009-04-29   www.youwo.com / mynanako 点击: 标签:MeGUI H.264 XviD AVC
  

下面来完全对比一下Xvid和H.264,看看到底哪个更有前途 注意测试平台是PC,PSP由于有局限性,所以后面我会给出用MeGui压MP4格式AVC的方法

MPEG-4 Video 中包含有2个标准:ISO 14496-2 (Video)和ISO 14496-10 (Video),亦即通常说的 MPEG-4 ASP 和 MPEG-4 AVC。
现在来看一下2个不同 Profile 的 Codec 在编码质量上的差别!
我分别选了2个开源的Codec:XviD 和 x264进行简单测试
尝尝AVC/H.264给我们带来了什么!

考虑到动画比较能突出重点细节,且现在很多小孩喜欢看动画,所以先选一段
源为《ハウルの動く城》Chapter 17的动画
首先来看看视源的特性,使用XviD q2 的编码作为参考

编码参数设置,目标码流设置为 xvid q2 码流的一半,使用2-pass编码
xvid-1.2.cvs.2005.12.10

QUOTE:

VHQ4,Use VHQ for bframes too,BVOPs=2,ratio=1,offset=2,Max I-frame quantizer:2,Quarter Pixel,Global Motion Compensation
file size:37,130 KB
  Y:        PSNR:   37.8778   43.1724   49.8913
  U:        PSNR:   37.6963   44.2841   50.6220
  V:        PSNR:   38.1674   44.5764   51.4783
Sum:        PSNR:   38.3576   43.5519   50.0746

x264 core:42 svn-388 + patchs

QUOTE:

x264.exe --keyint 300 --min-keyint 24 --bframe 3 --b-pyramid --nf --analyse "none" --weightb --me "dia" --subme 1 --pass 1 --stats "x264_2pass.log" --qcomp 0.7 --bitrate 1033 --qpstep 32 --ratetol inf --progress --output NUL --no-psnr --quiet "17.avs"
x264.exe --keyint 300 --min-keyint 24 --bframe 3 --b-pyramid --ref 16 --nf --analyse "all" --weightb --me "umh" --merange 64 --subme 7 --b-rdo --mixed-refs --8x8dct --trellis 2 --no-fast-pskip --pass 2 --stats "x264_2pass.log" --qcomp 0.7 --bitrate 1033 --qpstep 32 --progress --output 17.mp4 "17.avs"
file size:37,189 KB
  Y:        PSNR:   39.8436   44.9354   49.9480
  U:        PSNR:   39.5507   45.5019   51.1331
  V:        PSNR:   39.6453   45.7164   51.4455
Sum:        PSNR:   39.8308   45.1482   50.0778

点击在新窗口查看全图
CTRL+鼠标滚轮放大或缩小

frames size 图可以看到码流分布情况,所有的图x轴为帧数时间轴,由此可以得知影片时间的大致位置对应的具体情况。图为2帧平均显示

点击在新窗口查看全图
CTRL+鼠标滚轮放大或缩小
compressibility 图显示影片可压缩性,50 parts of 140 frames

点击在新窗口查看全图
CTRL+鼠标滚轮放大或缩小
motion 运动侦测情况,红线为kblk,黑色为mblk。可以看到影片结尾部分的运动情况比较剧烈。

点击在新窗口查看全图
CTRL+鼠标滚轮放大或缩小

PSNR 图,x264 使用 ffdshow-20051129 来解码。另外也可以使用最新 nero 7 的解码器来解码,终于修正了B帧的问题了,不过nero 7在解码器上做了手脚,能被它自己播放器调用。我使用MPC播放时出现错误的提示,尽管这样,还是可以通过使用秘籍来调用的。经过测试,解码的结果和 ffdshow是一样的,但速度比 ffdshow快。
可以见到两者的曲线特性很相似,压不好的地方两者一起压不好,压得好的地方两者一起压得好,所不同的是x264的PSNR平均都高出xvid的。

所有编码和解码过程都关闭PP,按照PSNR曲线图上标明的各点所在位置进行截图比较,以下所有的图片统一由Avisynth做YV12->RGB,codec输出YV12,而不是由Codec解码为RGB
选点截图通常为PSNR曲线的低值区间,没有特别说明的都是为P帧的截图
图片顺序依次为:视源-x264-xvid
#120 a点PSNR x264:41.8131 xvid:40.0544
此段的色彩较丰富,PSNR在整段视频中很低,由于高频比例较大,画面非常难压。对比一下之前的frames size 和 motion 图,可知道这是静态的场景,但是码流分配很高。不过画面都是花丛,看起来比较乱,就算压得不好,如果不看源来的画面,也不容易察觉出来。












另外Avisynth中算x264的PSNR是调用了DirectShow Filter处理, 所以结果与x264编码时自带那个算出来的有些误差
x264算的结果如下,图片为x264算的和Avisynth算的区别,使用了 Y channel 作对比

QUOTE:

x264 [info]: slice I:56    Avg QP:15.63  size: 45931  PSNR Mean Y:47.97 U:48.06 V:48.15 Avg:48.01 Global:47.80
x264 [info]: slice P:2434  Avg QP:17.77  size: 11725  PSNR Mean Y:45.44 U:46.03 V:46.17 Avg:45.64 Global:45.22
x264 [info]: slice B:4559  Avg QP:19.19  size:  1510  PSNR Mean Y:45.20 U:46.11 V:46.24 Avg:45.50 Global:45.09
x264 [info]: mb I  I16..4: 11.1% 48.0% 40.9%
x264 [info]: mb P  I16..4:  1.8%  4.1%  2.8%  P16..4: 49.4% 15.4% 13.8%  1.6%  0.6%    skip:10.5%
x264 [info]: mb B  I16..4:  0.0%  0.1%  0.1%  B16..8: 48.8%  1.3%  1.8%  direct: 0.9%  skip:46.9%
x264 [info]: 8x8 transform  intra:47.0%  inter:37.3%
x264 [info]: ref P  58.4% 12.4%  8.4%  3.2%  3.7%  2.3%  2.4%  1.4%  1.4%  1.1%  1.1%  0.9%  0.9%  0.8%  0.8%  0.7%
x264 [info]: ref B  79.0%  8.6%  5.1%  1.8%  1.1%  0.9%  1.0%  0.7%  0.4%  0.3%  0.3%  0.3%  0.2%  0.2%  0.1%
x264 [info]: PSNR Mean Y:45.307 U:46.098 V:46.233 Avg:45.564 Global:45.149 kb/s:1033.93


顶一下
(2)
40%
踩一下
(3)
60%
栏目热点
  • MeGUI压制使用说明书 MeGUI压制使用说明书 MeGUI 压制使用说明书 绪论: 视频压制的概念 一些尚未入门的爱好者常常会把视频压制与视频转换混为一谈。视频压制是一种入门比较简单,但深入有点深奥的视频压缩技术,用
精彩推荐