gpt4 book ai didi

python - 使用 Hadoop 的 Blender 静止图像渲染

转载 作者:可可西里 更新时间:2023-11-01 14:56:26 24 4
gpt4 key购买 nike

我一直在网上搜索这个,但没有找到任何可靠的想法来执行这个任务。

我的要求

这些是设置的:

  • Hadoop 映射减少
  • 搅拌器
  • 任何软件/库都必须是开源的

项目:

我正在使用 python 在 blender 中生成场景。我有这个完美的工作并创建了一个相机路径。当我打开在 UI 中创建的混合文件时,一切都是应该的。我目前正在用 python 渲染成静止图像,但即使在降低质量设置后,我仍然以每秒 1 帧的速度渲染。渲染完所有静止图像后,我正在使用 blender 将帧动画化为序列。所有这些都可以独立运行,但渲染一个 30 秒的视频大约需要 5 分钟。

目标/问题:

我需要渲染相机路径并将结果输出为视频格式。在一台机器上,你可能非常清楚,1 分钟的视频可能需要很长时间才能渲染,我将渲染不同长度的视频,从几秒到一个小时不等。这个想法是使用 hadoop 在集群中分布渲染以减少渲染时间。

我对 mapreduce 比较熟悉,但不确定如何将这个问题分解成 block 。我正在寻找如何解决此问题以缩短渲染时间的想法。如有任何建议,我们将不胜感激。

最佳答案

我不熟悉 mapreduce,并且认为它不适合你想做的事情 - 至少不适合现有的解决方案。

您要寻找的是所谓的渲染农场。这是多台机器各自渲染最终结果的一部分的地方。对于动画,这很容易通过让每台机器渲染不同的帧来分割,也有一些方法可以分割静止图像以让每台机器渲染部分。

为了快速开始,有像 Render Street 这样的商业渲染农场。有机器设置为你做渲染,或像sheepit这样的免费服务在用户计算机之间分发渲染。

如果你有几台 *nix 机器可用,上面安装了 blender,你可以使用 blender's cli arguments在每台机器上渲染不同的帧范围。

ssh m1.local 'sh -c "blender -b myanim.blend -s 1 -e 10 -a"'
ssh m2.local 'sh -c "blender -b myanim.blend -s 11 -e 20 -a"'

要运行您自己的渲染农场,对于具有管理员权限的简单农场,有 network render addon包含在 blender 中,有关更高级的解决方案,请查看 flamenco .

关于python - 使用 Hadoop 的 Blender 静止图像渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41514509/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com