原标题:如何用 60 帧播放 24 帧的视频?

当代生活,我们总是在追求更大的屏幕尺寸、更好的屏幕素质和更高的刷新率。目前来看,电视屏幕的刷新率已经从 4K 60 帧向 8K 120 帧过渡,手机也从 90 帧向 120 帧发展,最强的还是我们这些「打游戏」的 PC 玩家,显示器的刷新率已经是 144 起步,还要玩显示器超频。

但是和屏幕对应的则是影视内容帧率的增长停滞:视频已经实现了 30 帧向 60 帧过渡,电视剧和电影还是维持在 24 帧的水平。

在这样的情况下,我们可以通过自给自足的方式实现视频的补帧。

什么是补帧?

其实不管是 PC 上的补帧、PR 里的光流法渲染、还是电视上的 MEMC 动态补偿,本质上都是通过计算画面中像素的运动轨迹,再依靠插帧的方式进行补帧。

在一段影片当中,一个物体的运动轨迹是相对固定的,因此通过算法可以很容易地算出两帧画面中物体的运动轨迹,在两帧运动轨迹的中间加入模拟的运动轨迹帧,实现插帧效果。通过这样的手段能够实现 30 变 60 及以上的帧率,并且能够减少画面的拖影,让视频看起来更加干净清晰。

但是问题是这样简单的补帧会出现很多问题:例如会加大显卡的压力,带来散热和功耗的压力;有可能会出现画面物体的撕裂;物体边缘由于像素运动是「从无到有」,因此可能会出现连续性方面问题,这被称之为 块效应;无法很好地解决前有遮挡的运动物体的运动轨迹补帧。

因此现阶段最先进的补帧方案是通过 AI 计算的方式进行补帧,请注意这里的 AI 不是噱头,而是真的通过 AI 卷积神经网络计算的方式。

首先,要喂给 AI 大量的已有影像资料,通过机器学习的方式使 AI 训练出一个叫做「卷积核」的东西,这个卷积核是一个函数,输入画面到输出画面的变化就是由这个卷积核加权平均后决定的。

卷积核有点像一个「超级滤镜」,通过这个卷积核计算的视频能够实现更加清晰和智能的补帧。

这种 AI 补帧能够实现远胜于传统运动补帧算出来的视频效果,在上海交大开源的 DAIN(Depth-Aware Video Frame Interpolation) 插帧算法中,已经可以实现自动识别景深来辅助插帧,这样几乎完全解决了由于遮挡带来的画面 BUG。

图片来源:极客湾视频

但是相对来说这种补帧方式实现的成本也非常高:由于需要 CUDA 的帮助才能计算,因此必须要有一块英伟达显卡,AI 计算非常吃显卡性能(尤其是显存),所以这块显卡的水平还不能太差;非常花时间,以小时或者天为单位来实现优化。

多说一句,这种 AI 计算的方式不但可以用来插帧,还可以用来提升画质,实现 480P 变 4K 的神奇操作。2019 年上映的电影《决胜时刻》中的开国大典就是根据从俄罗斯买回来的原片经过 AI 算法进行了修复后,实现了「胶片变 4K」的神奇效果。

如何实现补帧?

目前补帧操作主要还是在电视和 PC 上实现,电视主要依靠 MEMC 芯片进行运动补帧,通常在电视的设置里,在这里就不过多介绍了。这里主要介绍一下 PC 的补帧方式。

AMD 显卡

如果你是 AMD 显卡,那么你可以直接使用 AMD 官方的「AMD Fluid Motion video」功能搭配 Potplayer 播放器来完成插帧。

· 要有一张 GNC 或者 Vega 架构的 AMD 显卡,并下载最新的 AMD 驱动。

· 打开「AMD Fluid Motion video」功能。

· 下载 Bluesky Frame Rate Converter,安装完成后点击「Enable AFM Support」。

· 在 Potplayer 中的「选项 - 滤镜 - 全局优先滤镜 - 添加系统滤镜」选择「Enable AFM Support」滤镜,并强制使用。

