当vspipe调用主Python程序时,我们如何设置输出节点?
以下不起作用:
def main(argv):
...
...
vapoursynth code
...
clip.set_output()
if __name__ == "__main__":
main(sys.argv[1:])
这也不是:
....
if __name__ == "__main__":
clip = main(sys.argv[1:])
clip.set_output()
错误消息是:无法检索输出节点。指定的索引无效?
最佳答案
很抱歉回答晚了,但我认为这需要解决:
当脚本是 Python 解释器的主要目标时,__name__
变量通常包含 "__main__"
,例如从命令行调用时。
然而,鲜为人知,因为未记录:当 vspipe 或任何其他基于 vsscript 的应用程序运行您的脚本时,字符串 "__vapoursynth__"
存储在 __name__
中。
因此您的支票应该是这样的:
if __name__ == "__vapoursynth__":
clip = main()
clip.set_output()
关于python - 使用 vspipe 的 Python main(argv) 函数中的 Vapoursynth 输出节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42279927/