POPPUR爱换

标题: 1080P、10bit、60fps、4:4:4测试视频,及全面的播放方法简介 [打印本页]

作者: gtx5    时间: 2011-8-28 19:42
标题: 1080P、10bit、60fps、4:4:4测试视频,及全面的播放方法简介
本帖最后由 gtx5 于 2011-8-28 19:43 编辑

http://u2.dmhy.me/forums.php?act ... =1&topicid=4338


8月27日更新,更多新制作的10bit测试视频,包括了60fps的视频、10bit 4:4:4全采样YUV视频,十分消耗资源的ASS特效字幕、外挂FLAC音轨、双视频流的测试,都具有不小的挑战性:
http://u.115.com/folder/f02d1950e43#

帖子下方有播放器、滤镜设置的图文教程。
播放推荐使用的组合:
1.MPC-HC播放器和ffdshow tryout解码器组件下载地址:
http://www.xvidvideo.ru/
下载x86版本,推荐MSVC2010编译版
我目前所使用的版本:
Media Player Classic HomeCinema (x86), 1.5.3.3677, BE Mod, With installer
ffdshow tryouts project, svn 3972 (x86) - MSVC2010
2.LAV Filters下载地址:
http://forum.doom9.org/showthread.php?t=156191
下载“Installer (both x86/x64)”,也就是安装版,使用最方便
安装时注意勾选FLAC解码
3.madVR下载地址:
http://madshi.net/madVR.zip
4.mkv还是更推荐使用Haali Media Splitter作为分离器,因为它能支持文件间的Link,比如一些把OP、ED切到外面去的压制,然后播放正片时会自动根据UID在指定的时间点连接到那些文件。
如果不需要这个功能的话,LAV Splitter就够用了。
但是Haali有个霸道的设定,改变了H.264的MediaType,导致一些解码器无法正常调用,所以需要在Haali的设置里的Output——Use custom media type for H.264设为No


播放建议:
1.10bit视频要用支持10bit H.264的解码器,如果用不支持的解码器,解码后画面会出现颜色错误、色块一大堆等问题。目前我所知道的支持10bit H.264的解码器有:最新版的ffdshow video decoder、最新版的LAV Video Decoder、最新版的madVR渲染器的内置解码器、最新版的mplayer的内置解码器、最新版的Potplayer的内置解码器。
我推荐使用MPC-HC作为播放器,使用LAV Video Decoder作为视频解码器,madVR作为视频渲染器,使用MPC-HC自带的字幕引擎(VSFilter)。因为LAV支持8bit/10bit/16bit的输出,而madVR也支持10bit的输入与渲染,虽然最后的显示输出只支持8bit,但这并没有影响。

2.ASS字幕正常播放需要使用VSFilter,包括DirectVobSub滤镜,还有MPC-HC等播放器的内置字幕引擎,我建议使用后者,现在DirectVobSub和10bit解码存在很多兼容问题。
为了支持许多动态效果,MPC-HC字幕的设置注意把“字幕图像缓冲数量”设为0;DirectVobSub则不能开启Pre-buffer subpictures;但是我找不到Potplayer内置字幕引擎的类似设置,所以无法正常显示某些字幕效果。

3.双视频流的mkv需要用Haali或LAV Splitter作为分离器,对于mkv内封的多音轨、多字幕也建议使用这些分离器。

4.原盘的PGS(SUP)字幕是个比较讨厌的东西,使用VSFilter时,不论是MPC-HC的内置字幕引擎,还是DirectVobSub,都会出现闪烁的现象,只有ffdshow的字幕引擎才不会闪,但是有时候会出现一些没有的横线,而且ffdshow的字幕引擎对于ASS字幕的支持非常差,很多效果会丢失。所以这个问题我也没找到好的解决办法。

5.外挂的FLAC音轨播放方法,禁用MPC-HC内置的FLAC源滤镜,推荐使用LAV Splitter作为分离器(设置中勾上FLAC),禁用ffdshow Audio Decoder的flac解码器,LAV Audio Decoder作为音频解码器。使用ffdshow Audio Decoder的混音功能。然后播放时在右键——滤镜——ffdshow Audio Decoder一栏里就可以选择输出内封的音轨还是外挂的音轨。


