有后期提升视频画质的软件吗?
开源的话。
1,用N卡的VSR来超分辨率:
首先下载NVENCC编码器
GitHub - rigaya/NVEnc: NVENCによる高速エンコードの性能実験--vpp-resize algo=ngx-vsr,vsr-quality=2根据你的需求来修改vsr-quality的值,比如1080P拉到2160P,是缩放了2x2倍,就写2,720P拉到2160P是拉了3x3倍,就写3。只要结算结果不会比最终输出的分辨率低就行。
之后协输出分辨率:
--output-res 3840x21602,用N卡来将SDR视频转换为HDR。
--vpp-ngx-truehdr contrast=100,saturation=100,middlegray=50,maxluminance=1000 --colormatrix bt2020nc --colorprim bt2020 --transfer smpte2084其中maxluminance可以根据你的屏幕亮度参数进行调整,如果你的屏幕是400尼特亮度,就改成400。
如果你觉得拉HDR后的色彩不够真HDR那么鲜艳,还可以用lut来调色。
--vpp-colorspace lut3d=color.cube但8bit视频本身宽容度就不高,何况你这原视频大概率还是420采样,而且还是压缩过的,所以还是别乱拉曲线了,容易出现色彩断层,非常影响观感。
3,用N卡进行AI降噪
--vpp-nvvfx-denoise strength=0一般情况下强度一般开到0就行了,如果用1的话,视频会肉眼可见的变糊。
4,用N卡来进行AI祛伪影
--vpp-nvvfx-artifact-reduction mode=0还是设为0就好,而且降噪和祛伪影最好不要一块儿用,变糊。
5,NVENCC中的锐化算法有好几个,
NVEnc/NVEncC_Options.en.md at master · rigaya/NVEnc · GitHub但都是手工设置参数,调不好的话,全是棱角分明的色块。
其实超分辨率过程中已经进行过一定程度的锐化了,所以,没点儿经验就别再手动锐化了。
6,补帧
我用过效果最好的是RIFE,但配置麻烦不说,消耗算力也高。
有兴趣的话可以自己去研究以下。
电脑什么软件可以视频补帧和提高画质呢?现如今个人看来,能再效果和性能之间比较平衡的,是intel显卡的AI视频补帧。
QSVEnc/QSVEncC_Options.en.md at master · rigaya/QSVEnc · GitHub使用qsvenc编码器,所以前置条件是你得有个I卡,哪怕不是太老的核显也行。
N卡倒是也有视频补帧,但非常垃圾,所以还是用I卡的吧。
但两个不同的编码器,跑两个进程,只能用管道模式了,效率会下降,但能凑合。
最后:
将一个1920x1080的SDR视频超分辨率+转HDR+倍帧的命令行示例:
NVEncC64 -c hevc --lossless -f nut --avhw -i input.mp4 -o - --vpp-ngx-truehdr contrast=100,saturation=100,middlegray=50 --vpp-resize algo=ngx-vsr,vsr-quality=2 --output-res 3840x-2 --audio-copy |QSVEncC64 --avhw --icq 21 -c hevc -u best --profile main10 --output-depth 10 --bframes 10 --ref 16 --b-pyramid --b-adapt --i-adapt --adapt-ltr --colormatrix bt2020nc --colorprim bt2020 --transfer smpte2084 -i - -o output.mp4 --vpp-ai-frameinterp scd=true --audio-copy这个过程是先用N卡超分辨率和转HDR,之后再用I卡倍帧,其实是有缺陷的。
因为I卡的倍帧对PAL制式不太友好,遇到25或者50FPS的视频,倍帧后似乎是将高光区域识别成了日光灯,还是60HZ交流电的那种,以至于会产生频闪现象。NTSC制式的视频就很少频闪。
PAL制式的话,SDR还不太明显,如果拉成HDR的话,就会非常容易出现频闪了,连一堵白色的墙都会闪烁那种。
所以最好的办法还是把前后两个进程倒过来。
QSVEncC64 --avhw -i input.mp4 -o - -c raw -f nut --vpp-ai-frameinterp scd=true --audio-copy|NVEncC64 -c hevc -u p7 --qvbr 28 --multipass 2pass-full --output-depth 10 --profile main10 --lookahead 32 --bref-mode each --bframes 5 --ref 16 --avsw -i - -o output.mp4 --vpp-ngx-truehdr contrast=100,saturation=100,middlegray=50 --colormatrix bt2020nc --colorprim bt2020 --transfer smpte2084 --vpp-resize algo=ngx-vsr,vsr-quality=2 --output-res 3840x-2 --audio-copy但是吧,编码速率的瓶颈在nvenc的超分辨率那里,所以如果把它放到后面的话,前面倍帧了,它耗时变长了1倍。
而把qsvenc放后面的话,耗时只有放前面的1/4左右。
所以前者更快,后者效果更好。