搜索 社区服务 统计排行 帮助
  • 5342阅读
  • 47回复

[请教]愁死我了,做DVDRip怎么保证色彩的准确呢?

楼层直达
级别: 新手上路
注册时间:
2007-02-26
在线时间:
0小时
发帖:
185
话说我很久没做DVDRip了,昨天看到一部好片,激起了我Rip的欲望~

而且最近X264有这么热门,于是心血来潮用Xvid和X264各自压了一遍~

Xvid用的就是VDM,我好久没压片了,似乎截至目前为止XVID不用VDM也没别的好用吧?

CQ2压了一遍,效果很不错,挺爽~

然后开始压X264,既然都说VFW不适合X264,那么好我也用MeGUI,可惜这个超级垃圾软件满是bug~闹心死~
于是乎:X264 --longhelp > x264help.txt
自己慢慢研究CLI~研究了一会得出下面的方案:

引用


x264 -b 3 --b-pyramid -r 5 -q 18 -A all -w --me umh -m 6 --b-rdo --mixed-refs --bime -8 --no-fast-pskip --no-dct-decimate --progress -o test.mkv loveavs.avs



按这个压完了之后,放在MPC Player里播放,VMR9渲染,总感觉X264压出来的东西颜色更浓重一些~饱和度偏大~

于是乎又开始闹心,因为我始终也没把这个颜色的问题搞清楚弄明白~

究竟YV12,YUY2这些颜色格式,还有BT601,BT709这些色域,还有PC Level/Studio Level这些东西是怎么个来龙去脉啊?

怎么样才能保证DVDRip的颜色跟DVD本身对应,放出来是准的呢?

我自己先把我知道的零零碎碎地说一说,算是跑两块砖吧,希望高手出来给系统的讲一讲。

对于Xvid,我听说在VDM里,如果选“Full Compression”就需要做YUV->RGB的转换,这样会造成误差,所以一般用“Fast Recompression”,这样AVS输出的YV12就能直接进到Xvid Encoder里,保证色彩格式在压缩过程中无转换,这样颜色就准了。

我一直是这么记着的,但是这其中有好多问题并不是很清楚,为什么全程YV12就好?YV12数据量小,处理快这个理解,但是YV12记录颜色是不是不太精确啊?另外DVD里的记录格式是什么?就是YV12吗?还有YV12,YUY2,I420,IYUV这些格式都是用在哪里的,有什么区别和联系?另外,Xvid用YV12把东西压完了,那么decode的时候输出选什么?是no force,还是YV12?有什么区别?

另外还有BT601,BT709这些色域跟YV12,YUY2之间有联系吗?什么需要考虑BT601与BT709之间转换的问题?不转换会怎样?怎样确定片源的色域?因为我发现有的贴子里说DGindex报告的不一定是准的?具体是怎么个不准法?

还有关于PC Level/Studio Level(TV Level)的问题,DGindex里生成的D2V,喂到AVS里,这时作了(16-235)->(0-255)的拓展了吗?是不是默认没有做啊?也就是说BTB,WTW信息也都一并传到AVS里去了?这样的话Codec压出来的东西就也是TV Level的吧?是不是就应该这样做啊?但是又有一个问题,如果片子压好了用overlay渲染器播放,会自动拓展;但是用VMR9就没有自动拓展了,那看起来岂不是挺别扭的?何况现在VMR9渲染还更流行一些,我还听说NV的显卡驱动,把VMR9也给做成会自动拓展到PC Level了,属实吗?

关于X264,X264CLI居然能直接读AVS,挺神奇的,这是不是说明X264CLI直接就是全程YV12处理?那么Xvid里面的色彩格式的经验也是适用的?

一时间就想到这么多,罗罗嗦嗦问了一大堆问题,其实有一部分问题相信也能自己找到答案,只不过一股脑提出来,哪位高手有闲心的话,一股脑地回答出来也是件挺过瘾的事情~
:p
级别: 新手上路
注册时间:
2007-02-26
在线时间:
0小时
发帖:
185
只看该作者 47楼 发表于: 2007-03-04
引用
最初由 adamhj 发布
事实上我的vdm里作了yc伸张,而avs放vmr9的话没有做,倒是你那里为啥avs->vmr9需要走一遍color space convertor,而xvid(force yv12)->vmr9却不用才奇怪呢


