Closed DanielRuf closed 12 years ago
what do you think about these ideas for a complete brender suite?
Hello Daniel, These ideas of course sound really great and promising. As i said earlier, I am not a professional programmer, did ost of Brender on spare time. I do warmly welcome some help from people who have deeper knowledge of all that stuff, especially modern technologies like ajax and jquery html5. Brender as it is built right now works, works very fine for our uses, and has been helpfull to finish projects on time. It is however imho built in a bit clumsy way. I often wanted to restart from zero, making it more flexible and modular.
One very importnt feature that is missing, and would be nice is to be able to add other softwares (that can render out frames using a command line) For your info at the very beginning brender was able to render both blender and softimage XSI jobs. All modern softs have cli rendering. What is your profession and how much time could you spend on brender ? The same question goes to whoever is reading this and would like to participate) :) Honestly for my side, I am about to become a Dad :) and thats means that I did not plan on doing a rework from zero soon, but if there is external help I can reconsider :) we can either restartfrom zero, or make a new branch, or repo to add all improvements. just some ideas.
I will try to explain a bit our use of brender in the workflow in a separate issue, or you can email me :) best regards
Hi Olivier,
an API is also a great idea for brender. I would not start again from zero now but maybe much later and would currently add new features and optimize some code. Later we could recode it (support more databases using PDO and other solutions), using a MVC framework (much faster).
Adding more wrappers for other 3d software for rendering with brender is great and should not be so difficult - if there are documentations for the usage and API of these programs and their structure.
When you know how you do it then it is not so difficult. Worked many times with the cli (ant, adobe premiere, ruby ...) also most software packages provide scripting of the program with scripts that can be run with the cli easily.
Well my profession is currently (cross) media designer (apprentice) in a cross media agency doing all stuff of coding, developing and so on.
I can spend some time for brender in my free time after work. Also I could ask some of my friends from my school if they would like to help.
I would make a new branch or repo currently. My idea is a comlete suite brender for the complete workflow (automating most steps). Think about a solution where you send via email the files / create jobs for rendering (email piping), sending automatic status notifications, send email to pause / stop / restart the job), use an api for third party apps (mobile, desktop ...) for controlling, watching status, statistics starting server, cronjobs, ...
Brender has so much potential and needs much more support from the communities. Did you think about posting in communities like blenderartists, cghub and so on to get more people working on brender and supporting it?
Also the upcoming PHP5.4 has a built in server (we do not need Apache?) I suggest we use later sqlite / sqlite3 directly with php and also make the whole application oop, what do you think?
We could also change from jQuery UI to Twitter Bootstrap wich is much smaller and better than jQuery UI.
Bump, some more ideas for future roadmap.
Hey Daniel I'm reading this up only now. Are you willing to discuss about your last post? If so we might arrange a chat to talk about this. Otherwise we can setup a nicer system to exchange ideas!
Which post exactly? If i have the time for.
Hello! Sorry for taking long to reply:) I was referring to the previous long messages you wrote in this conversation about:
I find all this extremely thrilling, as @oenvoyage said already.
Then you added other things, to which I will reply inline. I apologize for the weird formatting, issue system is not ideal for having conversations:)
I would make a new branch or repo currently. My idea is a comlete suite brender for the complete workflow (automating most steps). Think about a solution where you send via email the files / create jobs for rendering (email piping), sending automatic status notifications, send email to pause / stop / restart the job), use an api for third party apps (mobile, desktop ...) for controlling, watching status, statistics starting server, cronjobs, ...
This is great, I've seen that you already created another branch, maybe if you start with the foundations for a new brender we can then move it to a common place and work together on it!
Brender has so much potential and needs much more support from the communities. Did you think about posting in communities like blenderartists, cghub and so on to get more people working on brender and supporting it?
We have been not very active from this point of view, mostly because is not our primary job and also because it's somehow difficult to find motivated and trustworthy people to work with.
Also the upcoming PHP5.4 has a built in server (we do not need Apache?) I suggest we use later sqlite / sqlite3 directly with php and also make the whole application oop, what do you think?
I think it's very interesting! Do you know when new php will be available?
We could also change from jQuery UI to Twitter Bootstrap wich is much smaller and better than jQuery UI.
After you suggested it in one of your first comments i started investigating it. As far as I've read one developer is working on a jQuery integration. As soon as this happens I would seriously investigate the possibility of switching. The idea of having a defined MVC structure for brender is intriguing for me, as it would allow the development of a much more responsive interface!
So, I'd like to know when you would actually start to work on some of this stuff:) I don't know your level of experience with code engineering / UI UX design and having a bit more discussion about which aspects of the project you are interested in would be great!
Thank you for taking the time to read this, I hope we can start collaborating soon:)
Well I need some time currently so I would like to do some parts in the next months. Currently there is just RC6 of PHP 5.4 so we can test with it but have to wait for the final release for production use.
As I can see the current theme of brender is by jQUery UI. I would also like to do some more planning before developing the solutions as we have to find a clear solution.
First I would make a Zend version and add later new functions
Hi, I like Brender, it is a diamond in the rough, and yes I came via a BlenderArtists.org post here. So that did work at least a bit to get some light shining on the existence of Brender.
Some feedback suggestions: (after seeing the Youtube video's, which are good! Keep making those to spread the word.) Yes these are a lot, please see them as positive feedback because of appreciation of your already accomplished work. This is not negative feedback, it is me applauding your work! Since I ain't able to help creating the program, this is what I can do, provide feedback. Thank you!
Some brain farts, but hopefully they will inspire to improvements: +Dedicated Machines/nodes (renderslave/manager/monitor/nas) This will help to create a scalable renderfarm with machines especially set up to optimize a specific task.
+Node grouping (creating render/task groups) This enable to submit tasks to a specific group, dedicating render time to specific projects/people.
+priority grouping With the above suggestion, a render-group can prioritize own projects and when idle, they will join an other group, based on a priority setting. This will prevent from idle nodes.
+remote start/restart/pause/stop functionality (not terminal!) A renderfarm needs to be controlled by the software, not a terminal. You should be able to steer all machines over the (inter)network, by using a manager/monitor.
+task priorities and grouping: assign priorities to tasks, so that these will be placed in line and dealt with based on priority.
+task priority decay - deadlines: after a certain task is in there for a certain time but always bypassed by higher priorities, the priority should be able to given a decay or deadline. So a particular task gets a higher priority based on time/date.
+Machine Priority: Certain machines (or groups) should be prioritized based on their responsiveness or speed. And this should be able to be affected by changing the priority manually, this way you can hire external power for when you need it, (assign priority group to a external network), but prioritize your own farm.
+scalability: being able to easily extend / remove hardware.
+render over the internet (is this already possible) To be able to set up above example: hire external render power when required. (machine availability is already in place, but does this also work with multiple networks, so you can use external renderfarms on demand?)
+user rights / accounts: Provide user rights to certain groups at certain times, limiting their render power and give boundaries, to prevent others.
+automated backup to server/nas when a task is done, make a backup to X locations / publish to FTP. (perhaps a dpkg package or so for devices like QNAP, Qnap.com?)
+automated tasks post production chain Being able to check if a certain file (or image) set is available or has changed, to (re-)render a set of tasks predetermined, adding final sound, a intro and outro movie and perhaps tasks like color changes (by using the output as in input for an other process/task) (also see Autodesk Cleaner / Combustion)
+automated finalization: After post production process, convert in various formats (i.e. full HD, half HD, and a small preview browser version) and upload these to where they should be (for further processing or customer review)
+maintenance: Be able to give machines downtime, or scheduled restarts. When a machine isn't responding results in warning (email/sms/monitor warning)
+overwrite existing or keep existing frames: if files exist, they should be able to be detected and depending on setting, be overwritten, backup, or stay and skipped.
+manage from within Blender Being able to send render tasks directly to farm from within Blender
-- What/where is the license information (GPL?)
I hope this helps some what, if not only by getting some inspiration and recognition. You've done a great job so far, keep it up! Thank you for sharing.
Hello FreedomFighterCorps,
thank you for your ideas and nice encouraging words. We are happy that you like brender. We wrote down your ideas. Some are a bit harder to implement in the current state of blender, some are old dreams we have :) and some are new and good idea. I can not comment on all but just wanted to say something about
+Node grouping: Although it is not exactly node grouping, but you can set a client's priority. It is a bit obscure feature. But it means it will only render jobs with higher priority. You can use it to set some clients to render low priority jobs only... I think this could be a base for something to be developped later.
+automated finalization: It is a good idea and already asked for request. In a simple way adding a post-render python script, to be executed after the job is finished could allow all sort of post-prod magic... you could have a bash script that sends a convert command, waits output, packs it in a gzip file, and sends it to an ftp or dropbox folder, then send an email to client.
Your welcome and deserve it. :)
+Node Grouping Dedicating servers to only low priorities indeed is a temporary work around and might work up to a certain degree.
+Automated Finalization Endless using one script after an other,.. makes a pipeline, very interesting. :)
Keep it up!
BTW, regarding the Automated finalization: an relative (Seemingly) easy approach could already help a lot as well;
Create task dependencies, when creating a task "X", make sure that a certain (existing) task "Y" has been finalized, before task "X" starts to be processed. And probably when a task "Y" is resubmitted, tasks ("X") that have this resubmitted task "Y" set as dependency, should automatically be resubmitted as well.
Still smiling about Brender when posting this. :)
Hm what do you think about a kickstarter.com project (you should do this, for funding development and so on) would also show some more people in the blender communities brender.
I agree, this is a good idea!Money makes the world go round, and this will help to keep development going, while it promotes the progress, which in return will hopefully bring Brender to the attention of a bigger crowd.
I'd say go for it!
Hello, I think for the moment kickstarter is only US based ( i guess tax and legal stuff ), I am in switzerland so I can not start a project :( And for the moment it's not a question of money, but more of time. I have a cute little baby girl with whom I prefer to spend time than start a big overhaul of Brender. I still am commited to it and do some small patches from time to time, just restart a brender 2.0 (which would really be great) is not possible for me for the time being. cheers :-) olivier
On 3 April 2012 12:19, FreedomFighterCorps reply@reply.github.com wrote:
I agree, this is a good idea!Money makes the world go round, and this will help to keep development going, while it promotes the progress, which in return will hopefully bring Brender to the attention of a bigger crowd.
I'd say go for it!
Reply to this email directly or view it on GitHub: https://github.com/oenvoyage/brender/issues/33#issuecomment-4898204
olivier amrein http://oenvoyage.wordpress.com company website : http://www.rgbprod.com travel photos : http://www.flickr.com/photos/oenvoyage/collections/
Any updates?
I am collecting and organizing these notes elsewhere.
I would replace most PHP and MySQL, use more AJAX,fetch data as JSON directly with
getJSON
and read all data from the JSON object (1 database request => 1 object with all data?)These scripts for previews: http://jsmovie.burkhardt-medienproduktion.de/ (play the rendered images / the image sequence as video) (https://github.com/benbyford/stopmotion-lite.js) https://github.com/vkiryukhin/Smartupdater (update content dynamically if there is new content)
and also use jQuery 1.7.1 and jQuery UI 1.8.17
will contribute to this project and help with these things so this is currently like a todo list =)
I think IZPack is great for brender installations (also the web installer feature of it - it is fully crossplatform) it has many features and can also be used for automated installations and is open source (also here on github)
Also we could create real workflows using some solutions like: ffmpeg (convert to video), butter.js / popcorn maker (editing), kaltura, virtualdub, avidemux, jsmovie, smartupdater ...
Also some code optimization like less database requests, more ajax (json).
A notification system to inform / send email when job is finished, error occurs, status tracking ... using phpmailer or swiftmailer
Adding scheduled tasks / cronjobs
Versioning / revisions for files / projects
Webinstaller for installing and setting up client and server using izpack
Just some thoughts =)
An idea for workflows: rendering => previe => converting using ffmpeg / combining with final sound (already existing) => cutting / editing / finalizing
All tasks made with brender serverside / clientside ffmpeg should be used as standalone directly from the ffmpeg site and not installed as php module so client runs ffmpeg with command line.
for each task / step there should be also the option to send notifications via email
use .ini file instead of settings.php