NMM视频技术(旧)

 找回密码
 成为会员
搜索
查看: 4678|回复: 13

颜色转换的问题

[复制链接]
发表于 2010-2-17 15:38 | 显示全部楼层 |阅读模式
使用vd捕捉的yuy2的mjpeg,转换yv12的x264,画面的眼睛部分的颜色竟然给我灰度了,变黑白

晕死,搞了n久问题不能解决,求解,是否转换yv12颜色有损失呢?
发表于 2010-2-17 16:21 | 显示全部楼层
转换成YV12理论上确实是有损的,因为颜色信息减少了。不过不会存在彩色变黑白的问题。请贴出截图、AVS代码和尽量详细的操作流程,说不定能找到您的问题所在。
 楼主| 发表于 2010-2-17 17:44 | 显示全部楼层
AVS我都不加滤镜就用dss,avis也还是一样黑白
mjpeg是picvideo v4.0.6.0,已注册,4:2:2色系
vd是1.9.8,yuy2输出
x264用megui
avs不贴了,截了段原始mjpeg视频,下载地址:http://u.115.com/file/t0247cde92
另外再求个矫正色度偏移的avs滤镜,如果有的话,现在色度有点向右偏
发表于 2010-2-17 20:43 | 显示全部楼层
ffx_x264_sample.zip (379.09 KB, 下载次数: 11170)
发表于 2010-2-17 23:21 | 显示全部楼层
等等……您提供的这段视频真是太奇怪了。需要更多时间分析一下……上面的帖子姑且作为一个临时方案。

这段画面是静止的,您能不能提供一段有动态的画面,大概一两秒钟就可以。
发表于 2010-2-17 23:50 | 显示全部楼层
又进行了一些测试,从现象上解决了问题。请从http://code.google.com/p/ffmpegsource/下载ffmpegsource插件,然后用下面AVS脚本加载您的片源就没有问题了(至少您提供的这个片段没有出现异常)。
  1. loadplugin("ffms2.dll")
  2. import("ffms2.avsi")
  3. ffmpegsource2("a2.avi")
复制代码
直接输出YV12给AVS。
您录制的这个MJPEG格式还真奇怪……难道是编码器的问题么= =||如果您能提供我一段带动态的视频的话说不定能更详细地了解本质……

感谢VempX……
 楼主| 发表于 2010-2-18 10:30 | 显示全部楼层
感谢两位的热心测试帮助,困扰好久的问题得到解决了
picvideo这个商业软件真是奇怪,现在看应该是解码的问题
先前用dss+ffdshow或dss+picvideo进avs都不行,用avisource还会x264报错
4L用Motion JPEG解码我没有试,但是看大虾的视频也是正常的
capture下来全部是交错的29i,然后用yadif搞成29p,上面那个nnedi2()加在下面有什么作用呢?
捕捉卡是WinFast TV2000 XP Expert,s端子线接入,这块卡的驱动只支持I420输出,不支持yv12输出
虽然我查过I420与yv12只是包装格式不同
动态视频,请研究:http://u.115.com/file/t0c25a1c52
发表于 2010-2-18 10:48 | 显示全部楼层
之前您提供的画面没有动态,我甚至以为是30p的……看来到底还是30i画面,到头来还得加deinterlace。
总之用ffmpegsource2载入应该就没问题了。

不过,S端子效果就是好。我看您提供的第一个sample就觉得肯定不是Composite。要是有能录色差的捕捉卡就更爽了。

此外不知道是PS2的问题还是FFX的问题,虽然输出的信号是interlace的,但每隔一场就有一个重复的场,非常奇怪。您可以用separatefields把场拆开来看。恐怕这样一来普通的deinterlace方法就不适用了,画面动态会有问题。而菜单画面就又不一样,每场都有动态。

试验了一下,这么做会有比较好的效果:
  1. ffmpegsource2("a22.avi")
  2. killaudio
  3. separatefields
  4. selectodd
  5. eedi3_rpow2(2)
  6. lanczosresize(640,480)
复制代码
如果你的机器足够强劲,eedi3_rpow2(2)改成eedi3_rpow2(4)效果会更好。
 楼主| 发表于 2010-2-18 11:35 | 显示全部楼层
数字卡要数字输出的机器支持才有意义吧,像ps3,三红机
重复场视游戏不同有不同现象,有些格斗游戏可以拆场做60p而不会有重复
多谢提供avs代码,还在试验中,不过太bt的不敢试,主流机器扛不住的啦
发表于 2010-2-18 21:15 | 显示全部楼层
FFX应该是个30p的游戏吧...照我的猜测30p的游戏输出的帧的上场和下场应该也是不会有交错的,不知道我的理解哪里有问题
总之我先看看sample吧
发表于 2010-2-18 21:30 | 显示全部楼层
本帖最后由 a4840639 于 2010-2-18 21:37 编辑

我的做法:
  1. separatefields
  2. deleteframe(0)
  3. weave
复制代码
似乎色度上很有问题,但是我觉得这个思路应该要比直接反交错好
还有就是fading和菜单动画是60i的,此方法无效

PS2游戏的狗牙太恶心了,不知道怎么解决才好
我觉得PS2上分量不一定好,除非那个游戏支持480p输出,不然的话很有可能反而把不该清晰的地方暴露的一览无遗
发表于 2010-2-18 23:40 | 显示全部楼层
回复 11# a4840639
从某种意义上来讲您说得的确很有道理。赞同……

此外虽然有点迟了,但还是想修正9楼的一个说法。色差和数字可并不是一回事噢,色差同样也可以是模拟的。虽然我从来没听说过能捕捉模拟色差信号的捕捉卡……带色差的数字卡售价基本没有低于5位数的……有个带S端子的已经是是很幸福的事情了啊……
发表于 2010-2-19 04:08 | 显示全部楼层
回复 11# a4840639


    这是swapfields么...

另一个问题,先DI还是先ConvertToYV12(interlaced=true) ?
发表于 2010-2-19 09:31 | 显示全部楼层
回复 13# lititude
ffms输出的颜色空间本身就是YV12,不用再转YV12了。
还有,第二个sample结尾处从菜单出来之后到fade out一直都是30p的,难道一个游戏的同一个场景竟然同时存在30p和30i,真神奇。FFX,GJ!
11楼做的真强!崇拜m(_ _)m
您需要登录后才可以回帖 登录 | 成为会员

本版积分规则

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

GMT+8, 2024-4-25 21:30 , Processed in 0.526087 second(s), 25 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

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