煤矸石空心砖

新闻分类

联系我们Contact

企业名称:桐城市南口新型建材有限公司

联系人:崔经理

电话:0556-6568069

手机:18156911555

邮箱:303927413@qq.com

地址:桐城市龙腾街道高桥村

网址:   www.nkxxjc.com 



您的当前位置: 首 页 > 视频怎样放大画面 > 如何「无损」放大低清动画

如何「无损」放大低清动画

发布日期:2022-10-04 01:17 作者: 点击:

前言

从低清视频放大到高清视频——超分辨率,这个在以往不可能的事,近几年得益于深度学习的应用,它已经变成了可能。

年初的时候,B站知名科技数码UP主极客湾分享了两个利用AI技术对视频进行超分辨率和补帧的软件。

补帧本篇先不谈,超分辨率此教程中利用的软件是Topaz Video Enhance AI,超分辨率的效果确实爆炸,而且软件操作也比较简单。选择视频,点击开始就可以了。

这个软件效果虽好,但它是个商业软件,极客湾出视频的时候是处于测试阶段,可以免费使用。现在它就开始收费了,200刀,emmm……告辞。

其实在此之前已经有一个类似的超分辨率开源软件——waifu2x,从读音你就可以知道这是个给二次元老婆分辨率拉伸2倍的软件,所以最适合给它超分辨率的图像就是动画风格的图。

Image Super-Resolution for Anime-style art using Deep Convolutional Neural Networks. 

利用卷积神经网络针对动画风格画作的超分辨率软件。

——nagadomi/waifu2x

软件原作者提供了一个在线处理网站 http://waifu2x.udp.jp/ 可以上传图片,在线体验它的超分辨率效果。

http://waifu2x.udp.jp/利用waifu2x对视频超分辨率

视频本质上是由一帧一帧的图片,那么如果我们对每一帧图都进行超分辨率就可以让低清视频变成高清视频了。

以下流程所需的软件及硬件

waifu2x-caffe:waifu2x 的主流PC端GUI软件。

FFmpeg:视频提取帧,及超分辨率后合并视频。

搭载NVIDIA GTX600系以上显卡的电脑(显存建议4G以上):指定600系以上是因为waifu2x-caffe,需要CUDA Compute Capability 3.0 以上的显卡,具体请参考:https://developer.nvidia.com/cuda-gpus

充足的硬盘空间。

提取全部视频帧

这一部分需要使用的是FFmpeg,这个没有GUI的开源软件,我这么概括:它是音视频处理界的一把瑞士军刀,你使用的视频转码软件、视频播放器可能都是基于它进行开发,功能强大可想而知。

因为这是讲超分辨率视频的教程,我不是太想讲解基础FFmpeg的下载和配置,所以引用一篇B站上的其他文章。

接下的步骤,需要你先将ffmpeg下载好,并添加到系统的环境变量,跟着上面的一篇文章就可以达成。

好了,下面开始,打开powershell(虽然Cmd命令提示符也可以,但powershell对命令高亮提示比较直观,注意接下来展示的命令仅保证powershell可运行。)

1.转移操作目录到你需要处理的视频所在目录。

刚打开powershell,它的操作目录在你的用户目录。

输入 cd "目录地址" 

注意英文引号,粘贴可用鼠标

2.在操作目录下新建文件夹保存提取出来的帧

比如名字为frames,这点比较重要!

3.ffmpeg命令提取帧

命令为:

ffmpeg -i "视频文件名" -f image2 "frames/%d.png" 

引号引号!

frames文件夹里就保存了视频所有的帧图片。

4.waifu2x-caffe超分辨率

waifu2x下载地址:https://github.com/lltcggie/waifu2x-caffe/releases

下载zip包解压双击waifu2x-caffe.exe即可运行。

点击右边的cuDNN检查,一般来说台式机单独独立显卡就可以检查通过。

如果是笔记本双显卡,可能会检测不到显卡,先应用设置里,设置一下GPU编号(0改1)

如果是MX的轻薄本显卡,可能会还是检测不到,这时候需要用旧版(我会网盘分享一下)