现在10bit的压制逐渐开始流行,由于其可以在保持高画质的前提下大大提升压缩效率,所以是急需普及的新技术。
10bit压制主要是通过提升编码的精度,从而在有损压缩时可以采用更高的量化值,同时保持十分好的质量,于是可以在比8bit压制更低的码率下还原出更好的画面。
8bit量化下的Luma和Chroma取值范围:Y:16-235,Cb/Cr:16-240。10bit量化下的Luma和Chroma取值范围:Y:64-940,Cb/Cr:64-960。所以10bit在更高的精度冗余下可以在有损编码时有更高的效率。
具体对于画质有利的方面主要在于:
1.防止banding(色彩平滑过渡区域的色带)产生
2.提升暗场效果
3.更好地容纳噪点
而这几项正好都是现在8bit压制中很难处理的地方。特别是对于动画,banding是个及其麻烦的东西。暗场是十分容易码率分配不足,并且产生画面劣化的部分。而噪点则是十分消耗码率。10bit下这些困难的东西都变得容易处理了。


几段测试视频的介绍:
1.Kanon OP ~ 彩菜 - Last regrets ~ 1080p60 x264 Hi10P 3xFLAC 4xASS 2xPGS - mawen1250
Kanon的Opening,歌曲名为Last Regrets,这段视频我利用SVP将其从24fps插值为60fps,并且用10bit压制,尽管只有12Mbps的视频码率,但是由于60fps,在我的四核上已经无法流畅播放了。
音轨总共4条FLAC,3条封装在mkv中,分别为来自BD的5.1和2.0,还有来自CD的2.0。外挂一条FLAC音轨则是来自CD的这首歌曲的完整版,和视频、字幕不对应。
字幕有4条ASS和2条来自BD的PGS。第一条ASS字幕是我费了好多功夫做出来的(我承认我比较菜),效果自认为很不错,对CPU的要求也不算高。后面几条就是其他的国内外字幕组(Fansub)做的了。

2.AIR OP LongVer A&B ~ Lia - 鳥の詩 ~ 1080p30 x264 Hi10p 2xAVC 3xFLAC 5xASS 1xPGS - mawen1250
AIR的Opening,神曲“鸟之诗”,我非常喜欢。BD里有两个版本的视频,分别是有印和无印,于是我将两段视频用10bit压制,封装进了同一个mkv中。封装了3条FLAC音轨,分别为来自BD的5.1和2.0,还有来自CD的2.0。外挂两条FLAC音轨则是来自CD的这首歌曲的完整版,以及无演唱版(纯乐器演奏)。
中文字幕是我自己花了好多时间搞出来的,带卡拉OK效果,一条有特效,一条无特效,默认播放无特效的那条。有特效的那个说实话效果不怎么样,但是展现ASS字幕对于CPU杀手级的消耗能力是体现出来了,大量的blur效果+大面积的移动效果,直接导致将CPU一个核心占满(VSFilter只支持单线程),视频播放的帧率只有10-20,而这段视频原本是30fps的。

3.Clannad和Clannad ~After Story~的NCOP和NCED,总共4条视频。Clannad这部动画我非常喜欢,这四首歌我也都很喜欢。
依旧是10bit的压制,配上三条FLAC音轨,加上ASS字幕。其中Clannad的NCOP和NCED用了FLsnow(雪飘)的特效字幕,特别是NCED的效果相当华丽(相比雪飘现在一些夸张的字幕特效可能不那么华丽,但已经比其他大部分字幕组的字幕效果好多了)。

4.[Yousei-raws] Ano Hi Mita Hana no Namae o Bokutachi wa Mada Shiranai. 01 [BDrip 1920x1080 x264 FLAC] ED
Anohana(昔时之花未闻名/我们仍不知道那日所见花的名字)的第一集的Ending,从Yousei-raws的10bit BDrip中切割出来。
字幕才是这个的亮点,是雪飘制作的神级特效字幕,一段3分钟的ASS字幕有5.56MB!!!要知道常见的ASS字幕24分钟也就30-100KB。代码有40000多行,效果是相当的华丽。我用MPC-HC的字幕引擎载入这段字幕需要花上大约半分钟,如果用ffdshow的字幕引擎,准备好电脑卡死吧,我只见内存占用直接彪到4GB占满,然后死机了。这段字幕我用了外挂形式,没有封装到mkv里,便于研究这特效是如何实现的。

