2019-09-27 丨超4K视频解码播放技术
关于视频解码这方面的知识,咱作为多年UP主接触不少,体会很多,有空容我慢慢道来
随着视频分辨率的升级,目前2K已经成了主流,4K和8K 16K的视频将来也即将走进我们的生活,本篇文章计划介绍一下如何用普通的PC播放超4K分辨率的视频
其实之前在视频解码配置指南 中我们就提到了视频编码和解码的相关事项,视频编码越先进,视频在同样的体积下越清晰,还原度越高。然而同样的视频先进的编码需要解码的配置也更高,所以先进的编码虽然存放省地方,但是当分辨率提高的时候解码需要的算力(CPU GPU性能)也是呈指数级的增长,所以目前来看AVC 4K能清晰播放的很多设备,HEVC只能对付看个2K,甚至1080P,所以本篇教程只能说保证各位看AVC(H264)的4K+视频,不能保证别的。
视频分软解和硬解,软解走CPU硬解走GPU,通常来说老电脑都只能硬解AVC(H264),要想硬解HEVC(H265)至少需要16年左右的显卡,无论集成还是独显。想要一个支持高清视频解码的电视盒最便宜的方案是买个N3450的本子或者工控机回家插电视上当电视盒用,所用思路基本和60元自制NAS 1.硬件组建 差不多
此外不要觉得自己的屏幕蔡就放弃治疗,屏幕是一方面,视频来源是另外一方面。总想着自己屏幕只有1080P要什么4K那日子是没法过的,而且本身来说这种说法也有谬误。“自己屏幕只有8BIT色深,要什么10BIT编码?”殊不知10BIT编码本身就比8BIT编码先进,所以即使用上了8BIT屏幕用10BIT编码也能让视频在更小的体积下还原度更高,何况屏幕这种东西都是可以换的,如今电视越来越便宜的今天换个4K电视对我们来说不算什么难事吧
(其实我个人还是信仰模拟信号的,胶片和磁带才是影音的最终载体)
首先咱先说下需要准备的材料吧:
以下工具我们会放在“失传技术研究所”公号的自动回复里,回复“4K”可获取链接
下载器(可选)
mpv media player
potplayer&LAV解码器&D3D9渲染器
解码器是把打包好的视频文件解码的工具,渲染器则是把解码好的视频RGB/YUV裸数据渲染到屏幕上显示的工具
RGB/YUV
为了表达人眼观察到的颜色,人们从数学模型上定义了一系列不同的color model,我们常见的有RGB,CMYK,YUV,YPbPr/YCbCr
RGB/YUV
RGB:RGB 模型是目前常用的一种彩色信息表达方式,它使用红、绿、蓝三原色的亮度来定量表示颜色。该模型也称为加色混色模型,是以RGB三色光互相叠加来实现混色的方法
可以看到这样的色彩表达法坐标是缺象限的,这种制式的颜色模型存在一定的缺点
BGR:与RGB类似,存储时B与R的位置调换
YUV:Y′UV,YUV, YCbCr, YPbPr颜色编码方法在对照片或影片编码时,考虑到人类的感知能力,允许降低色度的带宽
Y代表明亮度(灰度)而U与V存储色度,UV代表的是彩度,分别用Cr和Cb来表示。这样只需要两个参数就能确定颜色,最大的优点在于只需占用极少的带宽。
RGB与YUV转换公式 (RGB取值范围均为0~255)
Y=0.299R+0.587G+0.114B ⁄ R=Y+1.14V
U=-0.147R-0.289G+0.436B ⁄ G=Y-0.39U-0.58V
V=0.615R-0.515G-0.100B ⁄ B=Y+2.03U
以上两种制式其实都是多用于显示器显示色彩,实际上解决色彩问题还原度不佳的问题最能立竿见影的办法还是买个100% RGB色域的屏幕(不同的屏幕观看上图的效果是完全不同的,不信各位可以拿手机和电脑打开本文做比对)
作为图吧轻工业玩家咱更多接触到的还是CMYK制式:印刷四分色模式(CMYK)是彩色印刷时采用的一种套色模式,利用色料的三原色混色原理,加上黑色油墨,共计四种颜色混合叠加,形成所谓“全彩印刷”
这种制式最大的特点是色彩模式与印刷用的三色(算上黑色是四色)墨水相对应,是一种更适合用来打印的彩色系统。不过我有点纳闷,咱的打印机是六色打印机,用四色制式真的能更还原吗?
根据加刘景长的介绍,目前总共有两种方案可以实现4K以上视频的播放:
然后需要装这个LAV解码器
话说这东西是不是K LITE解码器里面也有来着?汪汪斯密达还真喜欢抄代码啊
就正常安装就行
还挺全
顺带把那个DLL也注册一下
然后开LAV即可,不开倒是也能用内置的FFMPEG解码就是了
去他的优先级,强上
如果用优先级就会便乘(划掉)变成上面这样用FFMPEG解码
老老实实地开LAV和D3D9
廉颇老矣,尚能饭否?只有区区25W的P8600如今对付起4K仍然可以得心应手,处在一个卡与不卡之间勉强能看的水平,目测上I5 560M即可不掉帧流畅观看
要知道这可是和775同年的45nm CPU,AMD到45nm那代双核还死活解不开HEVC 1080P怎么都得上三核呢,需要95W三核台式U干的活英特尔当年25w的笔记本低功耗U就他娘的搞定了(P系列是25W的低功耗标准电压U,相比35W的T系列功耗确实低了不少,但是性能远超15W的L系列低压U和10W的U系列超低压U,当年英特尔的产品序列就划分如此清晰,可叹)
8K倒不是不能看,但是这个帧率就没法玩了,我说了,分辨率上升所需配置也是指数级的上升,咱现在只是一个十年前的老笔记本U,就别勉强了。不过笔记本移动平台即使是AMD的A10四核目测也不会比P8600强哪去就是了,即使是咱自制NAS用的J1900我料定也是和P86差不多的水平。目测8K还是得有空上AM3台机四核平台看看情况
PS:对于能卡死我全家的HEVC 4K视频,咱420包邮的华为P9居然能解还是硬解,这是最骚的,作为MIFAN的我爸我妈用的小米手机全不支持硬解,但是华为P9一个300多块钱的机器就他娘的解开啦,是真的牛皮,不愧是多年造电视盒的麒麟,是真的厉害,所以我说这机器即使退下来一个改电视盒也是有价值的,只是咱现在还不知道怎么改
我看 将来想看什么视频直接捡个华为过来就解决了,四核六核干不了的它一个SOC全他娘的能干,是真的爽
麒麟955还是个很老不能LPDDR4满血的SOC呢,要是有麒麟960……
不过对于10BIT就只能开软解,相比之下略有不足(4K仍然流畅,8K无法渲染),毕竟是老旗舰,我不知道现在的华为旗舰怎么样,有空等我小弟回来了借他手机试试,好像是MATE 20吧,反正比我的新