ffmpeg可以逆向拉伸吗?
dwing吧
全部回复
仅看楼主
level 1
Queen吃糖 楼主
看一些压制组能清楚知道片源使用了什么劣质拉伸算法,通过逆向还原,原来的分辨率。
请问要怎么分辨和用什么实现?
2024年04月17日 09点04分 1
level 1
Queen吃糖 楼主
想学习一下,
Mr-Z大佬因为我问的问题水平太低无视了。
2024年04月17日 09点04分 2
level 1
Queen吃糖 楼主
逆向还原再用稍好一些的拉伸算法,或者直接压制。
会比不逆向直接压制的效果好…吗?
2024年04月17日 09点04分 3
吧务
level 14
vapoursynth-descale
2024年04月17日 10点04分 4
大概明白了,到时找下怎么安装和布置环境。用惯了带Gui的exe文件不会弄这些。
2024年04月17日 10点04分
像是1080i视频,先逆向处理再反交错还是反交错后逆向处理也一样?
2024年04月17日 10点04分
@Queen吃糖 先反交错
2024年04月20日 16点04分
level 11
用傻瓜式handbrake操作
拉伸好像就是普通的尺寸选项,应该不涉及什么算法吧?
听楼主描述劣质拉伸,是不是指原4比3的视频被压制组拉成了16比9宽屏?
可以用handbrake修改分辨率,设置一下帧率保持源,设置合适的码率就能导出合适的分辨率视频了
分辨的话就看电视剧拍摄年份,070809年是宽屏和4比3比例过度年份,之前电视剧都是4比3
2024年04月17日 13点04分 5
人家想做逆向处理,而不是单纯拉分辨率
2024年04月17日 22点04分
我想楼主指的更可能是有些是低分辨率片源压成的高分辨率,如480p的压成1080p的,体积巨大不说,常常观感还更差了,有种很不自然的涂抹和锐化感(和某些手机拍照算法疯狂涂抹锐化如出一辙),还不如保持低分辨率
2024年04月25日 00点04分
@幻の永恒 可能不一定是还原片源分辨率,而是用原盘文件重新压制的?
2024年04月26日 08点04分
level 1
Queen吃糖 楼主
2024年04月18日 00点04分 6
level 14
一般来说,是用getnative穷举一定范围内的分辨率和能使用的算法,然后找个误差小的。
2024年04月18日 03点04分 7
好复杂的样子,根据Mr-Z给的提示在网上搜到了大佬你21年解答过相关问题的帖子,还有搜到一份Git。 一直不会用Git上面的东西,是和ffmpeg一样需要部署环境后用命令行操作的吗?
2024年04月18日 03点04分
level 1
Queen吃糖 楼主
之前听闻过VS相比AVS支持多线程,效率更高。捣鼓了一下发现不会用就接着用回cmd那种。
vapoursynth-descale,这个好像也是需要VS还是python还是C#,有没有带GUI版本的?
或者大佬们给个“我这种程度也能理解的教程”,代码方面真的不擅长[狂汗]
2024年04月18日 03点04分 8
level 1
嗨,高斯模糊再锐化一下就得了,没有好片源就是没有好片源,人生苦短啊亲[乖]
2024年04月18日 09点04分 9
level 3
便携版
https://github.com/theChaosCoder/vapoursynth-portable-FATPACK/releases
教程
1:https://guide.geeking.moe/kuai-su-shang-shou/bian-xie-ni-de-di-yi-ge-vapoursynth-jiao-ben
2:https://guide.encode.moe/encoding/descaling.html#descaling-1
脚本
import vapoursynth as vs
import vsutil
core=vs.core
src=core.lsmas.LWLibavSource(r"D:\anime的截图.png")
descale_b= core.descale.Debicubic(src,1280, 720, b=1/3, c=1/3).resize.Bicubic(1920, 1080, filter_param_a=1/3, filter_param_b=1/3)
descale_b.set_output()
你要去教程2了解下着些参数都是什么意思,Debicubic可以换成Despline36,Delanczos,后面的filter_param_a=1/3,也可也有换成0,0.5,如果是Delanczos就只有filter_param_a=3,或者4
然后vs执行,按F5就可以看到图了,然后右键复制,然后和你的原截图对比下,如果差异小到你能接受就可以
也可以使用https://github.com/Infiziert90/getnative,可以批量测试全部参数,推测最有可能的分辨率
其实我感觉还是直接锐化更有效,逆缩放并不是完美方法,我对比了很多图,缩小放大后还是和原图有很大差别(放大3倍看)
2024年04月20日 19点04分 10
import vsutil 删掉[阴险]
2024年04月20日 19点04分
你没有清楚rescale要解决什么问题以及确定源存在此种问题,或者没有找到“正确”的算法和分辨率,自然差别很大
2024年04月21日 07点04分
level 3
补个全代码,用上面便携版的vs打开这个脚本按F5就能看到图了
import vapoursynth as vs
core=vs.core
#读入可供参考的截图原图
src=core.lsmas.LWLibavSource(r"D:\你的截图.png")
#分离亮度平面
gray = core.std.ShufflePlanes(src,0,vs.GRAY)
#重缩放亮度平面
descaled = core.descale.Debicubic(gray,1280, 720, b=1/3, c=1/3).resize.Bicubic(1920, 1080, filter_param_a=1/3, filter_param_b=1/3)
#合并亮度色度平面
descaled = core.std.ShufflePlanes([descaled, src, src], [0,1,2], src.format.color_family)
#diff = core.std.MakeDiff(src16, denoised) 其实这步可以直接看区别,但你可以用Beyond Compare,更显著,还可以查询不一样的像素数量,把容差调到0,如果是一样的像素数量远大于不一样的,说明这次重缩放很成功,如果不是那就说明没缩好
descaled.set_output()
2024年04月21日 02点04分 11
吧务
level 14
nyaa|si|view|1432099
这个片的rescale部分可以大致概括为:
clip=zvs.rescale(clip,h=720,kernel='despline16',linear=1,mask_dif_pix=10)
值得注意的是linearize的rescale并不是常见操作
这个lienarize的功能加入的时间是晚于成片时间
实际上加入这个功能的原因就是看了这个片
然后至今也没遇到第二个可以用得上的
怪不得xyx看不上
原盘可以下载于
nyaa|si|view|1422654
不知道为什么你们可以随便发链接
百度好像老爱吞我链接
2024年04月21日 16点04分 12
我的建议是这里不用举这种奇葩源的例子,找个源情况简单的例子[阴险]
2024年04月22日 01点04分
@787633258 这个俺印象深刻[滑稽]
2024年04月22日 02点04分
@Mr-Z♂ 那确实,不过我深刻的点是写了个SCSharpen
2024年04月22日 02点04分
@787633258 那是,各干各的呗[阴险]
2024年04月22日 03点04分
level 1
VCB经常逆向还原那些劣质拉伸的渣片源,修复后观感还不错,不知道怎么分析片源的[哈哈]
2024年04月22日 04点04分 13
1