如何在60Hz显示器上流畅播放24 fps视频?


18

我使用mpc-hc在Win7 x64上播放视频。使用默认设置(#1),大多数情况下,视频播放效果都很好。但是对于平移镜头,回放并不流畅。我逐帧浏览视频,发现平移运动很平稳(例如,每帧水平移动10个像素),因此问题在于如何将23.976 fps视频内插到60Hz。

抖动看起来像是由“ 2:3 pulldown”引起的,其中帧播放不均匀,如下所示:

frame 1, 1, 2, 2, 2, 3, 3, 4, 4, 4, etc (#2)

使用“最佳渲染器设置” (#3)而不是默认设置会禁用Aero主题并导致撕裂

将我的LCD显示器设置为50Hz可能会稍微改善抖动(但我无法确定)。我的显示器不支持24Hz或48Hz,并在Nvidia控制面板中强制它们显示模糊的屏幕。

我试过其他视频播放器(VLCKMPlayer),ReClock Directshow筛选器,来自不同来源的视频文件(#4),打开/关闭DXVA以及具有不同GPU的计算机,但是播放过程中的抖动是相似的。他们都没有解决问题。

是否可以在60Hz显示器上流畅播放23.976或24 fps视频?

我认为视频播放器可以通过执行线性插值来使视频更平滑,例如:

1. 100% frame 1
2. 60% frame 1 + 40% frame 2
3. 20% frame 1 + 80% frame 2
4. 80% frame 2 + 20% frame 3
5. 40% frame 2 + 60% frame 3
6. 100% frame 3
7. 60% frame 3 + 40% frame 4
.. etc

现有的视频播放器可以这样做吗?

脚注:
(#1)视频渲染器:EVR自定义提示。
(#2)此示例将24 fps视频转换为30 fps
(#3)视图>渲染器设置>重置>重置为最佳渲染器设置
(#4)我拥有的文件都是H.264 mkv文件,但我不知道认为文件格式/编码很重要。


3
这听起来很熟悉-在某种程度上,我在几乎所有播放的视频中都注意到了这一点。当我问别人时,他们总是说对他们来说看起来很顺利……
oKtosiTe 2011年

其中一些处理是视频卡的责任,而某些GPU的性能要远远优于其他GPU。这是Anandtech.com用于在HTPC使用情况下检查视频卡的标准视频测试的一部分。我知道,这不是一个答案,而是一条有用的信息。查看Anandtech的“离散HTPC GPU 投篮 ”,重点放在第6页(anandtech.com/show/4380/discrete-htpc-gpus-shootout/6)。由于这篇评论,我最终购买了Radeon HD 6570,它做得非常好-不够完美,但平均而言比其他任何产品都要好。
evilspoons,2012年

Answers:


13

查看SmoothVideo项目

SVP允许您通过帧插值观看PC文件上的任何视频(就像您可以在高端电视和投影仪上观看一样)。它通过在现有动画帧之间生成中间动画帧以产生非常平滑,流畅和清晰的运动来提高帧速率。这项技术已经有一段时间了(“ TrimensionDNM”,“ Motion Plus”,“ Motionflow”等),但是现在它可以通过简单的GUI和几次鼠标单击就免费提供给PC用户。


您有使用SmoothVideo的任何个人经验,您可能需要将其添加到问题中!您与SmoothVideo有任何关系吗?如果您愿意,我们将不胜感激。高兴!
BloodPhilia 2012年

我打算发表有关SVP的文章:-)大约两个月前,我发现了它。根据视频的不同,默认选项可能会导致很多失真。进行一些调整(主要是使其在识别运动时不那么主动)对我来说非常有用!
netvope 2012年


2

通过线性插值使视频播放更流畅的想法只是帧速率转换(或Blend FRC)的混合方法。MediaPlayer.NET(MPDN)使用此技术并将其称为“ Fluid Motion”。madVR称之为“平滑运动”。

FRC的这种方法是SVP使用的最基本的方法。但是,MPDN和madVR都能够以很高的精度检测实际的显示刷新率。虽然不太可能会注意到在60Hz处出现丢帧/重复帧,但SVP仍然会遭受输入/输出速率(无论如何轻微)不匹配的问题(例如60.001Hz +参考时钟偏差与60FPS)。与播放器的混合FRC相比,使用SVP还需要占用大量GPU时间,后者的混合渲染时间仅占一小部分。

如果您可以超频显示,则MPDN的速率调谐器可为您提供混合FRC的替代方案,通常被认为是更好的选择。混合FRC可能导致模糊/重影,因此应将其作为最后的选择。有关更多信息,请参见GitHub上的MPDN速率调谐器Wiki

免责声明:我是MPDN的作者。


1

我经常在60hz的显示器上以VLC播放24fps的视频,并且通过带有nVidia硬件加速的默认渲染器,它可以流畅显示,这似乎并不确定(不确定使用哪种方法)。


感谢您的尝试,但是在我的GeForce 9300上启用VLC的GPU加速并不能改善抖动。
netvope 2010年

0

对于使用60hz显示器的用户:首先,请确保使用GPU的控制面板(NVIDIA,AMD或Intel)不支持23.976hz,24hz,47,952hz或48hz的显示器。它可能不会列出,因此将涉及创建自定义分辨率并对其进行测试。

OP说他已经做到了,所以,我们需要某种形式的帧插值。如今,最轻松的方法是使用madVR的平滑运动选项。

在此处输入图片说明

要使用madVR,请安装MPC-HC和madVR,然后在MPC-HC的选项中选择madVR作为渲染器。如果一切顺利,在MPC-HC中,您应该可以按CTRL-J并看到以下内容:

在此处输入图片说明

在这里以红色下划线是很重要的,它以60hz运行,但运动平稳。它不是完美的,但基本上是您希望在60个刷新周期中适合24帧的最佳选择。


0

有人提到“平滑视频项目”。这可能会有所帮助,但有时运动平滑会使某些旨在降低帧速率的功能看起来很差,因为24fps视频在各个帧中内置了运动模糊。运动平滑功能确实可以使数字拍摄的视频看起来更好。

视频播放器MPV内置有运动平滑或帧内插值。您应该将其检出。


0

您应该尝试使用mpv --interpolation选项,最好通过类似SMPlayer的GUI进行。它所做的事情与您所描述的非常相似。

安装SMPlayer并在设置中执行以下操作:

  • 在“常规”->“视频”下,选择“输出驱动程序”:“用户定义”,然后输入 opengl-hq
  • 在“高级”->“ MPlayer / mpv”下,将以下内容放入“选项”中: --interpolation --video-sync=display-vdrop --tscale=oversample

现在,视频播放应几乎与本机24Hz显示器上的播放一样流畅,但没有任何“肥皂剧效果”。

是此选项的功能的技术说明(可能已过时)(“平滑运动”部分)。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.