NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 15992|回复: 33

[AVC(H.264)] x264部分参数求教

  [复制链接]
发表于 2010-1-17 22:50 | 显示全部楼层 |阅读模式
本帖最后由 辉耀 于 2010-1-18 13:15 编辑

昨天MeGUI久违的做了一次更新,又有小幅度的改动,以此为契机来问一些不太明白的参数……望各位大大不吝赐教



1.求教新加的Blu-Ray框中参数作用:

--aud

Use access unit delimiters(使用访问单元限定符……不明白……)

--nal-hrd

Add NAL HRD parameters to the output stream,used for HD-DVD and Blu-ray compliancy.Depends on vbv-bufsize and vbv-maxrate to be set to be active.If enabled a patched x264.exe is needed!(没找到翻译,自己也不明白……)


看说明都提到了仅在压制BDrip时使用,可惜没进一步解释了呃……

同时,由--nal-hrd的说明看来此参数与vbv有关,也想一起问一下vbv的概念&作用,我一直很模糊(关于vbv我找到的资料很少,而且比较乱……)




2.MV Prediction mode中Spatial与Temporal的选择方式是?看介绍还是不太明白……




3.在降噪出现Banding,暗部比较多出现色块等问题时经常见人提起修正--chroma-qp-offset与AQ设置,想请教一下具体做法;此外,还记得看到过压动画关闭AQ的说法……这到底……




4.电影与动画在压制参数选择上有何区别?(这个问题大概很难细说,只求简略一谈……谢谢……)
个人也对比过MeGUI早先自带的profile,还是觉得不得要领……再加上通过论坛等渠道暂时感觉似乎是动画相对电影高ref更有效,此外线条处理似乎更重要一些(这是AVS范畴了呃……)



5.最后这个似乎稍有点跑题了,也一起问了吧……MeGUI能否在压制时计算PSNR、SSIM并输出(txt文档)?如果可以的话应该怎么做?这个从来没见人提过,自己也找不到资料……虽说测试结果与实际观感相比可能会不同,但毕竟是个判断质量的依据,很想知道该怎么做……
发表于 2010-1-18 15:46 | 显示全部楼层
1.那两个参数是制作HD-DVD和Blu-Ray用的,不是做BDRip用的。
2.不知道怎么选就选Auto。
3.开AQ开Psy-RD。
4.电影好唬弄,QP可以开高一点。
5.压好之后看MeGUI的Log。
发表于 2010-1-18 19:05 | 显示全部楼层
顺便求助如何在命令行压缩完成后,自动生成一个txt格式的信息记录呢?
发表于 2010-1-18 19:57 | 显示全部楼层
本帖最后由 264768502 于 2010-1-19 22:03 编辑

x264 -o 1.264 1.avs >>log.txt
口胡了,我错了
发表于 2010-1-18 20:01 | 显示全部楼层
Kmod有log的patch
 楼主| 发表于 2010-1-18 22:22 | 显示全部楼层
本帖最后由 辉耀 于 2010-1-18 22:31 编辑

其实……我为MeGUI加上--psnr --ssim依然不输出log疑惑了好长时间了……居然一直就没想到去log界面看一看……(只要不报错我就不看log……),多谢您了……



关于2、3还想确认一下……

2 看说明的意思我本来理解成了“2pass时两次都开启,根据1pass得出的结果后auto自动判断并能有比较出色的效果”,而实际上这个参数auto即使crf模式也完全没有问题是么?

3 是否是在出现Banding或暗部色块时拉大AQ值即可一定程度上缓解(与AQ模式关系不大)?
发表于 2010-1-19 08:47 | 显示全部楼层
2.http://mewiki.project357.com/wiki/X264_Settings#direct提到:
'auto' works best in a 2pass encode, but will work in single-pass encodes too.
Recommendation: 'auto'
3.AQ对block可以有一定缓解作用,但我从来都用默认值。
 楼主| 发表于 2010-1-19 11:09 | 显示全部楼层
