如何在AviSynth中将视频大小调整为480像素,同时保持宽高比?假设,为简单起见,双线性调整大小。
我试过了:
source = DirectShowSource("TheClip.avi")
resized = BilinearResize(source, target_height=480)
return resized
但这给出了错误
脚本错误:函数“BilinearResize”的参数无效
注意 :我不提供的原因 width
是我没有 知道 宽度。该脚本正在被一个人使用 媒体服务器 那个 现在强制使用 AviSynth的 为了执行调整大小 。我不 知道 任何人可能选择播放的视频的大小 - 但我知道我需要它调整大小到x480。
我认为AviSynth可以做类似的事情:
resized=BilinearResize(source, source.width*480/source.height, 480)
但那也失败了:
调整大小:YUY2目标宽度必须是偶数
我可以继续前进,试图找到一条路 AddBorders 要么 作物 ,使宽度 mod4,mod8或mod16 。或者我可以问这里,也许已经有一种方法来执行保持方面的缩放。
有没有办法将(source.width * 480 / source.height)强制转换为int或其他东西?
—
soandos
我很确定问题是它计算的宽度是691x480。这与YUY2冲突,YUY2为每个存储一个颜色值 对 像素;这个视频是一对短片(应该是690x480或691x480)
—
Ian Boyd
那么有圆函数吗?
—
soandos