1、vdm里做YC伸张很正常,就应该做
2、avs播放的时候我的graph就是这样的,我不认为还应该有其他的方式。

src->color space converter->video renderer

3、你用xvid的时候force yv12会引入color space onverter吗?上个graph的图看看?
级别: 新手上路
注册时间:
2003-06-23
在线时间:
1小时
发帖:
2882
只看该作者 46楼 发表于: 2007-03-04
事实上我的vdm里作了yc伸张,而avs放vmr9的话没有做,倒是你那里为啥avs->vmr9需要走一遍color space convertor,而xvid(force yv12)->vmr9却不用才奇怪呢

不学无术中..

eMule ID:[eDtoon][CHN]adamhj@eMule-Official
级别: 新手上路
注册时间:
2007-02-26
在线时间:
0小时
发帖:
185
只看该作者 45楼 发表于: 2007-03-04
引用
最初由 adamhj 发布
lz你真的确定你的第一个图是用vmr9放的么?我这里用vmr9渲染你那个avs脚本和在vdm里播放的效果是不同的


这是我的猜测,不知道对不对:
AVS播放跟用不用VMR9没关系,因为VMR9在这里接受的是RGB数据~
YUV->RGB是在color space convertor里做的~

VDM显示AVS的时候也是调用别的YV12 decoder,decoder输出也是RGB的~所以实际上用的应该是一个decoder,所以出来的东西应该一样~

不一样的话,你可以看一看VDM里用的什么decoder,在file infofamation里。如果用VDM本身做YUV-〉RGB转换的话,出来的东西有可能不一样~

不知道说的对不对~
级别: 新手上路
注册时间:
2003-06-23
在线时间:
1小时
发帖:
2882
只看该作者 44楼 发表于: 2007-03-04
lz你真的确定你的第一个图是用vmr9放的么?我这里用vmr9渲染你那个avs脚本和在vdm里播放的效果是不同的

不学无术中..

eMule ID:[eDtoon][CHN]adamhj@eMule-Official
级别: 工作组
注册时间:
2005-04-23
在线时间:
0小时
发帖:
4259
只看该作者 43楼 发表于: 2007-03-04
引用
最初由 shinjico 发布
浴巾原来都成叔了,那我等岂不是一只脚已经跨进那啥了

哦哦,不惑
只踏进一只脚减半
20岁
[/TX]

Lux Aeterna

过去一直去,未来一直来...
级别: 超级版主
注册时间:
2004-07-25
在线时间:
121小时
发帖:
3898
只看该作者 42楼 发表于: 2007-03-04
浴巾原来都成叔了,那我等岂不是一只脚已经跨进那啥了

级别: 工作组
注册时间:
2005-04-23
在线时间:
0小时
发帖:
4259
只看该作者 41楼 发表于: 2007-03-04
引用
最初由 yujin630 发布
我真用得很渣[是说我技术渣]...废柴命,技术不好还学不来...又不会用...

原先就照搬了参数
preset = "AnimeHQ",Method="strong",Downsizer="Lanczos",Upsizer="Lanczos,scalefactor=1.5

后边越调参数越乱...搞出心理阴影了,效果出来也一包渣...