5.BBB444p10.mkv
10bit 4:4:4测试视频,来自x264主要开发者Dark Shikari。
现在我们在视频压缩里最普遍使用的YUV空间采样模式是4:2:0,也就是对色度(Chroma)做四分之一的采样,从而在8bit下一个像素点只占用8×3/2=12bit。而4:4:4就是全采样,在8bit下一个像素点占用8×3=24bit,10bit下一个像素点占用10×3=30bit。理论上讲全采样有着更好的色彩精度上的优势,不过相应地也会更占空间。
这段1080p的10bit 4:4:4视频码率却只有1500kbps,码率确实偏低了,在一开始第20-30帧的暗场有明显的欠码产生的色块,而后面的画面也明显感觉到有些劣化。
对于这个视频,建议使用LAV Video Decoder+madVR渲染器的组合,两者分别支持Y410(10bit 4:4:4)的输出和输入,我使用EVR/CP渲染的话会出现卡的情况。





外挂FLAC音轨一直以来是我播放的一大难点,MPC-HC自带的FLAC解码器解码有问题,而FLAC分离器又无法将分离后的音轨传递给ffdshow解码和混音,而且遇到5.1的FLAC我就更加郁闷,因为我是使用Reclock的WASAPI输出,绕过了系统的混音和重采样,所以我必须在播放端就把音频转成我的设备所支持的声道数、采样精度和采样频率。我只有2.0设备,而MPC-HC自带的混音功能我从感觉上不那么喜欢,其他的像madflac这种都没有混音到2.0的选项,而且也无法将LPCM传递给ffdshow混音。
现在用了LAV Splitter后,可以将外挂的flac也传递给ffdshow解码和混音了,但是却出现了新的问题,往往在ffdshow滤镜里切换内部音轨和外挂音轨时,就会没有声音,而且要看RP,有时没问题有时就没声音。然后我就把flac解码也交给LAV Audio Decoder,这样就没问题了,但LAV自身没有混音到2.0的选项,所以就将其输出的LPCM再交给ffdshow做混音处理。

作者: lht999    时间: 2011-8-28 22:03
能不能不用动画演示啊? 看不明白
作者: erhang    时间: 2011-8-28 22:20
10BIT需要特殊的显示器才行吧?
作者: gtx5    时间: 2011-8-28 22:22
erhang 发表于 2011-8-28 22:20
10BIT需要特殊的显示器才行吧?

普通的也可以看得出一点差别
作者: gtx5    时间: 2011-8-28 22:23
lht999 发表于 2011-8-28 22:03
能不能不用动画演示啊? 看不明白

动画比较容易看得出区别
作者: Edison    时间: 2011-8-28 22:27
60fps 压制不应该用 SVP 呀,绝对应该用 Interframe,SVP 在 interframe 面前也就是提鞋的资格(不考虑速度)。
作者: jiangjiejjjjjj    时间: 2011-8-28 22:30
技术贴顶lz,另外楼主能否共享下dtsdecoderdll.dll,我用pot的还是64的是不是dtshd比较麻烦,lav神马的都用64的,一直dtscore没时间折腾dtshd,下了一堆remux音轨都浪费了
作者: eternal0    时间: 2011-8-28 22:41
本帖最后由 eternal0 于 2011-8-28 22:42 编辑
lht999 发表于 2011-8-28 22:03
能不能不用动画演示啊? 看不明白


动画在降噪之后用8bit H264压缩会出现很明显的Banding,播放时需要开启DeBand,10bit压缩可以解决这个问题。

YUV 4:4:4目前还没什么必要,现在市面上绝大多数视频都是4:2:0的,压制成4:4:4只会浪费码率,而且人眼对色度的敏感远远低于亮度,视频中能看出不同chroma upscale算法的时候非常少。
作者: gtx5    时间: 2011-8-28 22:42
jiangjiejjjjjj 发表于 2011-8-28 22:30
技术贴顶lz,另外楼主能否共享下dtsdecoderdll.dll,我用pot的还是64的是不是dtshd比较麻烦,lav神马的都用64的 ...





