DVD VFR 源 处理流程参考

文章目录[x]
  1. 1:基础知识
  2. 2:处理流程
  3. 3:问题
  4. 4:个人使用的方法与参数

大家好, 我是Ace, 这篇文章简要介绍DVD-VFR源的处理流程.

基础知识

这类源一般有720x480个像素,但是显示比例为16:9,是因为这些像素并不是正方形像素,而是32:27的矩形像素。

VFR是可变帧率的英文简称,与常见的CFR相对,VFR的视频在同一个视频的不同片段一般有着不同的帧率。

对于常见的视频格式来说,一个单独视频流文件,默认是CFR的。

制作VFR的视频,需要将单独的视频流与时间码文件一同封装至容器中。

mkvmerge支持时间码文件,而mp4box不支持时间码文件。

DVD源的primary、transfer与matrix一般均为NTSC的BT.601 525/SMPTE 170M;而720P的默认primary、transfer与matrix一般为BT.709。

处理流程

读入视频,不要进行插帧为cfr的动作,需要保证处理后的视频帧数与源视频一致。

将视频的matrix转为"R'G'B'",transfer转为"linear RGB",primary转为"SRGB",输入神经网络超分辨率,再将primary、transfer与matrix转为输出分辨率对应的值。

一般情况下,输出视频最好为标准正方形像素的视频,因此需要将图像重采样为输出的分辨率。

在封装时,需要从源视频容器中抽取中标准的时间码文件,将单独的视频流封装入容器时,记得同时指定视频轨的时间码文件。

封装完成后,检查成品视频与源视频的时长是否一致,帧数是否一致。

问题

为什么不做vfr->cfr的转换?

若输出帧率小于源最大帧率,那必定会丢弃有效帧。

若输出帧率大于源最小帧率,那必定会插入重复帧。

为什么要转换primary、transfer与matrix,不能在输出视频中标上吗?

很多渲染器不认视频的头信息标志,只按照视频的分辨率来认定primary、transfer与matrix。

假如使用了实时补帧插件,它们一定不会把primary、transfer与matrix等元信息传给渲染器。

个人使用的方法与参数

由于本人属于初学者,还在入门中,下文仅供参考。

若使用waifu2x进行超分辨率,建议使用"upconv_7_anime_style_art_rgb"这个模型,这个模型对于视频处理来说比较合适,因为它的层数较少,并且比初版模型"anime_style_art_rgb"运行得更快,因为它把放大这一步留到了网络的最后面,而且效果一般来说更好。当然如果有足够好的设备,有足够多的时间,而且不在意时间开销,用网络层数最深的模型效果最好。

可以选用waifu2x的降噪等级noise1,noise0对于充满各种各样的瑕疵的源来说还是不够,noise1就可以去掉大部分扎眼的瑕疵。noise等级越高,waifu2x的抗烂线收线能力越强。

也可以选用nnedi3进行超分辨率。

根据情况,可以做一定的aa处理。

如果使用waifu2x,那建议保留YUV444输出,不至于要暴力地将色度分辨率强行减半。使用YUV444输出相应地提高一点色度的量化参数即可。

压制参数选择,建议Hevc-10bit版本crf不低于18,Avc-8bit版本crf不低于19。

点赞

发表评论

昵称和uid可以选填一个,填邮箱必填(留言回复后将会发邮件给你)
tips:输入uid可以快速获得你的昵称和头像

5 + 12 =