如果你之前已经在你的电脑下载安装过ffmpeg,要是没有下载安装的话可以参考《使用FFmpeg进行视频格式转换含下载及安装》中的FFmpeg下载及安装部分,文章已经写的很清楚了,相信作为小白的你应该是可以看懂的。

咱们直接进入正题。

Real-ESRGAN

Real-ESRGAN一款图像分辨率修复工具,它可以提升图片、视频的分辨率。

视频画质提升原理

过于复杂的原理就不写了,直接从你能看懂的地方开始介绍。

由于视频是由一张张连续的图片快速闪动播放行成的,而Real-ESRGAN是对图片进行分辨率的放大,我们就可以把需要提升分辨率的视频拆分成一张张连续的图片,将这些图片提升分辨率后再拼接成一个完整的视频,就相当于视频画质提升。

提升视频画质具体步骤

从GitHub上下载Real-ESRGAN,将下载好的压缩包解压到你喜欢的目录下。

比如我解压到了我的文档中。

步骤一:要使用的话我们从当前的文件夹进入cmd,最简单的方式是将上方链接改成cmd然后敲回车就进入了命令提示行了。

步骤二:在当前目录下创建一个文件夹,作为临时存访拆分开的视频的图片序列的

mkdir tmp_frames

步骤三:在当前目录下创建另一个文件夹,作为存访优化后的图片序列的

mkdir out_frames

步骤四:将你需要提高画质的视频放入当前文件夹中(我的视频是1.mp4),并将视频拆成图片序列

ffmpeg -i 1.mp4 -qscale:v 1 -qmin 1 -qmax 1 -vsync 0 tmp_frames/frame%09d.jpg

09就表示到时候你的视频的名称会有几位数字。jpg格式可以换成png格式。

步骤五:运行realesrgan-ncnn-vulkan.exe,并对图片的分辨率进行放大

start realesrgan-ncnn-vulkan.exe -i tmp_frames -o out_frames -n realesrgan-x4plus -s 4 -f jpg

这里-n 后是模型名称, -s后是放大倍数,模型是放大4倍的模型,但是我们可以指定放大倍数,2倍还是4倍。如果是模型上限是2倍,就没法放大4倍了,虽然作者的意思是这样的,但是在实际使用过程中发现如果用的4倍模型,生成2倍的话导致图片出错,最后视频也出错。

举例:你可以换成2倍的

start realesrgan-ncnn-vulkan.exe -i tmp_frames -o out_frames -n realesr-animevideov3-x2 -s 2 -f jpg

步骤六:查看一下原视频的帧率,确保优化后的视频的帧率和原视频保持一致,当然也可以不一致,只是到时候视频时长上会有所不同。

ffmpeg -i 1.mp4

步骤七:将优化好的图片合并成视频

ffmpeg -i out_frames/frame%09d.jpg -i 1.mp4 -map 0:v:0 -map 1:a:0 -c:a copy -c:v libx264 -r 30 -pix_fmt yuv420p -b:a 129k o1.mp4

上面的30表示我之前的视频是30帧,后来我也需要生成30帧的视频。yuv420p是一种通用的像素格式,一般适用于大部分的播放器。如果你想要更高质量的可以换成yuv444,这种格式虽说提供了更高的色彩质量,却无法在很多的播放器中播放视频,你看到的视频有可能是黑屏。

使用 -map 0:v:0 -map 1:a:0 -c:a copy 是来保持音频不变的。

-b:a 129k是因为我的原视频的比特率是这么多,我想让我生成的视频比特率也保持不变。

上面的o1.mp4是提升画质后的视频。

命令介绍

使用下面的命令后,你就能看到real-esrgan的使用方法

realesrgan-ncnn-vulkan.exe -h

如果对本文有疑问,可以在下方评论区留言,看到后我会在这里回复你。

关于作者:张东星

我是一位打工人 & 创业者,曾在某世界500强公司打工,现在正在创业,喜欢折腾wordpress,为外贸创业者提供wordpress的建站技术支持,我会为您解决wordpress、Avada以及服务器等的操作使用方面的相关问题。 工作时间:9:00~24:00

加微信咨询(为了方便大家添加微信,直接放在这里了):

发表评论

15 − 5 =

相关文章

目录