[attach]1615178[/attach]

[attach]1615177[/attach]

[attach]1615176[/attach]
作者: Edison    时间: 2011-8-28 22:46
jiangjiejjjjjj 发表于 2011-8-28 22:30
技术贴顶lz,另外楼主能否共享下dtsdecoderdll.dll,我用pot的还是64的是不是dtshd比较麻烦,lav神马的都用64的 ...



作者: imdonnie    时间: 2011-8-29 00:40
提示: 作者被禁止或删除 内容自动屏蔽
作者: jiangjiejjjjjj    时间: 2011-8-29 09:34
感谢楼上的楼上还有楼上的楼上的楼上{lol:]
作者: cellwing    时间: 2011-8-29 09:49
提示: 作者被禁止或删除 内容自动屏蔽
作者: barrysam    时间: 2011-8-29 10:08
双核只能看看
作者: coolhay    时间: 2011-8-29 19:58
Kanon OP

肥龙2oc3.8G

初步目测也就6fps...整个一大幻灯...

看来无缘目睹svp插值过的60fps...{sweat:]
作者: xmap    时间: 2011-8-30 14:02
有这时间,直接下BD源盘更省事。。。
作者: GTX999    时间: 2011-8-30 15:23
没显示器啊
作者: hncy2130    时间: 2011-8-31 08:29
楼主能否讲解一下TS和MKV文件如何加载SUP字幕啊?
作者: chm128256_1    时间: 2011-8-31 09:37
hncy2130 发表于 2011-8-31 08:29
楼主能否讲解一下TS和MKV文件如何加载SUP字幕啊?

楼主是转帖机,你还指望他教你这个?
作者: FullHD8    时间: 2011-8-31 12:50
本帖最后由 FullHD8 于 2011-8-31 12:52 编辑
Edison 发表于 2011-8-28 22:27
60fps 压制不应该用 SVP 呀,绝对应该用 Interframe,SVP 在 interframe 面前也就是提鞋的资格(不考虑速度 ...


其实Interframe只比SVP多了“lambda=1000 * BlockSize * Blocksize / 128, lsad=1600”两个参数,以及在Placebo模式亚像素插值改用EEDI2再添加dct=5,还有Faster或以上把补帧降噪。

要是追求极端质量,倒不如自己写代码。够蛋疼的话用“32x32,32x16,16x16,16x8,16x2,8x8,8x4,4x4”以上所有Block size重计算+searchparam=16+dct=1+CustomPelClip=nnedi3_rpow2(4)保证编码速度每秒0.01帧:)
作者: nfsking2    时间: 2011-9-1 11:59
4:4:4的采样,就算在广播级应用里面都极少。。。。
作者: soulidsnake    时间: 2011-9-1 22:47
彩菜那个MV播放还是无压力的,LZ什么4核播不动
不过还在研究如何完美播放10bit
作者: ArrrX    时间: 2011-9-2 02:14
似乎不能硬件加速……悲剧了
作者: xiaomy    时间: 2011-9-10 14:21
提示: 作者被禁止或删除 内容自动屏蔽
作者: JUNHUN    时间: 2011-9-13 23:23
好物,学习了。多谢分享
作者: mawen1250    时间: 2011-9-22 18:21
文章的作者在此,话说至少也标个转贴吧,不然很容易让人误会。
作者: chs1    时间: 2011-9-23 21:06
学习学习
作者: [卓洛·索隆]    时间: 2011-10-7 15:44
学习学习
作者: niello    时间: 2011-10-7 18:16
仔细研究技术贴,另外瞅瞅10楼版主给出的神秘武器
作者: hainon    时间: 2011-10-7 19:29
学习学习
作者: vickyhill    时间: 2011-10-8 13:22
学习一下吧~~~~~~~
作者: feng_6630    时间: 2013-8-18 18:55
非常感谢楼主分享!
作者: sonikpate    时间: 2013-9-9 23:07
回复看10楼




欢迎光临 POPPUR爱换 (https://we.poppur.com/) Powered by Discuz! X3.4