开启左侧

[技术教程] 老白带你玩转UHD(4K HDR)之播放流畅篇

Hao8k小助手 发表于 2019-11-14 11:51:47 | 显示全部楼层 |阅读模式

马上注册 Hao8k.cn ,获得更好的体验,让你轻松玩转Hao8k

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
老白虽然年纪大了,但还是喜欢单刀直入,开门见山!4 ~# X. O6 m; {: m
电脑播放UHD视频不流畅主要有以下几大原因:, H6 l. s# u8 _" J$ M
1、硬件无法满足4K高码率视频播放的解码需求% L+ _# [: \/ a+ z7 {& h! [: ]" h5 k
2、播放器设置原因:解码方式、渲染设置等
+ L" R; j  o" D+ ?! }; {  h3、电影视频的帧率几乎都是23.976,而显示器的刷新率和其不匹配(普通电脑显示器几乎只有60HZ一个刷新率可用),到达一定时间两者强制同步造成视频播放出现卡顿
  [- N2 }& z& |通常来说,你用多个播放器的默认设置来播放视频,如果都像是在看幻灯片,那就不用纠结了,说明你的硬件实在太老,已无力解码播放UHD视频;如果只是间隔一段时间卡一下,那么就请听我慢慢分解开来:$ L' j, Y0 z* @: s
1、电脑玩家播放UHD,用LAV和madVR几乎就是标配,目前用madVR的动态色调映射转化是播放HDR的最佳方式,那么究竟该怎样设置才能不影响视频的流畅播放呢?2 y7 _% W2 i  h- W
不管你是用什么播放器,只要是加载了madVR滤镜,在视频播放过程中按下ctrl+j的组合键,就会在屏幕左边看到madVR的OSD信息图,我们首先一定要学会分析这张图:
& A+ p2 x' h, a7 V 老白带你玩转UHD(4K HDR)之播放流畅篇-1.jpg 0 v4 L8 N0 H9 f5 y- T( J
第一行 “displaye/23.97529” 代表了显卡当前的刷新率,和“第六行video 23.976fps”的视频帧率只是小数万分位上的差异,所以在第七行中,我们可以看到“每3.10小时出现一个重复帧”。显卡刷新率和视频帧率保持一致,是视频播放流畅的基础,如果第一行和第六行的数字差异是千分位以上甚至是整数位的差异(注意要撇除倍数关系),那么在第七行中,我们就可能会看到“每十几秒出现一个重复帧”,如果你没有特殊的应对措施,看视频必然也就会感觉到不流畅。3 j) T4 s4 D3 x( t3 p  \
另外我们要重点关注“dropped frames、repeated frames、delayed frames”,如果在持续播放中,这几个参数的数值一直在持续上升,就说明你的设置有问题,再结合下面的“average stats rendering”的值来进行分析:
3 ~1 o0 V/ F7 i6 P- W- C" Q7 j1)视频如果是23.976帧率,也就是说平均显示一帧的时间是1/23.976=41.7ms;视频如果是60帧率,那么平均一帧的时间是1/60=16.7ms,注意:这个rendering只是渲染时间,不包括解码时间,所以要稍微留点余量,比如上图中显示的rendering是24.85ms,离41.7ms还远了,所以渲染速度是非常安全的,当然这还是要建立在解码速度不离谱的基础上,不过我们在此之前就应该先排除掉解码的瓶颈。我建议将23.976帧率的片子控制在32ms以下,当然如果你的电脑配置非常强悍,可以留更少一点的余量。9 d5 a& H! c' B# L4 q5 @
2)平均rendering时间毕竟只是平均数,所以我们还要注意看“max stats(5s)rendering”,这个是5秒内的最大渲染速度,如果其值始终超过标准,比如播放23.976视频最大值一直超过45ms,那么也必然会发生卡顿。* Q! ^6 R' G3 g
注意:一定要在持续播放中看这些数值,打开视频的瞬间或者暂停重启播放看到的掉帧或离谱值都不作数!
: w7 c9 E% p$ L. @! B2 _# n看完了ctrl+j的信息,如果是渲染时间rendering太多了,那么我们就要适当的下调LAV和madVR的设置,这部分网上教材很多,我基本只是点过:( ^/ V8 e1 y" k( ^) d6 W( e# C
LAV Video Decorder图示( `( h1 y. v, b- W' k0 L
老白带你玩转UHD(4K HDR)之播放流畅篇-2.jpg 6 n* z: b: ^4 _, F
电脑CPU和显卡非常强悍就用软解,也就是选None,理论上软解的画质是最高的,另外软解的稳定性也是最强的,反正我玩了快一年了,用软解几乎没碰到花屏或假死现象,软解还有一个隐性的好处是madVR的自动检测视频黑边(含去除黑边)功能必须要软解才行;+ c  |) t- i* U* P8 r" {
第二优选我个人建议用D3D11,不过要WIN8以上系统才行,我演示用的公司win7老电脑如果强行选择会在旁边出现"N/A"字样,代表无效,如果你强行不改那最终实际运行的是“None”即软解,D3D11同软解在画质上的差异近似于无,但稳定性要稍差点;
; F7 k6 D9 ?6 D2 Y5 Y  w. {0 Y老硬件和老系统就用DXVA2(copy-back)或(native),其执行效率最高但个人感觉画质稍稍差点9 X1 f8 ^3 z) l/ |  W' N) N7 g
注:LAV视频解码方式的选择,实际也会影响madVR的渲染速度,用D3D11的渲染速度比用软解(None)快20%-30%,和DXVA2比则差异很小5 O1 F0 @6 D* F: V- V0 T$ O4 r
madVR的设置,网上相关的文章太多了,我就不累述了,这里我只简单介绍一下公司老旧电脑的勉强播放UHD的设置:
0 b& d/ c% o( Z+ k* o  x默认没打勾的就别去打勾,image downscaling和image upscaling都选择“DXVA2”,另外在“trade quality for performance”如下图& n* Q  m$ G) p' V: Y/ d0 b
老白带你玩转UHD(4K HDR)之播放流畅篇-3.jpg
' D9 T$ r0 q# B% o* _0 s2 e简单来说就是屏蔽掉madVR的chroma与图像的缩放而强行使用DXVA,屏蔽掉madVR惊艳无比但也无比耗能的动态色调映射转化,老电脑强行加载madVR来播放UHD的目的是因为:即便是用其静态的色调映射转化,其效果也好于其他播放器的默认播放,这部分在这里就不展开了,以后会再发帖详细说明的。
$ y- D* r9 m9 R: U2 w( D我这里先给个HDR动态色调映射转化和HDR直通的屏摄对比图:; m  }5 c' o* k
老白带你玩转UHD(4K HDR)之播放流畅篇-4.jpg
) U* W# h% N  f1 N4 R8 A) D6 a3 [ 老白带你玩转UHD(4K HDR)之播放流畅篇-5.jpg " \2 P7 w( W9 \7 E$ v
特注:上图动态色调映射转化的屏摄快门是1/60秒,而下图的HDR直通的快门是1/40,两者的ISO都是125,为了凸显其光感都拍的有点爆了!- l$ ~2 l2 |3 R* B3 k9 p, {  i
俺老白年纪大了,上面可能有些唠叨了,接下来就是重头戏了,也是网上很难找到的:究竟如何把因显示器的刷新率与视频帧率的不同而造成的视频播放卡顿影响降低到最低' m" a4 X+ v: `6 @2 _6 {" `
老白用的是N卡,而A卡据说没此问题便就此略过,N卡的驱动多如牛毛,但其中播放23.976视频不发生口吃的驱动可谓是凤毛麟角,玩N卡都懂的肯定还要玩游戏,老白人老心可不老哦!那么你肯定也不会为了单单解决视频播放问题而吊死在某一个驱动上,而N卡解决23.976视频播放卡顿最通用的解决之道其实非常简单,只需要到N卡的控制面板里:. I  U  }: ]3 b6 K$ T: U6 E$ G" d
1、将“垂直同步”强制设定为“开”
* h# t+ \" z. p* E0 {1 R2、将“电源管理模式”强制设定为“自适应”