明白了……再次感谢您的耐心回答~
发表于 2010-1-19 18:04 | 显示全部楼层
路过学习,咱对编码器的学习太少了,一直只会灌码率


PS:其实我是来吐槽那个好唬弄的
发表于 2010-1-19 19:25 | 显示全部楼层
本帖最后由 蓝の回忆 于 2010-1-19 19:33 编辑
x264 -o 1.264 1.avs >>log.txt
264768502 发表于 2010-1-18 19:57


这方法只生成一个空白的log..
   
ps:这么多人编译的版本区别在哪呢?
发表于 2010-1-20 00:07 | 显示全部楼层
回复 10# 蓝の回忆


    在Linux下cat是没问题的...win下我不知道-.-
发表于 2010-1-20 00:27 | 显示全部楼层
2-> MV prediction mode表示的是从附近mb拷贝MV时编码器选择的优先性或者倾向性。temporal表示从倾向于时间相邻mb中选择MV,spatial表示倾向于从空间相邻mb中选择MV。如果选择Auto则编码器会将两者作比较选出cost function值小的那个作为MV。实际应用中虽然spatial的量远比temporal多,但建议还是改成auto比较好。

3->banding的问题,更多是要在avs中deband+dithering解决,不过264参数的选择也不能忽视。因为大量的dithering容易造成画面噪点丰富,这在已block为单位的现行codec中是很难保留的。
大虾说的开psy-rd是一般的处理方法,根据你噪点量的多少建议开到0.6甚至以上(对动画片),而同时也可以尝试psy-trellis,但不要超过0.2。chroma-qp-offset从理论上想应该会是个有用的方法,但前提是确认banding出现在uv平面而不是y平面,或者avs中addgrain/deband时只对uv平面做了操作。

4->电影和动画的区别,这是个大命题,我只能从编码器参数选择上略说一点自己的感受。另外我觉得x264本身更适合于动画,而非实写。
对于动画来说,rc-lookahead、qcomp的重要性比实写大,因为实写场景普遍比动画复杂,mbtree在那种情况下其实效果不明显。
对于实写来说,psy-rd、psy-trellis的值可以开的大些,因为传感器本身的noise就比较大。
对于动画来说,aq-mode=2在极低码率要求下(crf=24以上)效果不错,实写我就不知道了。

先写这么多,有想到的再来补充。
发表于 2010-1-20 04:45 | 显示全部楼层
AddGrain()
就是用作dithering吗?
发表于 2010-1-20 08:35 | 显示全部楼层
秋月姐姐总能把复杂问题点拨简单了

回答13F:
AddGrain的作用不是dithering,而是加噪声。噪声无论原理和效果都是和dithering不同的,但客观上可以起到一定的模拟dithering的效果,因此常被用来处理banding。
发表于 2010-1-20 08:46 | 显示全部楼层
有哪些用作dithering的滤镜?
发表于 2010-1-20 09:21 | 显示全部楼层
回复 15# shana16
没有
发表于 2010-1-20 11:02 | 显示全部楼层
GradFun2db是个啥原理?
发表于 2010-1-20 11:20 | 显示全部楼层
gradfun2db是去计算gradient然后判断是否有banding的滤镜,对于判定为有banding的地方使用左右相邻区域的gradient去修改此处的pixel使之与左右相邻接近。
具体做法我觉得很可能用递归+lagrange算子去解优化问题。
发表于 2010-1-20 12:35 | 显示全部楼层
GradFun2db是个啥原理?
a4840639 发表于 2010-1-20 11:02

这里我插一句,gradfun2dbmod的作者把gradfun2db的作用写成dithering,应该是错误的。
发表于 2010-1-20 13:44 | 显示全部楼层
这里我插一句,gradfun2dbmod的作者把gradfun2db的作用写成dithering,应该是错误的。
ssnake 发表于 2010-1-20 12:35



大大,我想问空音30I那个TS,为什么都被各字幕割成24fps?

是用什么滤镜割的呢?
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

小黑屋|手机版|NMM视频技术

GMT+8, 2024-4-26 18:02 , Processed in 0.196471 second(s), 14 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表