Distributed rendering of single images #104327

Merged
David Zhang merged 22 commits from David-Zhang-10/flamenco:single-image-render into main 2024-09-03 06:47:49 +02:00
8 changed files with 12 additions and 11 deletions
Showing only changes of commit 51658e3847 - Show all commits

View File

@ -6,6 +6,7 @@ bugs in actually-released versions.
## 3.6 - in development ## 3.6 - in development
- Change the name of the add-on from "Flamenco 3" to just "Flamenco".
- Add `label` to job settings, to have full control over how they are presented in Blender's job submission GUI. If a job setting does not define a label, its `key` is used to generate one (like Flamenco 3.5 and older). - Add `label` to job settings, to have full control over how they are presented in Blender's job submission GUI. If a job setting does not define a label, its `key` is used to generate one (like Flamenco 3.5 and older).
- Add `shellSplit(someString)` function to the job compiler scripts. This splits a string into an array of strings using shell/CLI semantics. - Add `shellSplit(someString)` function to the job compiler scripts. This splits a string into an array of strings using shell/CLI semantics.
- Make it possible to script job submissions in Blender, by executing the `bpy.ops.flamenco.submit_job(job_name="jobname")` operator. - Make it possible to script job submissions in Blender, by executing the `bpy.ops.flamenco.submit_job(job_name="jobname")` operator.

View File

@ -1,6 +1,6 @@
# Flamenco 3 # Flamenco
This repository contains the sources for Flamenco 3. The Manager, Worker, and This repository contains the sources for Flamenco. The Manager, Worker, and
Blender add-on sources are all combined in this one repository. Blender add-on sources are all combined in this one repository.
The documentation is available on https://flamenco.blender.org/, including The documentation is available on https://flamenco.blender.org/, including

View File

@ -1,4 +1,4 @@
# Flamenco 3 Blender add-on # Flamenco Blender add-on
## Setting up development environment ## Setting up development environment

View File

@ -3,7 +3,7 @@
# <pep8 compliant> # <pep8 compliant>
bl_info = { bl_info = {
"name": "Flamenco 3", "name": "Flamenco",
"author": "Sybren A. Stüvel", "author": "Sybren A. Stüvel",
"version": (3, 6), "version": (3, 6),
"blender": (3, 1, 0), "blender": (3, 1, 0),

View File

@ -22,7 +22,7 @@ class FLAMENCO_PT_job_submission(bpy.types.Panel):
bl_space_type = "PROPERTIES" bl_space_type = "PROPERTIES"
bl_region_type = "WINDOW" bl_region_type = "WINDOW"
bl_context = "output" bl_context = "output"
bl_label = "Flamenco 3" bl_label = "Flamenco"
# A temporary job can be constructed so that dynamic, read-only properties can be evaluated. # A temporary job can be constructed so that dynamic, read-only properties can be evaluated.
# This is only scoped to a single draw() call. # This is only scoped to a single draw() call.

View File

@ -25,7 +25,7 @@ import (
"projects.blender.org/studio/flamenco/pkg/crosspath" "projects.blender.org/studio/flamenco/pkg/crosspath"
) )
type CreateVideoParams struct { type FramesToVideoParams struct {
exe string // Executable path defined by the Manager. exe string // Executable path defined by the Manager.
exeArgs string // Its CLI parameters defined by the Manager. exeArgs string // Its CLI parameters defined by the Manager.
fps float64 // Frames per second of the video file. fps float64 // Frames per second of the video file.
@ -101,9 +101,9 @@ func (ce *CommandExecutor) cmdFramesToVideoExeCommand(
return execCmd, cleanup, nil return execCmd, cleanup, nil
} }
func cmdFramesToVideoParams(logger zerolog.Logger, cmd api.Command) (CreateVideoParams, error) { func cmdFramesToVideoParams(logger zerolog.Logger, cmd api.Command) (FramesToVideoParams, error) {
var ( var (
parameters CreateVideoParams parameters FramesToVideoParams
ok bool ok bool
) )
@ -172,7 +172,7 @@ func cmdFramesToVideoParams(logger zerolog.Logger, cmd api.Command) (CreateVideo
// getInputGlob constructs CLI arguments for FFmpeg input file globbing. // getInputGlob constructs CLI arguments for FFmpeg input file globbing.
// The 2nd return value is a cleanup function. // The 2nd return value is a cleanup function.
func (p *CreateVideoParams) getInputGlob() ([]string, func(), error) { func (p *FramesToVideoParams) getInputGlob() ([]string, func(), error) {
if runtime.GOOS == "windows" { if runtime.GOOS == "windows" {
return createIndexFile(p.inputGlob, p.fps) return createIndexFile(p.inputGlob, p.fps)
} }

View File

@ -15,7 +15,7 @@ Join the community on the [#flamenco channel][chat] of Blender Chat to discuss
development topics. New faces are always welcome! Also, make sure you check out development topics. New faces are always welcome! Also, make sure you check out
the [quickstart guide](/usage/quickstart/). the [quickstart guide](/usage/quickstart/).
[chat]: https://blender.chat/channel/flamenco [chat]: https://chat.blender.org/#/room/#flamenco:blender.org
<---> <--->

View File

@ -26,7 +26,7 @@ The constructed CLI invocation will be `{exe} {exeArgs} {argsBefore} {blendfile}
Flamenco Worker monitors the logging of Blender; lines like `Saved: filename.jpg` are recognised and sent as preview images to Flamenco Manager. Flamenco Worker monitors the logging of Blender; lines like `Saved: filename.jpg` are recognised and sent as preview images to Flamenco Manager.
## FFmpeg: `create-video` ## FFmpeg: `frames-to-video`
Uses FFmpeg to convert an image sequence to a video file. Uses FFmpeg to convert an image sequence to a video file.