! G0 ?5 ^" Q, e" X; |% X4 Q 老白带你玩转UHD(4K HDR)之播放流畅篇-6.jpg
  O$ W5 J) y8 S+ h4 P3 Y9 n设置好后,打开播放器播放UHD视频,按下ctrl+j,然后在持续播放中看是否有掉帧(重复帧)现象,注意:虽然你仍会在第七行中看到“每十几秒出现一个重复帧”,但只要下面的“dropped frames、repeated frames、delayed frames”不持续增长或者是十几分钟才增长一帧,那么基本上就不会感受到视频播放的卡顿。
# x' v' q: i. N. U( U' F' [) \4 e特注:目前老白用的N卡驱动是436.02,该驱动有一个不错的改进:可以随意通过madVR的profile设定在HDR直通和非直通之间切换,大部分驱动一旦切到HDR直通就切不回来了!
' z& g- P0 \* C. R部分RTX 20系列显卡玩家可能单单用上面设置还不行,那么可以尝试下图的设置方式,因为我用的是1080ti显卡,所以无法确定其肯定起效:
. ]% Q) U  r$ q( D: a5 U 老白带你玩转UHD(4K HDR)之播放流畅篇-7.jpg % n5 k6 C+ x& S9 l' y1 X
接下来是俺瞎琢磨出来的“看一部片子不掉一帧的终极大法”,注:只有部分电视机(投影)+台式机电脑玩家才行。( Y5 ?" ?7 z/ v# N- ~1 }0 C
首先到N卡控制面板看一下可选刷新率,注: 笔记本N卡的控制面板是看不到自定义分辨率的
0 G; A" y2 n, j 老白带你玩转UHD(4K HDR)之播放流畅篇-8.jpg
8 r4 A" w. D, B  u/ N注:用madVR一定要把颜色设置改为:RGB 完全,这是madVR的作者Madshi大神亲口关照过的!0 g% _, S8 J# P4 ~' p
然后选择其中的24Hz,再点击“确定”,N卡的操作有点反人类,我会将步骤说的非常详细!- o% o# ~$ e4 m
老白带你玩转UHD(4K HDR)之播放流畅篇-9.jpg
8 @. V% w  g5 A: x5 H- {9 ^然后点击“自定义”
7 o8 S5 T1 @" X3 a* a9 z, d+ f2 O 老白带你玩转UHD(4K HDR)之播放流畅篇-10.jpg
% q4 n9 N8 l1 G3 O4 _5 m点击“创建自定义分辨率”
" I- K# p5 H* w1 K 老白带你玩转UHD(4K HDR)之播放流畅篇-11.jpg ! l3 D. u) R8 e4 l+ w# a
根据图示进行更改! t/ k$ \5 |- q$ @  \8 K. U6 I
老白带你玩转UHD(4K HDR)之播放流畅篇-12.jpg ! \2 b/ G, t- h- x+ o
注意:屏幕是4K才能将总像素中的垂直改为“2243”,如果是1080P屏幕那么应该是一半的关系,另外这个值只是我个人找到的最佳值,可能会有个体差异,但我可以肯定其大致有效范围是:总像素 垂直:2240-2248 ,刷新率:23.975-23.977,如果用我的值在ctrl+j中显示出来的刷新率同23.976差异较大,就需要你自己去不断尝试了!注:看第七行的“多少秒有一个重复帧”是最直观的,一般可以调到看一部完整的视频,十几小时甚至几天才有一个重复帧!( |/ Z* C( m9 o8 ~! ?' z$ e
不要害怕会把电视机搞瞎,你的每次设置都会强制进行测试的:
/ _6 ]* l6 ]2 J! R7 E 老白带你玩转UHD(4K HDR)之播放流畅篇-13.jpg
9 y; m$ z2 \& \) ]0 S+ M当你确定好你自己最完美的自定义帧率后,建议你回到控制面板将刷新率改回到60HZ的默认值,我们玩游戏等日常操作可不能把刷新率锁定在23.976上哦!
7 |$ ?4 W$ l6 |8 Q5 Y& P 老白带你玩转UHD(4K HDR)之播放流畅篇-14.jpg , A& T$ Y) c5 u" x
最后我们只需要到madVR中进行一个小小设置,就能自动调用23.976这个自定义的刷新率!
! N1 a0 y8 X$ T- G5 @ 老白带你玩转UHD(4K HDR)之播放流畅篇-15.jpg
9 k; p/ t  ^8 A7 S注意有语法检测,显示为valid才代表没问题! z( |4 Q6 h# F' ^
注:只有23.976这个特殊的刷新率需要自定义的去折腾,其他的帧率如24,25,29,30的都不需要的!
! i* l' G4 v3 r9 g: W. w这贴就暂且说到这里了,俺老白也算是尽力了,如有不妥之处还请告知!
! T1 `9 y3 Y5 a5 x( x9 w6 ]' {4 T1 s, J. f. d
老白带你玩转UHD (4K HDR)之字幕https://www.hao8k.cn/thread-1430-1-1.html
! m7 Z# V2 L4 v( I2 L
更多图片 小图 大图
组图打开中,请稍候......
回复

使用道具 举报

全部回复0 显示全部楼层

声明:您在社区发表的所有信息仅代表用户个人观点,与本网站立场无关,希望各位烧友理性发言,不发表违法国家法律禁止的话题。

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

开通会员 每日签到 返回顶部 返回列表