版面规则
提问时请注意:尽量详细描述操作过程、AVS脚本内容等,最好能写出片名,只贴图有时无法看出问题原因。
提示:发布原创内容请尽量使用附件上传。使用网盘会出现过期失效的问题,请注意。
litfal
帖子: 32
注册时间: 2012-05-13 17:17

Fraps無損要使用什麼AVS腳本 壓成x264 10bit才不會有顏色上的損失

Fraps lossless的影片用madVR的Pin info看,是RGB24的color space。
我想這就是為什麼直接用x264轉換,總是會有一些顏色很明顯的變得不一樣,因為會經過8bit YUV轉換?

利用google爬文,不小心找到了這個寶庫,興致忡忡的利用了RGB与YCbCr相互转换的测试的AVS腳本做了測試。
使用的AVS CODE如下

代码: 全选

avisource("M:\Test\Wow 2012-05-04 23-55-12-86.avi")
#以下為轉換用
Dither_convert_rgb_to_yuv(matrix="709",tv_range=true,lsb=true,mode=-1,ampn=0,output="YV24")
Dither_lut16("x 64 / 6 <<",Y=3,U=3,V=3)
Dither_convert_yuv_to_rgb(matrix="709",tv_range=true,lsb_in=true,mode=-1,ampn=0,output="rgb32")
#以下為截圖比較用
trim(10,10) 
ImageWriter("N:\MovTest\",0,0,"bmp") 
#ConvertToYV12(matrix="PC.709")
(tv_range去掉結果相同,目前還沒到x264的部分)

但發現還是會有一樣的顏色損失,鮮紅會變成暗紅,亮黃會變成鵝黃,如圖:
原始:
图片
轉換後:
图片

我是有什麼地方搞錯了呢? 還是有其他方法?
头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: Fraps無損要使用什麼AVS腳本 壓成x264 10bit才不會有顏色上的損失

最近我就在做游戏视频,用Fraps录制8bit RGB无损,用dither工具转换为16bit 444 PC Range YUV,然后降为10bit输出给x264用10bit 444编码。

2013.05.13 edit:
对于RGB源我更推荐转换为10bit 444 YCgCo,这个转换过程是不产生小数点后的数据所以是完全无损的。
► 显示剧情透露 转换为PC Range 10bit 444 YCgCo
► 显示剧情透露 转换为PC Range 10bit 444 BT709
这里需要用到的AVS脚本和插件:
dither工具:http://forum.doom9.org/showthread.php?p ... ost1386559
O16mod:http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&t=1017
f3kdb:http://www.nmm-hd.org/newbbs/viewtopic.php?f=7&t=239
SmoothAdjust:http://forum.doom9.org/showthread.php?t=154971
► 显示剧情透露 2013.05.13更新,为了避免误导人所以把原先的回复编辑掉
上次由 mawen1250 在 2013-05-13 11:04,总共编辑 9 次。
头像
06_taro
核心会员
核心会员
帖子: 998
注册时间: 2010-09-22 18:32
来自: United Kingdom
联系: 网站

Re: Fraps無損要使用什麼AVS腳本 壓成x264 10bit才不會有顏色上的損失

需要dither 1.17.0或以上版本,需要AviSynth 2.6

[syntax lang="avisynth" lines="f"]__ANY_SOURCE_FILTER_FOR_RGB_INPUT__
Dither_Convert_RGB_TO_YUV(lsb=true, matrix="YCgCo", output="YV24", tv_range=false)
Down10(dither=-1, stack=false)[/syntax]
理論上完全無損,同時保持YUV colorspace的高壓縮效率
然後x264部分:

[syntax lang="winbatch" lines="f"]x264_10bit.exe [any other options] --output-csp "i444" --input-range "pc" --range "pc" --input-depth 10 --colormatrix "YCgCo" --output "output.mkv" "input.avs"[/syntax]
上次由 06_taro 在 2012-06-26 17:24,总共编辑 1 次。
つまんねー事聞くなよ!

I, personally, for me, believe (obviously sometimes) that my OS choice is right. That's me. I'm not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That's why you have one. (source)

Follow me: @06_taro

304——
为纪念伟大的宇宙史上最强压制304先生,联合国教科文组织决定,将每年的第304天,即平年的10月31日或者闰年的10月30日,定为世界304日。
btcdtc
帖子: 73
注册时间: 2010-10-29 23:23

Re: Fraps無損要使用什麼AVS腳本 壓成x264 10bit才不會有顏色上的損失

游戏视频主要还是靠在线网站传播的吧...你们弄成10bit和444让楼主传哪里是好==
头像
mawen1250
核心会员
核心会员
帖子: 670
注册时间: 2011-07-24 20:33

Re: Fraps無損要使用什麼AVS腳本 壓成x264 10bit才不會有顏色上的損失

咦,1.17.0昨天发布的么?今天试试看YCgCo。不过x264里chroma-qp-offset该怎么设?YCgCo下每个平面的重要性如何确定?

回LS,按照LZ的要求,420肯定是不行的了。至于在线,更主要的问题是怎么防止被二压……

今天照LZ那个脚本用AvsPmod预览并ImageWriter,得出的处理前后的图片并没有任何区别,不知道LZ是用什么方式读取AVS变成这样。
上次由 mawen1250 在 2012-05-14 11:20,总共编辑 3 次。
头像
xiao7
帖子: 138
注册时间: 2010-09-25 16:16

Re: Fraps無損要使用什麼AVS腳本 壓成x264 10bit才不會有顏色上的損失

防止二压可以用sin@ 的BUG,问题是FLASH 的解码能良好地支持10bit么(LZ貌似没要求在线看啊
litfal
帖子: 32
注册时间: 2012-05-13 17:17

Re: Fraps無損要使用什麼AVS腳本 壓成x264 10bit才不會有顏色上的損失

謝謝各位的回覆:
目前我的部分僅於AVS測試,也就是把avs檔案直接餵給mpc-hc,播放預覽結果先。
我在樓頂用的腳本也是為了輸出bmp比較用的(拿mawen1250的用法現學現賣)
輸出的結果就如同我貼的圖片一樣,看mpc裡面的篩選器,看起來是Avisynth vedio出給madVR。

至於上傳的需求是有的,不過上傳前應該會再壓過一次。反正傳上去10bit是個問題,還會被再壓過...
這個主題問的需求是用較高的碼率和較好的顏色保存用,fraps lossless檔案的大小實在是...
一個晚上就把300GB的錄影區佔滿了= = 1080P@30fps,48秒就要4GB啦

昨天測試了二樓mawen1250提供的腳本:
如果直接把avs拉給mpc撥放,會被解析成Video: YV12 3840x1080 30fps,然後顏色畫面都變得很奇怪
用x264_32_tMod-10bit-all去壓的話,看起來會記憶體不足(x86限制吧)。 (malloc of size 4571392 failed)
改用x264_64_tMod-10bit-all,則是load avs就失敗了(failed to load avisynth,要用x64版的avsynth?)
若是用avs4x264mod傳過去,可以壓,但壓出來的結果不正確。(avs4x264mod.exe --x264-binary "x264_64_tMod-10bit-all")

三樓06_taro提供的方法還沒測試,等等來試試看。
上次由 litfal 在 2012-05-14 15:43,总共编辑 1 次。
btcdtc
帖子: 73
注册时间: 2010-10-29 23:23

Re: Fraps無損要使用什麼AVS腳本 壓成x264 10bit才不會有顏色上的損失

到时候还要再压就直接出成8bit就好了
一句转换到fullrange的YV12就够了
我不记得我当年压8bit 3024*540的战地3空战有遇到RGB转YV12有严重的(可视的)颜色损失


吐槽mode on!
3840x1080这种级别的视频不是只能传youtube吗!
3840x11080的分辨率真的可以玩游戏吗!画面正中间是黑缝的说!=-=玩超宽屏至少也要3个屏幕吧
上次由 btcdtc 在 2012-05-14 15:28,总共编辑 2 次。
头像
06_taro
核心会员
核心会员
帖子: 998
注册时间: 2010-09-22 18:32
来自: United Kingdom
联系: 网站

Re: Fraps無損要使用什麼AVS腳本 壓成x264 10bit才不會有顏色上的損失

叫你輸入10bit還不加--input-depth 10…
つまんねー事聞くなよ!

I, personally, for me, believe (obviously sometimes) that my OS choice is right. That's me. I'm not telling you that you should believe it. Learn the facts, and the origins behind the facts, and make up your own damn mind. That's why you have one. (source)

Follow me: @06_taro

304——
为纪念伟大的宇宙史上最强压制304先生,联合国教科文组织决定,将每年的第304天,即平年的10月31日或者闰年的10月30日,定为世界304日。
btcdtc
帖子: 73
注册时间: 2010-10-29 23:23

Re: Fraps無損要使用什麼AVS腳本 壓成x264 10bit才不會有顏色上的損失

顺便强烈抗议mawen的x264参数太长太累赘了纯属吓唬小白,直接preset veryslow就不用写那么多了...

回到 “AviSynth”