前言
最近我扒拉出来我之前小时候的一些影像资料,在我的4K屏幕上看还是很糊的,毕竟当时也没有太好的保存手段。
老照片/视频记录着曾经的岁月,承载着美好的回忆与厚重的历史。但由于年代久远,旧的影像素材往往存在模糊、缺色、跳帧等问题。相片或者视频什么的分辨率最多也就是720P,本来我自诩一个多媒体通信专业毕业的人,专业学图像与视频的,修复一个老视频老照片,把它变成4K分辨率,应该是毫无问题,但是事实啪啪啪打了我的脸,我自己要去以像素插值的方式去修复的话,那我这辈子的时间都要耗在上面了。
所以作为半个AI从业者,我就开始琢磨一些更方便的途径去修复老视频,折腾了差不多一个月之后我终于全部搞定了,现在就过来写个教程给大家当参考。
我首先试了一下我笔记本上的1650Max-Q的性能,这个显存只有4GB,勉强能达到修复的最低要求。后来试了一下我台式机上的技嘉4060,这个就丝滑流畅了。
这个也能跑,一张PNG图一秒不到就跑完了。
我随便找了一张图跑了一下修复,4倍分辨率修复的图很明显比修复之前清晰很多。
视频修复教程
视频部分修复教程其实相对复杂一点,简单来说就是把视频文件变成图片文件,然后对每个图片文件进行4倍分辨率修复,最后把修复好的图片文件再合成视频文件。
所以视频需要使用到ffmpeg进行视频拆分处理,至于ffmpeg是怎么装的,可以参考别的教程,我就暂时不细写了。
先创建两个目录用来存放拆分和处理的图片帧。
再看看demo视频文件里面的基本参数,视频的分辨率就是老照片的感觉。
首先利用ffmpeg把视频分割成不同的图片文件:ffmpeg -i onepiece_demo.mp4 -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 tmp_frames/frame%08d.jpg
上面就是执行后tmp_frames目录产生了拆分后的图片帧,相对来说还是挺粗糙的。
下一步就是执行命令行对所有的图片帧进行4倍分辨率修复:realesrgan-ncnn-vulkan.exe -i tmp_frames -o out_frames -n realesr-animevideov3 -s 2 -f jpg
这一步执行的时间会特别长,建议大家用一下40系显卡,我后面会放出来我用不同的N卡修复同一段视频的时间对比。
再执行一下命令行:ffmpeg -i out_frames/frame%08d.jpg -i onepiece_demo.mp4 -map 0:v:0 -map 1:a:0 -c:a copy -c:v libx264 -r 23.98 -pix_fmt yuv420p output_w_audio.mp4
将out_frames内的图片压缩为视频,看一下最后的视频质量,可以看出清晰度和分辨率也有了不小的提高。
不同显卡修复视频的性能对比
我尝试对比了一下笔记本的1650Max-Q的显卡,1080Ti的显卡,以及4060的显卡,居然还是最新款的4060最快。
整个视频修复需要修复的图片数量是181张图,视频长度是7秒,1650Max-Q的单张修复时间是1.2s,总修复时间是3.62分钟,1080Ti的单张修复时间是0.76s,总修复时间是2.29分钟,4060的单张修复时间是0.44s,总修复时间是1.3分钟。
也就是说要想修复得快一点,还是要买新款的40系显卡。7s左右的视频修复时间差不多是一分钟,如果视频长度拉到10min,那么用老显卡的修复时间就是196分钟,用新的4060的卡修复时间就是111分钟,足足能节约一半多的时间下来,并且修复的视频时间长度越长,节约的时间就越多。
结语
科技改变生活,也改变生产力,之前很多历史图片和视频都是低分辨率的,对这类资料的修复是需要花费大量的时间精力的,之前需要专业人士花费大量时间和精力去处理的事情,现在只需要一张40系的显卡加一点电费,对此我只有一句话想说:感谢科技的发展。
#免责声明#
①本站部分内容转载自其它媒体,但并不代表本站赞同其观点和对其真实性负责。
②若您需要商业运营或用于其他商业活动,请您购买正版授权并合法使用。
③如果本站有侵犯、不妥之处的资源,请联系我们。将会第一时间解决!
④本站部分内容均由互联网收集整理,仅供大家参考、学习,不存在任何商业目的与商业用途。
⑤本站提供的所有资源仅供参考学习使用,版权归原著所有,禁止下载本站资源参与任何商业和非法行为,请于24小时之内删除!