POPPUR爱换

 找回密码
 注册

QQ登录

只需一步,快速开始

手机号码,快捷登录

搜索
查看: 112900|回复: 421
打印 上一主题 下一主题

成功实现 LAV/DXVA 硬件加速下采用 SVP 48P/60P/96P 实时插帧平滑播放蓝光

[复制链接]
跳转到指定楼层
1#
发表于 2011-5-31 11:28 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
本文欢迎转载,但是请在转载的时候提供本站的连接:http://we.pcinlife.com/thread-1688882-1-1.html



{titter:] 不是简单的倍帧而是插入经过运动评估后重新生成的帧,指南随后放出。

指南放出:

http://www.pcinlife.com/article/graphics/2011-05-31/svp.htm

利用 LAV CUVID 视频解码器 + SVP + FFDSHOW 实现蓝光 48p/60p 倍帧回放
为何需要倍帧回放?

除了少量的演唱会和节目采用 1080i60(29.97 fps)外,大多数的蓝光都是采用 1080p24(23.976 fps 或者 24.000 fps)的帧率来存放视频。每秒 24 帧对于一般的场景来说是足够的,但是当镜头平移(pan)的时候,就会容易出现卡顿的情况,例如(图片来自 http://compression.ru/):


这个问题被称作 motion judder,而导致这个问题的 24p 记录模式则源自 1926 年电影工业刚刚萌芽的时候,人们发现要实现保持足够快的音轨一致性(例如对话时嘴唇的活动和声音的同步),就需要采用每秒 24 帧画面的画面采样速率。事实上在有声电影之前的电影为了照顾较慢的曝光胶片和节省胶片,采用的帧率甚至低于 24p,因此 24p 在当时也是一个不小的进步。

为了照顾音轨、画面一致性被迫采用的 24p 延续到了今天,电影院在播放影片的时候采用插黑等手段实现相对平顺的播放,而现在的高端电视机则引入了智能插帧(例如索尼的 motion flow)技术来舒缓 24p 造成的采样率不足问题。
你可以在下面的连接中看到更多关于 24p 的资料:

http://www.projectorcentral.com/judder_24p_cn.htm

下面这个动画展示了经过智能插帧(MSU 的帧率转换滤镜)后达到的效果:


正在拍摄的《哈比人前传》将会采用 48p 拍摄,这是自 100 年前 24p 成为行业惯例以来首次采用如此高帧率制作的商业电影,效果值得期待,不过随之而来的恐怕需要进行一次大规模的产业升级,例如当前的蓝光协会制定的 1920x1080 逐行影片帧率是 24p,如果要在家庭影院中实现足本的 48p,蓝光光碟(容量得增加接近两倍)、播放机(可能包括功放)都需要来一次升级,这恐怕至少需要 10 年时间才能推动完成,而旧的 24p 影片在未来也必须以来复杂的技术才能实现重新发行 48p 版本。

所以在较长的时间里,我们依然需要和 24p 抗衡,如果你能忍受的话,那不妨继续,不过如果你希望获得更平滑的播放效果,可以跟随我们下面的步骤在 PC(而不是高端电视机、 HDMI 视频增强器)上实现智能插帧平滑播放蓝光或者其他视频节目。
在 PC 上有不少实现插帧的软件:

播放器 / 软件
版本
发布时间
技术
备注
支持格式
分辨率
                Crystal Player
1.98 Pro
5 月, 2007
Planar Blending, Motion Morphing (Multisampling)
所有
所有分辨率
               Corel WinDVD
Pro 2010 10.0.5.291
2 月, 2010
Digital Natural Motion (Trimension All2HD)
DVD
最高 720x576
                Cyberlink PowerDVD
10.0.1516.51
3 月, 2010
TrueTheater Motion
所有
最高 720x576 (720p, 1080p)*
                Splash PRO
1.0.0
6 月, 2010
Motion2
所有
所有分辨率
                SVP**
1.3.4
3 月, 2010
插件式 FrameDbl + MVTools2
所有
所有分辨率

我们这里介绍使用 SVP(SmoothVideo Project)实现插帧播放,它的特点是:免费、支持采用 OpenCL 实现 GPU 加速(这一点非常重要)。

插帧需要复杂的计算,下面是相关的硬件、软件配置要求:

所需硬件:

CPU:
1080p24->1080p48:四核 2.5GHz 或者以上
720p24->720p60:双核 2.5GHz 或者以上

显卡:我们推荐使用 NVIDIA GeForce GTS 450 或者以上级别的型号。

A 卡也可以,我还没尝试。

不过我需要指出 A 卡跑 SVP 目前的两个缺点:无法透过 OpenCL 或者其他非 DXVA API 实现硬件解码,这会导致输出的画面以 YV12 格式输出,也就无法实现硬件解码的情况下被一些要求 YV12 格式的视频增强软件支持,而 NVIDIA 则可以透过 CoreAVC、LAV CUVID 实现。

更新,已经完成  A 卡透过 OpenCL 实现硬件解码 + SVP 插帧的指南,见本文底部或者:指南:如何实现 AMD 卡硬件解码(OpenCL 接口)  + SVP 插帧播放(+ madVR)

Potplayer 和 VLC 都提供了可以实现 YV12 输出的 DXVA 硬件解码输出方式,但是 A 卡在 potplayer 中启用这个模式的时候无法应对高码率影片。

A 卡的 OpenCL 驱动(注意,不是 OpenGL)可能需要另外下载,而 N 卡的 OpenCL 已经集成于目前所有的新版 Forceware 中,虽然这个不是一个很大的缺点。

所需软件(本文主要介绍 NVIDIA 卡):
播放器:推荐 PotPlayer(英文版)+升级文件 或者 MPC-HC,请选择 32-bit 的版本,如果你对英文不熟悉,还可以在网上找 PotPlayer 的汉化版。
解码器:推荐: Installer (32/64-bit, CUDA 4.0+),NVIDIA 显卡专用。
播放器的安装就不专门介绍了,下面主要讲一下 SVP 插件、LAV CUVID 解码器的安装以及播放器的设置。

LAV CUVID decoder 的安装:
NVIDIA 驱动程序版本要求高于 270.XX(http://www.nvidia.cn/Download/index.aspx?lang=cn
http://forum.doom9.org/showthread.php?t=156191 下载最新版本的 LAV Filter,Lav Filter 包含的 LAV Video Decoder 集成了 CUVID decoder :
当前最新版本为 0.50.1: Installer (32/64-bit, CUDA 4.0+)
下载好后,执行LAVFilters-xxx.exe,即可完成 LAV Filter 的安装。

SVP 安装步骤:




安装好 SVP 后,Windows 任务盘会出现一个橙色的小图标,它会自动侦测当前是否有播放器在使用 ffdshow,如果有使用的话,就会自动执行插帧。如果你不需要插帧的话,可以点 Exit 关闭 SVP。


播放器的设置(以 PotPlayer 为例,按 F5 召唤出参数选项后进行如下的设置):






在任务盘有 SVP 图标的情况下,打开一个视频播放试试看。

补充:
SVP 弹出菜单常用设置的简单翻译:





DXVA + SVP 请参考本站的连接:
http://we.pcinlife.com/thread-1664497-1-1.html


更新,如何实现更平滑的采用 SVP 插帧播放:
http://we.pcinlife.com/thread-1683271-1-1.html

更新,由于各种原因,avisynth.dll 文件未能复制到系统目录里导致播放的时候即使 ffdshow raw videl filter 图标出现后 SVP 依然出现 "wait for ffdshow" 字样的解决办法:
http://we.pcinlife.com/forum.php ... =31462772&fromuid=5

更新:指南:如何实现 AMD 卡硬件解码(OpenCL 接口)  + SVP 插帧播放(+ madVR)

更新:24p vs 48p(FFDshow/Pot倍帧) vs 60p(SVP) 输出视频对比|新增打斗场景

更新:Potplayer 1.5.28842 的内建解码器执行 DXVA 的时候会出现画面破碎,请不要使用该版本,N 卡用户最好还是用 LAV CUVID ,Intel 用户可以使用之前的 Potplayer 或者等未来 Potplayer 修正此问题,A 卡用户不用为此担心因为你们一直都无法正常在高码率视频的时候使用 DXVA 无渲染模式:p。

本帖子中包含更多资源

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

x
428#
发表于 2012-7-2 20:29 | 只看该作者
我一锄头挖下去,造福后人……
回复 支持 反对

使用道具 举报

头像被屏蔽
427#
发表于 2012-6-30 18:38 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

426#
发表于 2012-5-18 21:07 | 只看该作者
终于搞定,64位的ffdshow还真是不兼容,换成32位的版本就好了

Win7 X64,  kmp3.2.0 + LAV0.50.0 X64 + MadVR 0.82.5 + SVP3.1.1 with 3.1.2 Pre-Patch + FFdshow 4422

720p片源,CPU占用87~90%,GPU占用7X~89%,显存占用达到450M

E3110@4.25G,9600GT

第一感觉那个画面好像被madVR弄得干净了点,'景深'也增加了,立体感大增;60帧能看出来运动画面的改善,不过不知道是不适应还是怎么样,那种明显修补的运动画面有时候怎么感觉像轻微快进了似的效果
回复 支持 反对

使用道具 举报

425#
 楼主| 发表于 2012-5-17 23:29 | 只看该作者
回复 支持 反对

使用道具 举报

424#
发表于 2012-5-17 22:51 | 只看该作者
win7 64,ffdshow装的最新的 ffdshow_rev4438_20120428_egur_x64,是不是和KMP不兼容?
回复 支持 反对

使用道具 举报

423#
发表于 2012-5-17 22:50 | 只看该作者
Edison 发表于 2012-3-6 00:41
SVP 属于后处理(post-process),工位上它位于解码器后面,不属于解码器(decoder),不知道你指的硬解到 ...





用的KMP,把LAV和MadVR搞定了,但是ffdshow死活弄不进去,SVP就始终“waiting for”,求解?

本帖子中包含更多资源

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

x
回复 支持 反对

使用道具 举报

422#
发表于 2012-3-22 17:01 | 只看该作者
我不知

For properly work SmoothVideo project you need to restart computer
回复 支持 反对

使用道具 举报

421#
发表于 2012-3-16 14:27 | 只看该作者
SVP 3.1出来了
回复 支持 反对

使用道具 举报

420#
 楼主| 发表于 2012-3-6 00:41 | 只看该作者
欲止 发表于 2012-3-6 00:14
求助!!

我已经快疯了,我E3-1230+GT520

SVP 属于后处理(post-process),工位上它位于解码器后面,不属于解码器(decoder),不知道你指的硬解到底是指什么。
回复 支持 反对

使用道具 举报

419#
发表于 2012-3-6 00:14 | 只看该作者
求助!!

我已经快疯了,我E3-1230+GT520
目前已经用的POT,可以使用SVP软解,ffdshow raw video filter已设为优先,lav cuvid也有,可以说你和的截图一模一样,我甚至连整整17页所有人的提问都看了,可就是无法开启硬解。

我用GPU-Z测试,没问题,支持opencl,我也已经用管理员权限重新安装了一切东西,除了系统。
回复 支持 反对

使用道具 举报

418#
发表于 2012-1-4 01:04 | 只看该作者
本帖最后由 caixin22 于 2012-1-4 14:47 编辑

谢谢lz
现在可以播放了。可是画面很多马赛克(画面活动的部分才有马赛克)
补充。右下角的红色FFv图标显示输入YV12 umcompressed    输出YV12,
哪里弄错了?
应该是播发器的问题。因为把SVP关了画面也是马赛克;
我在自定义滤镜管理找不到 LAV Splitter 只有 LAV CUVID Decoder
回复 支持 反对

使用道具 举报

417#
发表于 2012-1-4 00:44 来自手机 | 只看该作者
问一下看3d可以么?
回复 支持 反对

使用道具 举报

416#
 楼主| 发表于 2012-1-3 23:30 | 只看该作者
caixin22 发表于 2012-1-3 23:09
我做到了这一步
播放器的设置(以 PotPlayer 为例,按 F5 召唤出参数选项后进行如下的设置):
里面找不到 ...

Hi, Caixin22。

LAV CUVID Decoder 现在并入到 LAV Filter 里了。

http://forum.doom9.org/showthread.php?t=156191

安装后,选择 LAV Video Decoder,然后设置它的属性,在 Hareware Decoder to use 选择上 CUVID。
回复 支持 反对

使用道具 举报

415#
发表于 2012-1-3 23:09 | 只看该作者
我做到了这一步
播放器的设置(以 PotPlayer 为例,按 F5 召唤出参数选项后进行如下的设置):
里面找不到

LAV CUVID Decoder
请Edison 指点,谢谢
回复 支持 反对

使用道具 举报

414#
发表于 2011-12-18 13:43 | 只看该作者
lht999 发表于 2011-7-13 22:16
:mad: 2个错误修正设为nothing,svp 插帧效果最流畅,错误修正越高,插帧效果越不明显,2个high 尤甚  设低 ...

同意
从E6600换了2.5G的Q9,嘿嘿
回复 支持 反对

使用道具 举报

seemeagain 该用户已被删除
413#
发表于 2011-12-4 18:52 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复 支持 反对

使用道具 举报

412#
发表于 2011-12-4 15:21 | 只看该作者
自己机器CPU太差,之前老版本SVP,只能勉强看看720P。后来升级新版本SVP开了opencl,发现1080P也能流畅播放,真牛!


你是什么CPU啊。
回复 支持 反对

使用道具 举报

411#
发表于 2011-12-3 04:09 | 只看该作者
Edison 发表于 2011-12-2 17:39
你可以试着把 SVP 的 avisynth 脚本复制到 ffdshow raw video filter 里。

但是我视频有720P还有 1080P,还有一些不是高清的,难道看一部换一次?
回复 支持 反对

使用道具 举报

410#
发表于 2011-12-3 01:31 | 只看该作者
自己机器CPU太差,之前老版本SVP,只能勉强看看720P。后来升级新版本SVP开了opencl,发现1080P也能流畅播放,真牛!
回复 支持 反对

使用道具 举报

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

本版积分规则

广告投放或合作|网站地图|处罚通告|

GMT+8, 2025-11-23 18:36

Powered by Discuz! X3.4

© 2001-2017 POPPUR.

快速回复 返回顶部 返回列表