All Projects → sciactive → pulverize

sciactive / pulverize

Licence: GPL-2.0 License
A multi-process rendering script for Blender VSE.

Programming Languages

PHP
23972 projects - #3 most used programming language
python
139335 projects - #7 most used programming language
Batchfile
5799 projects

Projects that are alternatives of or similar to pulverize

Blender-Add-on-Manager
Blender Add-on Manager to install/uninstall/update from GitHub
Stars: ✭ 130 (+140.74%)
Mutual labels:  blender-scripts, blender
3dn-bip
A Python library for Blender addons. Blazingly fast preview loads in Blender. Images of arbitrary size. bpy.utils.previews drop-in replacement.
Stars: ✭ 41 (-24.07%)
Mutual labels:  blender-scripts, blender
cookie-factory
Processing-style Scripting Add-on for Blender
Stars: ✭ 21 (-61.11%)
Mutual labels:  blender-scripts, blender
ktba
Blender addons
Stars: ✭ 41 (-24.07%)
Mutual labels:  blender, blender-vse
Jaks Blender Scripts
Various Python Scripts for Blender
Stars: ✭ 26 (-51.85%)
Mutual labels:  blender-scripts, blender
MindMapper
Blender Python - Node-based multi-line text and image flowchart
Stars: ✭ 58 (+7.41%)
Mutual labels:  blender-scripts, blender
blendmaxwell
Maxwell Render exporter for Blender
Stars: ✭ 23 (-57.41%)
Mutual labels:  blender-scripts, blender
Character-UI
Blender add-on for creating simple yet functional UIs for your characters.
Stars: ✭ 28 (-48.15%)
Mutual labels:  blender-scripts, blender
blender-mqo
Blender Add-on: Metasequoia File Importer/Exporter
Stars: ✭ 27 (-50%)
Mutual labels:  blender-scripts, blender
MustardUI
Custom UI for Blender human models. It features automatic outfits switch, custom properties support, armature panel creation, and much more.
Stars: ✭ 122 (+125.93%)
Mutual labels:  blender-scripts, blender
kaleidoscope
🍀 A small collection of creative nodes to generate color palette and store values for Blender
Stars: ✭ 99 (+83.33%)
Mutual labels:  blender-scripts, blender
BlendShell
A Blender plugin for making hollow models suitable for 3D printing.
Stars: ✭ 33 (-38.89%)
Mutual labels:  blender-scripts, blender
wagtailvideos
Videos for Wagtail CMS, including transcoding
Stars: ✭ 43 (-20.37%)
Mutual labels:  ffmpeg
poc-mp4-websocket
Streaming MP4 over Websocket using BMFF
Stars: ✭ 25 (-53.7%)
Mutual labels:  ffmpeg
p5.rec
🍿 p5.rec lets you record your p5.js sketches and convert them to mp4 in your browser ▶️
Stars: ✭ 70 (+29.63%)
Mutual labels:  ffmpeg
rtsp-samsung-tv
Display RTSP streams from IP Cameras on Samsung Smart TV (Tizen TV)
Stars: ✭ 40 (-25.93%)
Mutual labels:  ffmpeg
MovieBarCodeGenerator
User friendly tool to create your own movie barcodes
Stars: ✭ 57 (+5.56%)
Mutual labels:  ffmpeg
TVR
Transformation Driven Visual Reasoning - CVPR 2021
Stars: ✭ 24 (-55.56%)
Mutual labels:  blender
niche-loops
This add-on includes the following operators: Build End, Build Corner, Adjust Loops, Adjust Adjacent Loops
Stars: ✭ 20 (-62.96%)
Mutual labels:  blender
FFmpegMetalPlayer
xcoderliu.github.io
Stars: ✭ 18 (-66.67%)
Mutual labels:  ffmpeg

Pulverize

A multi-process rendering script for Blender VSE.

What is it for?

Pulverize is a script for rendering video from Blender using multiple processes.

Why is it useful?

If you have, say, an 8 core processor (like me), Blender's Video Sequence Editor will only use 1 of those when rendering. This is a huge waste of computing power, and makes render times intolerably slow. This script will render the video in parts, using one process for each part. This means renders are 8 times faster with a machine like mine. You get all the benefits of multithreaded rendering in Blender without Blender VSE actually being multithreaded.

What are the dependencies?

You will need:

  • Blender (duh)
    • For best results: Output as an MPEG, and encode with MPEG-4 under Format, and H.264 under Codec.
  • FFMPEG (for putting all the video parts together)
  • PHP
  • Python
  • Linux, MacOS, or Windows 10

How do I use it?

Download this repository, and extract it to your computer somewhere. You can make a link to it to run it easily like this:

sudo ln -s path/to/pulverize.php /usr/bin/pulverize

Usage:

pulverize.php <blender_project_file> [<number_of_processes>] [<options>]

Example:

pulverize.php project.blend 6 '{\"keepTempFiles\":true,\"displayStdErr\":true}'

Options are given in JSON format as an object. (They should be flags, but that's a TODO for another time.)

  • keepTempFiles defaults to false. When true, the frame range renders and the FFMPEG input script won't be deleted.
  • displayStdErr defaults to false. When true, StdErr stream from the blender processes will be displayed along with the Pulverize progress indicator. FFMPEG will also show warnings, not just errors.

There's now a Python version, pulverize.py, available for use (Thanks, jpwarren!):

Some differences from pulverize.php:

It uses argparse to make it easy to add new commandline arguments

-w or --workers option to specify how many processes you want to use for rendering. Default value is the same as pulverize.php.
--dry-run option to test things without actually rendering or concatenating
--render-only option to just do the render of tempfiles, but not the concat
--concat-only option to concat, but skip the render stage

It doesn't show progress of the rendering subprocesses, so if you want that, best to use pulverize.php instead.

Why is it PHP?

Cause PHP is a badass scripting language. Also, I don't know Python.

Why is the code so unconventional (read messy)?

Cause I wrote this for me. This is how I code when no one's watching, and judging me for that would be wrong. ;)

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].