这样就完成了设置,新视频就完成了视频补帧,实测效果还可以吧。

NVIDIA 显卡

如果你是 Nvidia 显卡,可以选择 SVP 或者是 DmitriRender 搭配 Potplayer 或者 MPC-HC 播放器使用。

SVP 已经是知名的老牌 PC 插帧软件了,大家可以在其官网上选择对应的版本进行下载,Windows、Mac、Linux 都有支持,官方教程也比较清楚。

缺点是收费(比较贵)、比较吃系统资源(尤其是显卡),而且在我的 1050TI 笔记本上经常出现音画不同步的情况。

DmitriRender 是一款新兴的视频插帧软件,相较于 SVP 比较节省系统资源,收费也更便宜。使用方式同样也是下载后添加滤镜。

这两种方式 AMD 显卡和核显都可以用,不过 AMD 更推荐上面的原生方案,核显可能会出现资源不够的情况。

特别提醒

插帧软件通常会有电影和动漫两种方案。

这是由于动画通常不是一帧一张画面的,而是「一拍二」或者「一拍三」,就是一张画用两帧或者三帧画面,也就是说「12 张图构成 24 帧」或者是「8 张图构成 24 帧」,剩下的部分由观众「脑补」而成(人体神奇的大脑和视觉系统)。

庵野秀明的「一拍三」变「一拍一」

这被称作「关键帧动画」,由手冢治虫提出。这样做主要是可以在不降低动画质量的前提下, 减轻动画原画的压力,但是会给插帧软件带来困扰……

此外「隔行扫描」的视频是无法进行插帧的,不过现在隔行扫描的视频已经基本没有了,所以影响不大。

目前来看,体验出色的补帧视频能够相当程度上提升视频的观看体验,这点相信看过李安最近几部电影的都应该有所感觉。但是目前的民用补帧技术还相对比较落后,我还是非常期待 AI 补帧能够达到正常用户使用水平的那天。

一个更加流畅的世界。

撰文 / 恺伦

编辑 / 恺伦

责任编辑 / 恺伦

文中部分图片来源于网络

© 爱否科技原创内容 转载请联系后台返回搜狐,查看更多

责任编辑:

