首页 > 编程知识 正文

用电脑玩游戏时怎么才能让帧数提高,视频60fps什么意思

时间:2023-05-03 22:19:13 阅读:106523 作者:237

目录是加速还是补框架? opencv脚本使用软件剪辑工具格式化工厂PR,AE oCam录像画面基于AI算法DAIN_APP_Alpha0.40SVFI.2.1结语

是加速还是补全框架?

最近在进行项目方面有需求,需要测试AI推理卡的性能。 我主要想以流水线(线程并发)的形式进行视频目标检测。 如果想提高视频输入速率,请看推理后实时输出速率的变化,测量一下硬件芯片的运算极限。

典型的视频范围在25-30之间,某些特殊的高清视频或慢动作视频具有较高的帧速率,例如60帧。 但是,如果想无限制地提高视频的帧频,有办法吗?

我对视频帧率了解不多,找一些资料一看,其实提高帧率的方法应该是在原始视频中插入一些帧,这样虽然视频的时间不变,但是视频的质量提高了(每秒)

但是,一些提高帧速率的方法可能会压缩视频的时间长度。 也就是说,在不改变视频帧数的情况下,只是缩短了帧与帧之间的时间间隔。

补帧本质上是视频总帧数的增加,而不是视频时长的缩短。

在理解了这些之后,在提高视频帧频的道路上也许可以减少弯路。

opencv脚本在网上找到了提高基于opencv的所谓视频帧速率的方法。 有c版本和python版本

大致的思想是用opencv读出原始视频,并以设定的帧速率逐帧写入新视频。

这是我找到的python转换脚本的版本。 https://blog.csdn.net/HW 140701/article/details/103495943

可用于实测。 我可以把25帧的视频作为输入,提高到设定的帧速率。

但是有一个问题:

查看已处理视频的属性时,它确实会上升到相应的帧速率,视频可以正常播放。 但是,可以看出视频的时间在变短。 也就是说,缩小了视频本来的各帧之间的时间间隔。简单说就是倍速播放了。我尝试将新视频放入服务器进行性能测试,但可悲的是视频没有成功解码。 我找了几个帖子,但还没有找到问题的原因。 我觉得不能更改,因为服务器上的推理环境是C版本(如opencv版本等问题),并且正确的硬件驱动程序提供了视频的解码和处理细节。 需要寻找别的新方法。 实际上,这里的脚本在不改变视频信息的情况下提高帧率,排除后续的视频解码问题,本质上这是加速视频的手段。

使用软件对脚本生成的视频解码失败后,找到了一些视频剪辑、录制的软件,最终找到了最好的方法。

这些软件本质上采用补帧的方法来优化视频质量,因此需要大量的计算资源。 (有些需要加快图形速度,否则需要非常长的时间。

剪辑工具的格式工厂最初想到了格式工厂,然后读取了原始视频。 在导出的展开中,可以选择修改视频的帧速率,但已发现只能修改为特定的帧速率,最大为60fps。 不符合要求。

PR、AE还尝试了两个制作PR、AE视频的专业软件,导出时的配置也最高为60fps。

我在这里找资料,这两种软件在播放读入的视频时,可以设定视频序列。 也就是说,可以以自定义的帧速率播放视频。 这实际上也是倍速播放,无法自定义和导出帧速率。 不符合要求。

oCam录屏这是原系时代常用的录屏工具,非常小,而且不用安装,可以解压使用,有需求的话推荐。

令人惊讶的是,录制视频选项可以将最高帧速率设置为144fps。 这对于高帧频的要求已经基本达到。 我本来尝试用录像软件录制25fps的视频,录制的视频为144fps,在服务器上解码没有问题,可以用于性能测试。

处理后的视频时间保持不变,但视频每秒更新屏幕的次数增加了(肉眼不知道)。

但是要想无限提高帧率,可以做到吗?

知道根据AI算法补充视频帧,需要利用一些AI算法。 因为找到了两种基于算法的软件。

dain _ app _ alpha 0.40 dain (深度- awarevideoframeinterpolation ) )。

该软件所用的算法来自论文https://arxiv.org/abs/1904.00830

之后,软件不断更新,到了0.40版。 官方网站好像变成了0.48,但是没有找到资源。

DAIN_APP_Alpha0.40

链接: https://pan.Baidu.com/s/1 D4 grkurpummnk2waum5gkq

抽屉代码: q4l5

在网上找教程的话,版本之间的差异很大,有几个设定选项等。

基本设定如下。

输入/输出文件

帧速率设置

选择显卡

其他作为默认值也可以,但如果有特殊要求,可以进行其他设定。 单击底部的Perform all steps开始完成帧

这个过程可以说非常漫长。 如果没有显卡,建议不要使用。 (1分钟的显卡3060显卡需要2个小时。 )

不知道是设定问题,还是视频本身

的原因,最后导出的视频中,补出来的帧都非常的亮,和原来的帧看不出过渡的效果,最终的效果非常的差。但是看到网上有不少教程都没有提最终的效果如何,我也不太清楚是哪里出了问题。

SVFI.2.1

视频帧插值(VFI) 也是在论文中提出的方法:Huang, Zhewei, et al. “RIFE: Real-Time Intermediate Flow Estimation for Video Frame Interpolation.” arXiv preprint arXiv:2011.06294 (2020)

这款软件是基于该算法开发的,优点是要比DAIN_APP快了好多。这是目前较新的版本。

SVFI.2.1
链接:https://pan.baidu.com/s/1PJT7LDCZyKpVNQ63MAFLWg
提取码:5rza

网上有相关的教程,详细可以参考 https://www.bilibili.com/video/BV1uo4y1d7Cr

基本设置

选择输入输出文件、补帧倍率

点击一键补帧,出现报错,原因是显存不够了,我用的原视频分辨率是1280*720,需要把输出时候的降一点。


这里我改成了960*480
特别注意一下,他这里分辨率的乘号用的x,我找了一下英文的乘号没有这种写法,于是用中文的乘号 "×"试了一下,报错了
于是我就用了字母x代替了一下,结果可以了。

速度明显要快很多,大概10分钟就处理结束了(看了一下任务管理器,确实很吃显卡,显存基本上全程跑满),最终的视频可以正常播放,并且服务器上的测试也没有问题。

后续测试了一下导出400fps、800fps的视频,也都没有问题。

结语

提高视频fps有两个思路:

视频加速。保持原有视频的总帧数不变,缩短每一帧之间的时间间隔,达到提高fps的目的。优点是方便快捷,不需要算法支持。缺点是生成视频解码可能会有问题,并且没有优化视频的作用。视频补帧。不改变视频的时长,使用相关算法为原视频补充更多的帧,达到提高fps的目的。优点是可以提高视频的质量,并且不会影响视频解码。缺点是相对来说耗时较长,需要显卡支持,并且生成的视频占用的存储空间会变大。

如果有显卡条件,推荐SVFI.2.1,目前来看算是可以无限提高视频fps的工具了。

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。