现在都偷懒用a2d再叠个a2d...或者c3d+a2d呢...XD(杀杀杀

直接preset = "AnimeHQ"就行了
Method="strong"<---HQ明显应该是默认的supersoft嘛...strong/soft因为干扰太多现在preset里都不用了,而且既然是SMOOTH也不需要lanczos
MIP的HQ只比C3D柔一点,通常C3D没感觉就用MIP了

要说废么...我从AUTOMKV0.67版开始用,现成的preset = "AnimeHQ"
参数是后来去查的,还有比我废的么XD

PS:浴巾叔原来也喜欢梦游时看贴的啊,偶梦游状态比较有灵感-____-[/TX]

Lux Aeterna

过去一直去,未来一直来...
级别: 工作组
注册时间:
2003-05-11
在线时间:
201小时
发帖:
36355
只看该作者 40楼 发表于: 2007-03-04
我真用得很渣[是说我技术渣]...废柴命,技术不好还学不来...又不会用...

原先就照搬了参数
preset = "AnimeHQ",Method="strong",Downsizer="Lanczos",Upsizer="Lanczos,scalefactor=1.5

后边越调参数越乱...搞出心理阴影了,效果出来也一包渣...

现在都偷懒用a2d再叠个a2d...或者c3d+a2d呢...XD(杀杀杀

  
级别: 工作组
注册时间:
2005-04-23
在线时间:
0小时
发帖:
4259
只看该作者 39楼 发表于: 2007-03-03
引用
最初由 yujin630 发布
MipSmooth我用的一塌糊涂....放弃...

就那几个function也能一塌糊涂?
你比我用DEEN强多了XD

Lux Aeterna

过去一直去,未来一直来...
级别: 工作组
注册时间:
2003-05-11
在线时间:
201小时
发帖:
36355
只看该作者 38楼 发表于: 2007-03-03
MipSmooth我用的一塌糊涂....放弃...

  
级别: 工作组
注册时间:
2005-04-23
在线时间:
0小时
发帖:
4259
只看该作者 37楼 发表于: 2007-03-03
新片可以考虑用MipSmooth(preset="AnimeHQ"),与只去躁的filter相比有一点slight blockremoval 的功能,一般新片也用不到重量级denoise+deblock,所以足够用了.
然后就是MipSmooth(preset="Rainbow")<----- 一看就知道干啥用的

"This should be good for cartoons/anime, but it actually also helps film footage quite nicely."<--牛皮是靠吹的,所以filter是靠推的-.-

用filter跟下片一样,其实也看人的,国家到是其次(不过一般来说日本人的filter比较适合压动画-________-)
这个filter的作者是 sh0dan ,AviSynth的开发人之一,而且changelog里写着
v1.1.2
* Removed reduce completely, as it was causing chroma shifts. (Thanks Fizick)
* Fixed incorrect frame fetched on last mip of previous frame.(Thanks Fizick)<-------得到Fizick真传了,于是AUTOMKV之类的软件也将之收录进去了

Lux Aeterna

过去一直去,未来一直来...
级别: 工作组
注册时间:
2003-08-26
在线时间:
13小时
发帖:
6600
只看该作者 36楼 发表于: 2007-03-03
强制吧,个人认为。yuy2的话应该也是走yv12转换的……

催片请点此处: http://bbs.popgo.org/bbs/read.php?tid=502402&displayMode=1#19103164
级别: 新手上路
注册时间:
2007-02-26
在线时间:
0小时
发帖:
185
只看该作者 35楼 发表于: 2007-03-03
引用
最初由 kzhou 发布

多谢指教,,其实我在预谋将一些XVID的源文件压264的时候强制Xvid解码器输出YV12,,
不这样的话,avs要加上 CONVERTTOYV12,,好像多了个不必要的来回?(用DirectShowSource的时候)
这种情况有必要强制Xvid解码器输出YV12吗?


X264接受avs输入的时候似乎不支持YUY2,所以需要转换到YV12,但是是强制Xvid输出YV12还是用ConvertToYV12()我觉得应该看哪个CPU占用小~
级别: 侠客
注册时间:
2005-12-16
在线时间:
5小时
发帖:
676
只看该作者 34楼 发表于: 2007-03-03
引用
最初由 techneek 发布


你猜对了,我问这个问题的时候,问题确实出在解码端,但是现在已经不局限于那个问题了,我是想跟各位多学些知识。



Xvid默认输出色彩空间是YUY2,但是Xvid压得时候还是YV12,只不过输出的时候upsample到YUY2,你也可以强制Xvid解码器输出YV12,但是不见意这样做,因为画质会下降,原因是decoder的upsample比渲染器的要好~

多谢指教,,其实我在预谋将一些XVID的源文件压264的时候强制Xvid解码器输出YV12,,
不这样的话,avs要加上 CONVERTTOYV12,,好像多了个不必要的来回?(用DirectShowSource的时候)
这种情况有必要强制Xvid解码器输出YV12吗?

爱看看不看滚
快速回复

限150 字节
上一个 下一个