linux视频补帧,如何用 60 帧播放 24 帧的视频?相关推荐

  1. 【动画演示软件】Focusky教程 | 如何设置帧暂时隐藏,在播放该帧时才出现?

    (Focusky动画演示大师简称"FS软件")当需要把帧暂时隐藏,在播放才出现时,可把帧的边框设为透明,并对帧设置进场动画效果. 1)首先在工具栏中点击"动画" ...

  2. php播放音乐视频,html5停止(暂停)当前播放的音频或视频的方法pause()

    实例 带有播放和暂停按钮的一段视频:var myVideo=document.getElementById("video1"); function playVid() { myVi ...

  3. vue使用原生videojs 播放m3u8格式的视频——播放m3u8格式视频(一)

    vue使用原生video播放m3u8格式的视频 1.安装依赖 2.页面引入插件(这里我是页面单独引入,减少项目体积) 3.页面中的使用 常见问题 4.实现过程 5.实现.m3u8格式视频播放方法 1. ...

  4. 流畅度游戏60帧,视频24帧的原因

    流畅度游戏60帧,视频24帧的原因 虽然电影24FPS也不如60FPS的流畅,但是24FPS不会让人觉得卡,甚至12FPS都不会让人觉得卡,而24FPS的游戏能让人很明显的感受到卡,12FPS就是幻灯 ...

  5. 借助深度卷积神经网络对图片 GIF 视频进行超分辨率放大(即放大与降噪) 以及 对视频进行 插帧(即补帧).

    借助深度卷积神经网络对图片 & GIF & 视频进行超分辨率放大(即放大与降噪) 以及 对视频进行 插帧(即补帧). 软件下载地址:下载地址 界面效果: 处理效果: 图像清晰化 图像放 ...

  6. 为什么游戏帧数一般要到 60 帧每秒才流畅,而过去的大部分电影帧数只有 24 帧每秒却没有不流畅感?

    作者:蔡小帅 链接:https://www.zhihu.com/question/21081976/answer/34748080 虽然电影24FPS也不如60FPS的流畅,但是24FPS不会让人觉得 ...

  7. ffmpeg 将拆分的数据合成一帧_FFmpeg + OpenGLES 实现视频解码播放和视频滤镜

    FFmpeg 开发系列连载: FFmpeg 开发(01):FFmpeg 编译和集成 FFmpeg 开发(02):FFmpeg + ANativeWindow 实现视频解码播放 FFmpeg 开发(03 ...

  8. 【ffmpeg裁剪视频faster rcnn自动检测 via】全自动实现ffmpeg将视频切割为图片帧,再使用faster rcnn将图片中的人检测出来,最后将检测结果转化为via可识别的csv格式

    目录 前言 一,ffmpeg 自动裁剪 1.1 目录结构 1.2 cutVideoToImage.sh 1.2 myVideo 1.3 myVideo15mins 1.5 myFrames 1.6 运 ...

  9. 视频抽帧并存图 python_使用Python实现跳帧截取视频帧

    本文实例为大家分享了Python跳帧截取视频帧的具体代码,供大家参考,具体内容如下 可以自由设定时长来截取视频,经实测效果理想.期间遇到的一个麻烦是我的视频文件在D:盘,在原视频D盘目录上不能保存截取 ...

  10. 为什么游戏流畅需要60帧,而电影流畅只需要24帧?

    你好,我是悦创. 最近在设计 Pygame 的有些开发课程,有些扩展知识就放在这篇文章里面. 平时我们看的电影,大都是 24 帧,偶尔有几部大制作电影,帧数才会达到 48 或者 60.那么,为什么电影 ...

最新文章

  1. 4. matlab 中的axis与axes的区别
  2. 【LeetCode从零单排】No70.ClimbingStairs
  3. 好文推荐 | MySQL binlog应用场景与原理深度剖析
  4. mac os 开启redis_mac os 命令行安装 启动和停止 redis
  5. 给div拼接html 拼接字符串
  6. PHP 函数调用跟踪
  7. [system] Map key not configured
  8. Python爬虫—爬取京东商品信息(自动登录,换关键词,换页)
  9. 苹果服务器装系统教程视频教程,苹果“雪豹”服务器系统安装傻瓜教程(多图)...
  10. c语言pow的作用,c语言中pow函数的用法是什么?
  11. 行驶证识别技术-快速提取行驶证信息办理业务
  12. html爱心特效代码教程
  13. Salesforce中国区或将解散!一代CRM巨头退出中国市场?
  14. linux cpu大小,如何查看linux cpu大小
  15. ps photoshop 2023 新功能 简介
  16. 【网络安全】利用MSF工具内网复现MS08-067
  17. 为什么戏说php,戏说PHP——1.1切的开始
  18. ‘inet_ntoa‘: Use inet_ntop() or InetNtop() instead or define _WINSOCK_DEPRECATED_NO_WARNINGS to disa
  19. vue独立提供模板下载功能
  20. 2022最新Java高级程序员架构师面试题及答案

热门文章

  1. 一个多重阴影的DIV框框
  2. 来抽个奖吧!stata随机程序揭秘
  3. 微信防封域名处理 淘客类 检测域名是否被封
  4. 统计学考研笔记:正态分布置信区间计算题
  5. 2003服务器系统密匙,windows server 2003 安装密钥
  6. YDOOK: ANSYS Maxwell 19 教程21:Maxwell 2D 直流传导电场 求解设置 分析设置
  7. NodeJS开发简易图书管理系统
  8. 关于docker容器中,外网访问阿里云服务器中tomcat,报404错误的解决方法
  9. 【Vue】实现出生日期计算年龄
  10. MCScanX共线性分析