使用Blender和Twine(Python)进行服务器端渲染

目前,我正在从事的项目基本上会先获取图像,然后使用命令行中的Blender渲染视频.目前,我正在使用Twisted来处理请求,但是肯定有些事情做错了,因为它无法按我的意愿运行.您可以看到程序here的代码(我删除了所有不必要的内容).

混合器渲染是通过生成子进程(我知道Twisted can handle processes)以及python script来完成的,该子进程用于配置渲染并使用作为纹理提供的图像.

该程序需要能够处理尽可能多的连接.目前,子进程一次只进行一个渲染,但理想情况下,它将检查CPU /并行渲染的数量并将其数量调整为最佳.每个渲染都是用户自定义的,因此,一旦用户渲染完成,他们应该将其渲染返回(一个avi文件).

我的问题是:Twisted是否是正确的选择?还有其他选择吗?如果不是,我的系统实施是否有缺陷?我对此表示任何想法或意见!

解决方法:

Twisted是否是正确的选择? – 也许.

还有其他选择吗? -是的

如果不是,我的系统实施是否有缺陷? -是的在我看来,您的子流程调用被阻止:p.wait()

听起来像在Twisted中尝试做的事情一样可行,但是距离它还有很长的路要走.

您需要一个具有Web前端的速率控制的异步任务队列.

您得到的是单个线程“站点”上的单个页面,该页面在提交的作业完成之前不会返回任何html.

这是可能的.但是,使用django celery可能更容易实现.

的Django:http://www.djangoproject.com/
芹菜:http://celery.github.com/celery/getting-started/introduction.html

还有一个用于类似目的的教程:
http://webcookies.org/blog/2009/09/10/rabbitmq-celery-and-django/

上一篇:blender练习(课堂作业)


下一篇:blender 2.8 [学习笔记-019] 编辑模式- 面的挤出