pt_OpenSesame Server
  • imagept_OpenSesame Server

    OpenSesame Server provides a fully automated API based solution for project customization, versioning and rendering to generate content on demand, using either the JSON API for web apps or regular text files that can be edited in a spreadsheet.

    https://aescripts.com/pt_opensesame-server/

  • Please pardon my silly question, but do I need to get both OpenSeasme Server for Rendering and OpenSeasme for building templates? 
  • Please pardon my silly question, but do I need to get both OpenSeasme Server for Rendering and OpenSeasme for building templates? 
    Yes, you need the regular version of OpenSesame to create the templates.
  • Greetings!

    We are working on using OpenSesame to help render out many videos. But in our usage of it so far, there have been a couple of minor issues with the software that we would like the developer to know about, and also to offer a few workarounds for others and to solicit further advice from. I'm putting this in the OpenSesame Server comments section, as these comments are mainly applicable for that script.


    1. '%' in the replacement text is unsupported?

    If the OpenSesame JSON file has a percent sign within one of its values, when OpenSesame Server loads the file it will attempt to treat the value as a URL and attempt to open it. This causes OpenSesame to stop processing the current file and hang, and requires you to stop and start the watch folder to get it to work properly once again. It does not clean up its .tmp file. The log just has a message about: "Cannot switch to URL Hi, M%ary!". The example used in this case was just a text replacement with a value of "Hi, M%ary!".


    2. Any warnings on project load causes OpenSesame Server to stop processing files.

    This can occur, for instance, if there is a missing effect or a footage item cannot be found. If this is known in your project file (say you pre-rendered a layer using a licensed effect on one computer and are attempting to use OpenSesame server on another computer) then you would like for OpenSesame to just ignore the warning and continue on with its thing, or even just stop processing that one file and skip to the next one. As-is, you need to either click "OK" on each warning, or write something like an AutoIt script to automatically skip the dialog. The following are examples of AutoIt workarounds for when you have missing footage or a missing effect.

    AutoItSetOption("WinDetectHiddenText", 1)
    While 1
      If WinActive("After Effects", "are missing since you last saved this project") Then
        Send("{ENTER}")
      EndIf
      If WinActive("After Effects", "reference to a missing effect") Then
        Send("{ENTER}")
      EndIf
    WEnd

    Note that I think I remember reading that it is difficult for a script running in After Effects to close these dialogs automatically, so some sort of automation is likely the best workaround. Luckily it is rather straightforward to automate.


    3. Pressing ESCAPE causes OpenSesame Server (or AE?) to stop working properly.

    An odd issue, but related to our own earlier attempts to solve (2) above by sending an escape key to the dialog window. Apparently this causes OpenSesame to freeze in an infinite loop somewhere, ceasing to process the current project file any further. The .tmp file is created, the log file has nothing out of the ordinary, and Stopping and Starting the OpenSesame watch resolves the issue (but does not remove the .tmp file). Just don't press ESCAPE on these dialog windows, either click on OK or send an ENTER key to the dialog window.

    Note: It may be that the "missing footage" dialog window does not cause this behavior and it is just the "missing effect" dialog window that does so. I cannot verify this at the moment, but better to be safe than sorry: Use {ENTER} instead of {ESC} when interacting with these dialogs.


    4. Sliders are generically named in the JSON output.

    A minor gripe and not critical in the least, but when you select the value of a Slider to output as an editable field, its resulting "PropName" is "Slider" and its "Property" is something of the form "ADBE Effect Parade|2|ADBE Slider Control-0001". It would be nice if "PropName" (an ignored attribute) would automatically take the name of the control as it appears in the project file instead of just "Slider".


    I hope this helps anyone else experiencing these issues, and I hope to see any appropriate patches in the future address them where possible. We've worked around most of them, so we're no longer prevented from continuing forward.
  • Thanks for the feedback.


    1. Re: % in text. I will have to look into this issue which is likely caused by the JSON parser I'm using. Thanks for bring this to my attention.


    2. Re: warning dialogs. Yes this is true. You should always check that a project in its default state will open without warnings on any computer it will be used on to ensure there aren't any missing fonts, effects or footage that would cause this. It isn't possible for scripts to prevent these types of dialogs from appearing or do anything until they've been dismissed manually.


    3. Re: Escape. Yes, pressing Escape will cause any active scripts to cease processing. This is an app level function that can't be avoided, so definitely don't use the Escape key while AE is active and OSS is running.


    4. The Slider is the name of the effect property, not the effect name. While you can rename an effect, you can't rename a property. So it is correctly giving the name of the property. For the "Property" setting, rather than using the effect name in the property path it uses the effect index (i.e. in this example it's referring to the 2nd effect on that layer). As you can have multiple effects on a layer with the same name, using the effect index is the only guaranteed way to reference the correct effect.

    So really what you're asking for is to have an additional reference only value for effects, something like EffectName: MySlider. Or maybe for effect properties I should make it PropName:effectname|propertyname


  • Are there any more tutorials on how to use? 

    Or just this one video and the PDF file?
  • Hi Wendy, That's all there is currently. The video is intended to give an overview of how it works while the pdf goes into a lot more detail about the specifics. Are there any particular areas that you would like more information about?
  • Hi Wendy, That's all there is currently. The video is intended to give an overview of how it works while the pdf goes into a lot more detail about the specifics. Are there any particular areas that you would like more information about?
    Hi Paul... I'd like to know more about how to use the software with a web app or online form... I don't suppose you could point me to any sources? Thanks

  • Hi Wendy, I'm afraid I don't have any particular resources for web app or form development that I can share. I imagine there is plenty of web development information and assistance out there but it isn't my area of expertise.

    A system for generating the Open Sesame text files is something that we felt would be widely different between users, depending on their specific needs and any existing system they might be integrating Open Sesame with, so we do leave that side of things to the user currently.
  • HI Paul

    We bought a second version of Open Sesame... But we accidentally put the original product code in.

    It's not enabling us to register the new version - as it seems it's automatically putting in the old activation key in. I'ts saying 

    'activation failed with error code 6
    The number of activations available for this license has been reached.
    Please deactivate a machine first to make an activation available.'

    I don't want to deactivate the machine that's running the current version.
    But want to access the computer we've put the additonal script on... but it's now not letting us put in the activation code at all... it's just coming up with the above error.

    I've delted the script and added it multiple times but it's still happening.

    Cheers

    Wendy
  • Hi Wendy, I've sent you an email explaining how you can solve this issue. Paul
  • Hi Paul, is it possible to run an operating system command once a render is complete?  (i.e. using the extendscript "callSystem (cmdLineToExecute)" function?)

    I'm considering using OpenSesame Server for a project I'm working on, but would need this functionality in order to fully automate the process.  I had a read through the manual and it didn't sound like it was possible.

    Regards,
    Phil
  • Hi Phil, That isn't possible yet but it will be soon. If you'd like to open a support ticket we can look at getting you a trial of this functionality as it becomes available.
  • Ok great, I'll do that
  • Hi Paul,
    the feature with the "render complete" info would be a very helpful part for us too.
    Is it possible to get an information when it is available (or the trial version)?
    Best regards,
    Hans
  • Hi Hans, It's hard for me to be more specific than "soon" but I am working on it right now. Paul
  • Hi Paul,

    What would be the best solution for setting the watch folder up to 'watch' an FTP location? Say, I'd like to dump various user's form data (JSON files) into mydomain.com/renders/data?

    Thanks!
  • Hi Steve, Interesting question. It's not something I've tried, but off the top of my head I'd think you'd need some third party software that can synchronize between a folder and ftp. If you google that there certainly are some apps out there. GoodSync sounds promising at an initial glance. If it doesn't specifically have to be FTP, there are of course various web services that can sync to a folder. Maybe other people reading this will have suggestions, and I'm certainly interested in any findings you make.
    Paul
  • Thanks, Paul! I'll continue to look into this in search of a good solution.
    Another question: Is there any way to to use URLs as the footage source? IE, instead of storing images locally, use a hosted image instead (http://www.example.com/images/some-image.jpg)?

    Thanks!
    Hi Steve, Interesting question. It's not something I've tried, but off the top of my head I'd think you'd need some third party software that can synchronize between a folder and ftp. If you google that there certainly are some apps out there. GoodSync sounds promising at an initial glance. If it doesn't specifically have to be FTP, there are of course various web services that can sync to a folder. Maybe other people reading this will have suggestions, and I'm certainly interested in any findings you make.
    Paul

  • Hi Steve, I wouldn't think so. OpenSesame can only do what After Effects can do, so you would need something to download that image onto some kind of network storage, dropbox, etc so AE can access it through a regular file path. I'm adding new functionality that will allow you to run custom scripts from within OpenSesame, so it would probably be possible to code a solution there, but I would think for something like this you'd be better off making that solution a part of the submission process.
    Paul
  • Hi Paul,

    Another question-- is there a solution that would allow me to automate renders to Adobe Media Encoder with your plugin?

    Thank you,
  • Hi Steve, Yes you can do that. You can set AME to watch a folder and set OSS to save the altered project into the AME watch folder rather than rendering it.
    With the imminent update, another option would be to write a 'helper script'. Just a few lines of code that would be the equivalent of using AE's Export > Add to Adobe Media Encoder Queue command.

  • Hey Paul, Sorry to have to ask this simple question but there is a way to save the altered AEP file to another location besides the WATCH folder using OSS without rendering? I cant seem to figure that out. I am trying to accomplish what the previous post had asked about using AME to render the video which I got it to work but only if I manually save the altered project to the AME watch folder. I also tried the 'helper script' but really am not sure what the exact lines of code need to be so I would be willing to pay for a helper script that can accomplish that. Thanks for your time.
  • Hi Joe, see the pdf guide under Editing OpenSesame text files > Render / Save options. In the render section you just need to specify SaveProject:To_Path then specify the path / file name for the saved project under Path.

  • Thanks Paul! Simply overlooked it. Works great. I really appreciate the help on something I should have seen.
  • Hi Paul,
    i was wandering how can i change the marker's position from a text layer ?  i'll actually link markers to some animation and i need to change the timing (position of markers) from a text layer. 
    Any idea ? is this can be done with this script ?
    Thanks
    Ismail
  • Hi Ismail, It isn't in the core functionality but you could use a custom pre-render helper script to do this. It shouldn't be too difficult.
    Paul
  • Hi Ismail, It isn't in the core functionality but you could use a custom pre-render helper script to do this. It shouldn't be too difficult.
    Paul
    Thanks Paul for your prompt replay, i'm really not sure how, is there an line of expression to copy in the layer with the marker and then to link to text a layer to retrieve the marker position and of corse to change it's position with that text layer ?
    Thanks
  • It isn't possible to move markers with expressions although it's quite possible there are other ways you could accomplish this without layer markers. Does it have to be layer markers?

    With a helper script you can set it up so new settings are added to the text file which you would use to feed in the new marker times. You would also code the helper script to use this information to make the adjustments.

    Creating helper scripts does require some scripting knowledge, or it's the kind of help I can provide as part of the SLA support agreement.

    Paul
  • It isn't possible to move markers with expressions although it's quite possible there are other ways you could accomplish this without layer markers. Does it have to be layer markers?


    With a helper script you can set it up so new settings are added to the text file which you would use to feed in the new marker times. You would also code the helper script to use this information to make the adjustments.

    Creating helper scripts does require some scripting knowledge, or it's the kind of help I can provide as part of the SLA support agreement.

    Paul
    Yes it has to be layer Markers because, i parented the animations "in" and "out' to markers.
    Thanks Paul.
  • Using expressions that read the marker times? But couldn't those expressions just read the times of some other keyframes, which you could easily alter already using OpenSesame Server? It's hard for me to say without seeing exactly what you're doing.

    Paul
  • Using expressions that read the marker times? But couldn't those expressions just read the times of some other keyframes, which you could easily alter already using OpenSesame Server? It's hard for me to say without seeing exactly what you're doing.

    Paul
    Using keyframe times is also a way of manipulating the animations timing, i didin't think of it ! Thanks
    Using expressions that read the marker times? But couldn't those expressions just read the times of some other keyframes, which you could easily alter already using OpenSesame Server? It's hard for me to say without seeing exactly what you're doing.

    Paul

  • Will the Server work / benefit with Background Renderer? https://aescripts.com/bg-renderer/

    After Effects is very inefficient in multicore rendering in the GUI, would like to have multiple rendering "threads" one way or another...

    Thoughts? 
  • Hi Michael,

    I don't think there's currently a way of having OpenSesame Server work with BG Renderer. As of v1.6 it does allow you to run 'helper scripts' so you could ask the author of BG Renderer if he'd consider making it compatible with OSS. Or create a custom script that could send the terminal command needed to render in the same way as BG Renderer.

    One issue I can see here is that you would need to somehow monitor how many bg render instances you have running and when they finish, otherwise you wouldn't know if the computer's rendering capacity had currently been reached and you'd need to wait before making another OSS submission.

    At the moment what people tend to do for extra rendering power is to have one machine running OSS, reading the submissions, altering the projects and saving them somewhere, so they can be picked up by one or more other machines running copies of AE's license free Render Engine. This way renders will automatically be queued, assigned to different machines, and can be monitored through the logs the Render Engine creates.

    Paul
  • At the moment what people tend to do for extra rendering power is to have one machine running OSS, reading the submissions, altering the projects and saving them somewhere, so they can be picked up by one or more other machines running copies of AE's license free Render Engine. This way renders will automatically be queued, assigned to different machines, and can be monitored through the logs the Render Engine creates.

    Paul
    Thanks, I guess that answered also my upcoming question... :)


  • Hi Paul,
    we're evaluating your package for a web project. Can you please provide one email email address so we can discuss this matter in depth?

    Thanks
  • Hi Sergio, The best thing would be for you to open a support ticket at https://aescripts.com/contact/

    Paul
  • I have a question that I can't seem to find the answer to anywhere.  Can you edit the meta data of the videos that OpenSesameServer outputs dynamically?  This would be extremely useful to the application that we are using it for.

    Thanks in advance for any answer.  Love OpenSesame, starting to really stretch its capabilities.
  • Hi Kyle, There aren't any built in features for this currently but it should be possible to write a post-render helper script to do this and that's something I could certainly help with. It's probably best if you open a support ticket if you'd like to discuss this further.
  • Hey Paul, thanks for your quick reply, you are awesome!  I opened the support ticket at almost the exact time you wrote that comment, lol.  It's submitted to customer care, but I sent you a PM also.  Any help, or even a little nudge in the right direction would certainly be appreciated.  Thanks again.
  • Hi Kyle, I've replied to your support ticket, but in case anyone else is interested....

    Helper scripts are a feature that was added in v1.6 which allows OpenSesame to run any number of additional scripts as part of the process, both before and after any renders are completed, allowing you to extend OpenSesame's functionality in pretty much any way.

    As an example, pt_ImportSubtitles now additionally functions as a helper script, meaning you can specify a subtitle file in the OS text file and it will open the project, run ImportSubtitles in non-UI mode to read and apply subtitles from a standard subtitle file format, then hand back to OS to render the results.

    OpenSesame comes with a single example helper script and the final chapter of the pdf guide covers how to use and create them.

    You can either write your own helper scripts if you're familiar with AE scripting, ask an existing script author if they'd consider adding OpenSesame compatibility to an existing script, or hire someone (like me!) to develop your own custom scripts.
  • Hi Paul,

    Is it possible to obtain the time it took to render an item in the render queue? (I'd want to pass this to my post-render script).

    Thanks,
    Phil

  • Hi Phil, There's a RenderQueueItem attribute called elapsedSeconds, so you should be able to query the time taken to render a finished render queue item directly from your post render script.
    app.project.renderQueue.item(index).elapsedSeconds 

  • Brilliant, thanks for your help!
  • Hey paul, I have a question - Is it possible to automatically send picture files into open sesame? 

    For example, say we had a platform where a user could output a video with a certain logo.  Would we have to manually add that logo in each time or can it the file be automatically uploaded and included in the render, assuming the image was the correct dimensions and specs.
  • Hi Kyle, yes you can use OpenSesame Server to switch out footage files. And even if the footage dimensions are different there are various ways of dealing with that, such as setting up some Scale expressions in the template project, or using the 'helper scripts' feature.
  • Hello Paul,

    I am designing a web application were users can create custom videos by changing assets to an after effects template via a web form. Can open seasame server be a useful tool for that. If yes, where will the after effects render software sit for ondemand rendering to take place - on an online server or a local server in my my office. 
  • Hi Chibueze, Yes, this is something OpenSesame Server can be used for. You can set it up either locally or through an online server. For example, some people are running it on cloud services like AWS and scaling it to meet render demands. Basically, anything that can run After Effects can run OpenSesame Server.
    Please open a support ticket if you'd like to request a trial.


  • Hi there, 
    Currently using Templater Bot edition to render large numbers of videos. My main complaint is that it cannot run scripts before it runs a job thus making it hard for me to use some very useful scripts in the animation process. 

    How does your software differ from Templater and does it have the same robust features? For instance, being able to automatically download assets like images from a website and use them in the job.

    Thanks very much for your time,
    Graham
  • Hi Graham,

    OpenSesame Server doesn't have a built-in ability to download assets (you can replace existing assets in a project by specifying a new file path to an accessible location) but it does have the ability to run custom 'helper scripts' both before and after a render. Using these you can add pretty much any functionality you want.

    One thing to mention, if you're thinking about using it in conjunction with other commercial scripts, they would need to be adapted for use with OSS first. It's not that hard to do (as an example, my pt_ImportSubtitles script runs as both standalone and as an OSS helper script) but you'd need to persuade the script's author to add compatibility.

    If you'd like to try out OpenSesame Server, just open a support ticket and request a trial.

    Paul


  • Hi Paul,

    I was just wondering if OpenSesame & Server are going to get updated to be compatible with CC2017?

    It's not an immediate issue for me, but eventually I'll want to update my OpenSesame-based system to the latest version of AE, now it finally looks like the new AE architecture is becoming reliable/stable, rather than having to keep jumping back to AE2014 to produce projects for OS. 

    Cheers,
    Phil