如果出现cuDNN不可用,这时候其实已经可以运行了,只是不能用cuDNN。解决方法是替换软件目录里的cudnn64_7.dll文件,需从NVIDIA官网下载,涉及CUDA版本匹配,先不提及。

软件界面已经汉化,输入路径选择刚才存放帧的frames文件夹。

模型选择:(可以先转一张图,试试效果)

来源:https://tieba.baidu.com/p/5966803071

降噪强度(按需选择,总之先试试几张图,根据经验3级会有可能在细节涂抹明显)

拆分尺寸和批尺寸影响处理速度,拆分尺寸越大处理越快,也越占用显存,显存溢出软件会崩溃,总崩溃就调小拆分尺寸,直到不崩溃。这时候可以适当调高批尺寸。

tta:花8倍时间减少失真,要速度就不要勾。

一切顺利的话,导入frames文件夹,批量处理里面的帧,根据视频的帧数和GPU性能长短不一,这时候就是等待了。

超分辨率结果文件夹(类似名字)

5.FFmpeg 将超分辨率后的帧图片压成视频

命令:

ffmpeg -f image2 -r [原视频的帧率数值] -i "超分辨率图片存放文件夹/%d.png" -vn -i "原视频文件" -c:v [视频编码器] -c:a copy [其他参数] "输出视频文件名.mkv" 

讲解一下不定的参数:

-r 后是指定帧率,支持分数,如23.976可以用24000/1001

-vn -i "原视频文件" 是输入原视频的音频。

-c:a copy 指复制原视频音频。

视频编码器一般有两种选择:

1.libx264(纯CPU编码压制跟小丸工具箱差不多,但需要指定x264压制参数较复杂,却质量好)

2.硬件编码器:nvenc(N卡的硬件编码器),QSV(intel核显的quicksync硬件编码器),特点是速度快。

使用硬件编码一般要指定输出的平均码率:命令上加上 -b:v 10000k (示例目标10000kbps)

范例命令:

1.使用libx264软件编码:

ffmpeg -f image2 -r 24000/1001 -i "frames(Y)(noise_scale)(Level3)(width 1920)/%d.png" -vn -i "P2_正体_1080p.flv" -c:v libx264 -preset veryslow -profile:v high -crf 16.5 -deblock -1:-1 -mbtree 1 -aq-mode 3 -aq-strength 0.8 -psy-rd 0.6:0.15 -x264-params threads=6:keyint=600:min-keyint=1:bframes=8:ref=13:qcomp=0.75:rc-lookahead=70:me=tesa:no-fast-pskip=1 -pix_fmt yuv420p -c:a copy "out.mkv"

这是VCB-S压制动画BD的一套x264参数,较慢。

2.使用N卡加速

ffmpeg -f image2 -r 24000/1001 -i "frames(Y)(noise_scale)(Level3)(width 1920)/%d.png" -vn -i "P2_正体_1080p.flv" -c:v h264_nvenc -b:v 10000k -pix_fmt yuv420p -c:a copy "out.mkv"

3.使用intel核显Quicksync

ffmpeg -f image2 -r 24000/1001 -i "frames(Y)(noise_scale)(Level3)(width 1920)/%d.png" -vn -i "P2_正体_1080p.flv" -c:v h264_qsv -b:v 10000k -pix_fmt yuv420p -c:a copy "out.mkv"

硬件编码替换下输出码率即可,统一mkv输出保证大部分音频流都能封装。

所有的ffmpeg操作,也可用其他软件代替,只要实现提取视频帧序列和合并就行。

至此给视频超分辨率的基本流程就走完了,利用ffmpeg还可以输入avs脚本对视频进行锐化等处理,那就更加复杂了。

最后展示下waifu2x的效果吧。

从B站上搞来张mio 600x800规格

600x800

waifu2x CUnet超分辨率4倍2400x3200

2400x3200

建议原图对比

关于ffmpeg更进一步使用,以及参数深入:建议

上面文章作者的一系列文章。

@ZHY

本文网址:

关键词:视频怎样放大画面

相关新闻: