jendabek / blenderrendercontroller Goto Github PK
View Code? Open in Web Editor NEWThis project forked from isti115/blenderrendercontroller
A tool for significant speedup of rendering with Blender VSE (Video Sequence Editor).
This project forked from isti115/blenderrendercontroller
A tool for significant speedup of rendering with Blender VSE (Video Sequence Editor).
When I click on "Start Render" it runs for a second then gives me an error "failed to create chunklist.txt". I tried running as admin to see if was a permissions issue but it doesn't fix the issue. Here is a video of it that I created:
https://drive.google.com/file/d/1-G1bc0V7rNGg28E8e6ZsONUUrb5A88pu/view
And here is the error message/log:
`See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.Exception: Failed to create chunklist.txt
at BlenderRenderController.RenderManager.AfterRenderProc(AfterRenderAction action)
at BlenderRenderController.RenderManager.b__62_0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
`
There are some things I did for my now defunct "settings_file" branch that I want to integrate to you project, I already did a pull request which you seem to have missed and developed passed...
I don't want to be annoying or anything, I just want to help where I can. I see you are actively developing your side and a lot of it is stuff I wanted to do anyway.
Another thing, I'm using Visual Studio 2015, Is there a way to open a pull request from it after cloning it to my computer? Or I need to create a repository manually w/ my changes like I did?
I've downloaded the latest unix package (BRC_v981_unix.zip), installed latest Mono for Ubuntu 16.04 from official repos http://www.mono-project.com/download/ and after running mono BlenderRenderController.exe
, it crashes with an exception "No valid icon entry were found."
How to run it properly?
$ mono BlenderRenderController.exe
Unhandled Exception:
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ComponentModel.Win32Exception: No valid icon entry were found.
at System.Drawing.Icon.InitFromStreamWithSize (System.IO.Stream stream, System.Int32 width, System.Int32 height) [0x001f3] in <c9c15c6064b649cca0034f29b3bf310f>:0
at System.Drawing.Icon..ctor (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) [0x00095] in <c9c15c6064b649cca0034f29b3bf310f>:0
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00002] in <204f770036d441bb8dfd3daba3550e83>:0
--- End of inner exception stack trace ---
at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00014] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Reflection.MonoCMethod.DoInvoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0007a] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Reflection.MonoCMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0002f] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Reflection.RuntimeConstructorInfo.SerializationInvoke (System.Object target, System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject (System.Object obj, System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) [0x00059] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.ObjectManager.FixupSpecialObject (System.Runtime.Serialization.ObjectHolder holder) [0x00088] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.ObjectManager.DoFixups () [0x0005a] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize (System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Runtime.Serialization.Formatters.Binary.__BinaryParser serParser, System.Boolean fCheck, System.Boolean isCrossAppDomain, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x00077] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck, System.Boolean isCrossAppDomain, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x000a2] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceReader.DeserializeObject (System.Int32 typeIndex) [0x00019] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceReader._LoadObjectV2 (System.Int32 pos, System.Resources.ResourceTypeCode& typeCode) [0x0035c] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceReader.LoadObjectV2 (System.Int32 pos, System.Resources.ResourceTypeCode& typeCode) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceReader.LoadObject (System.Int32 pos, System.Resources.ResourceTypeCode& typeCode) [0x00022] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.RuntimeResourceSet.GetObject (System.String key, System.Boolean ignoreCase, System.Boolean isString) [0x000be] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.RuntimeResourceSet.GetObject (System.String key, System.Boolean ignoreCase) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceManager.GetObject (System.String name, System.Globalization.CultureInfo culture, System.Boolean wrapUnmanagedMemStream) [0x00028] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceManager.GetObject (System.String name) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at BlenderRenderController.BrcForm.InitializeComponent () [0x03802] in <ae242791904441a6961d97e092674525>:0
at BlenderRenderController.BrcForm..ctor () [0x00006] in <ae242791904441a6961d97e092674525>:0
at (wrapper remoting-invoke-with-check) BlenderRenderController.BrcForm:.ctor ()
at BlenderRenderController.Program.Main () [0x0000b] in <ae242791904441a6961d97e092674525>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.ComponentModel.Win32Exception: No valid icon entry were found.
at System.Drawing.Icon.InitFromStreamWithSize (System.IO.Stream stream, System.Int32 width, System.Int32 height) [0x001f3] in <c9c15c6064b649cca0034f29b3bf310f>:0
at System.Drawing.Icon..ctor (System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) [0x00095] in <c9c15c6064b649cca0034f29b3bf310f>:0
at (wrapper managed-to-native) System.Reflection.MonoCMethod:InternalInvoke (System.Reflection.MonoCMethod,object,object[],System.Exception&)
at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00002] in <204f770036d441bb8dfd3daba3550e83>:0
--- End of inner exception stack trace ---
at System.Reflection.MonoCMethod.InternalInvoke (System.Object obj, System.Object[] parameters) [0x00014] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Reflection.MonoCMethod.DoInvoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0007a] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Reflection.MonoCMethod.Invoke (System.Object obj, System.Reflection.BindingFlags invokeAttr, System.Reflection.Binder binder, System.Object[] parameters, System.Globalization.CultureInfo culture) [0x0002f] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Reflection.MethodBase.Invoke (System.Object obj, System.Object[] parameters) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Reflection.RuntimeConstructorInfo.SerializationInvoke (System.Object target, System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.ObjectManager.CompleteISerializableObject (System.Object obj, System.Runtime.Serialization.SerializationInfo info, System.Runtime.Serialization.StreamingContext context) [0x00059] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.ObjectManager.FixupSpecialObject (System.Runtime.Serialization.ObjectHolder holder) [0x00088] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.ObjectManager.DoFixups () [0x0005a] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.ObjectReader.Deserialize (System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Runtime.Serialization.Formatters.Binary.__BinaryParser serParser, System.Boolean fCheck, System.Boolean isCrossAppDomain, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x00077] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck, System.Boolean isCrossAppDomain, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x000a2] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck, System.Runtime.Remoting.Messaging.IMethodCallMessage methodCallMessage) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler, System.Boolean fCheck) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream, System.Runtime.Remoting.Messaging.HeaderHandler handler) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Deserialize (System.IO.Stream serializationStream) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceReader.DeserializeObject (System.Int32 typeIndex) [0x00019] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceReader._LoadObjectV2 (System.Int32 pos, System.Resources.ResourceTypeCode& typeCode) [0x0035c] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceReader.LoadObjectV2 (System.Int32 pos, System.Resources.ResourceTypeCode& typeCode) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceReader.LoadObject (System.Int32 pos, System.Resources.ResourceTypeCode& typeCode) [0x00022] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.RuntimeResourceSet.GetObject (System.String key, System.Boolean ignoreCase, System.Boolean isString) [0x000be] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.RuntimeResourceSet.GetObject (System.String key, System.Boolean ignoreCase) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceManager.GetObject (System.String name, System.Globalization.CultureInfo culture, System.Boolean wrapUnmanagedMemStream) [0x00028] in <204f770036d441bb8dfd3daba3550e83>:0
at System.Resources.ResourceManager.GetObject (System.String name) [0x00000] in <204f770036d441bb8dfd3daba3550e83>:0
at BlenderRenderController.BrcForm.InitializeComponent () [0x03802] in <ae242791904441a6961d97e092674525>:0
at BlenderRenderController.BrcForm..ctor () [0x00006] in <ae242791904441a6961d97e092674525>:0
at (wrapper remoting-invoke-with-check) BlenderRenderController.BrcForm:.ctor ()
at BlenderRenderController.Program.Main () [0x0000b] in <ae242791904441a6961d97e092674525>:0
I just used this tool for my next Youtube video. Not only did it delete the .blender file, but also the recording itself which was inside the folder as the .blend file. My entire evening and morning of editing completely and utterly wasted and in vain. I attempted a recovery software - to no avail. Seven years of bad luck to you.
I have made a quick test on virtualized Ubuntu using MonoDevelop.
There are some issues but it looks like it will work :)
https://www.youtube.com/watch?v=uyncOjD_o4A
The audio on the final render is out of sync, it starts out fine but the longer the render, the more out of sync it gets.
The audio on individual chunks is perfectly fine.
Issue happens with both mixdown audio and without it.
I have tried both codecs H.264 and xvid and same thing with both. H.264 is worse.
stuck at starting in reading blend file, then showing not responding.
I use a couple of plugins in VSE and I went to test BRC today and this started to happend:
This stops the program from reading the .blend info, however, these errors are harmless to the rest of the program! All the info gets read and rendering works if I remove the bit of code that says otherwise.
I don't think it's necessary to check StandardError in this situation, let alone stop the entire process.
As of this post, BRC has problems opening projects in Win7. It's some sort of Python issue as far as I know
Fixing this is a priority!
Until that happens, a workaround is to launch BlenderRenderController.exe by the command line
hi there,
when I download the ZIP file from this source...
https://github.com/jendabek/BlenderRenderController/releases/download/v9.8.1/BRC_v981_Full-x64.zip
and open the program after extracting it´s loads fine. But when I would like to Open a Blend file it says that the
Script folder is missing.
Also there seems to be some errors with the json going on. Like The Start cant be Equal to the beginning. Well i checked my Blend file and all seems to be legit. Start and Endframe also that it´s uses absolute file paths.
I Wrote more detail excentantly on the issue board by Isti115 here.
there is also a Log file after I had installed manualy the Scripts folder from your Source.
But if I use that file from that source...
...
it works wunderfull.
suggestion
it would be nice if script(BlenderRenderController) split video (job from blender) for work in two parts 90% (long chunks)+10%(short chunks) and render at first 90% long chunks and then second time split on threads remaining 10% (job from blender) FOR LOAD thread which already stand idle.
Explanation: now script(BlenderRenderController) split one time sequence at thread and if you are many threads with low Ghz per core last 1 or 2 parts in time take up to 15% of render time.
I for example have 2 cpu Xeon E5 2660V1 - 32 threads and if script will can split chunks in 90%-10% when threads end longs chunks they can take shots chunks and would not be idle while other threads render long pieces on the remaining threads which already stand idle.
Now because I always wait in the end until the one remaining chunk end on ONE thread from 32 possible.
Not available in blender 2.8
BRC failed silently and did not produce a joint video. I had an old version of ffmpeg, in which AAC codec was still in experimental phase. It's a default version of ffmpeg on Ubuntu 16.04 LTS, which required an additional argument passed to the tool (version 2.8.11-0ubuntu0.16.04.1).
The encoder 'aac' is experimental but experimental codecs are not enabled, add '-strict -2' if you want to use it.
All went well after I updated ffmpeg manually to the latest version (3.3.4-static) and set a custom path to the tool, but it would be cool, if BRC detected the exit code of ffmpeg and not reported the processed finished successfully. Event better, if it could suggest updating to the latest version of the tool or even assert the minimum required version. AAC codec became official in version 3.0. Yes, it's "ancient", and so is Ubuntu 16.04 ;)
I've rendered multiple times before without issue. Tried different format with the same result. If i use "animation" for render in Blender VSE, it outputs fine. Just thought you should know.
After some trouble shooting, i noticed it was only rendering the audio. when only setting it to "join chunks" no file appears (yes i know where the output file is, and no there are no hidden files).
Edit - (few hours later): noticed ffmpeg wasn't the most recent version. Updated to the 3.4 static window 64bit. Still no change in outcome.
Also, keep up the amazing work. You're a pretty amazing dude.
First, a holy time saver, thank you so much Jan!
Just tested, so far so good except that I have to re-set the output folder after reloading blend. Is that normal?
UPDATED: So I just read the supporting Doc and seem this is a known issue. However, I'm leaving it open because it would be good to fix (and can't be that hard, right?)...
Blender Render Controller (BRC) v0.8.0 running on Win 10 crashes when attempting to open .blend.
Error seems to be related to using relative paths in the .blend file for the output directory. When I changed the output path from relative (\\Output) to a absolute value (C:\Users\mkab_000\Documents\Peking to Paris\Video blog\2017\20170422\Output) BRC loaded and rendered the file without issue.
Details below:
See the end of this message for details on invoking
just-in-time (JIT) debugging instead of this dialog box.
************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at BlenderRenderController.Helper.fixPath(String path)
at BlenderRenderController.MainForm.loadBlend()
at BlenderRenderController.MainForm.blendFileBrowseButton_Click(Object sender, EventArgs e)
at System.Windows.Forms.Control.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnClick(EventArgs e)
at System.Windows.Forms.Button.OnMouseUp(MouseEventArgs mevent)
at System.Windows.Forms.Control.WmMouseUp(Message& m, MouseButtons button, Int32 clicks)
at System.Windows.Forms.Control.WndProc(Message& m)
at System.Windows.Forms.ButtonBase.WndProc(Message& m)
at System.Windows.Forms.Button.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)
************** JIT Debugging **************
To enable just-in-time (JIT) debugging, the .config file for this
application or computer (machine.config) must have the
jitDebugging value set in the system.windows.forms section.
The application must also be compiled with debugging
enabled.
For example:
When JIT debugging is enabled, any unhandled exception
will be sent to the JIT debugger registered on the computer
rather than be handled by this dialog box.
Hi, is it possible to get NVENC as an option in the GUI?
Showing percentage (or even ETA?) would be nice to manage the time better. (e.g. to know better how long it would take for a snacking time :P ) Thanks!
Kicked off job around 6:40am - chunk creation was completed about 7:20am. Audio track AOK. But joining chunks and adding sound is now stalled and has not progressed for over an hour.
First time using it on a new machine.
Windows 10; 32 GB RAM (no problems there); 101GB free on target drive (so should be OK).
Blender 2.79 - using new FFMPG settings (See image);
FFMPEG in PATH (confirmed by opening cmd and typing in ffmpeg - program executed as expected)
Audio is MP3 - so not the AAC error
At a loss for what to try next...
I've spoken to jendabek and he no longer plans to contribute to this project, so from now on development will continue on my own branch so head there for all future releases.
In fact there's a new version there right now!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.