StreamShapers Converter - Building the Bridge from After Effects to CasparCG - from LottieFile to HTML-Template

For everyone familiar with using After Effects we wanted to create a great way to get the animation from After Effects into CasparCG and here it is!
StreamShapers Converter is free and Open Source!
Just throw your .json animation exported with Bodymovin into the Converter, check it, download and be ready for production with CasparCG.
You do not need to install it, you do not even need to build your own template to try the Converter as we already provide some graphics for your testing purposes.
Head right over to converter.streamshapers.com try the Converter and let us know what you think!

There is also some documentation available on streamshapers.com if you want some further information on some more or less basic questions.
You will also find the neccessary information on any requirements you will need to meet in After Effects to make your template work.
StreamShapers Converter is a WebApp, but it would also be possible to build it as an offline version to use on production site without internet connection.

If you have any questions feel free to ask here, feedback is also very much appreciated!

Jan-Philipp, Richard and Nico

12 Likes

Good job. I’ve been waiting for this, the previous ones were difficult to use.

1 Like

Great that you like it! What kind of tools did you use before? Are there any features you would like to have implemented?
It would be good to hear if everything is working for you or if you have any kind of issues with it that should be fixed. :slight_smile:

Oh-my-god ! :clap:
Thank you and congratulations for this work!

I try this today. It’s amazing !

But I have a little problem. When I update one text object, all values of others texts are resetted to their default value. Do you know why ?

Hey @Cestmoi! Sorry we kept you waiting that long. Thanks for your great feedback!
So this is happening if you call the “update” function while playing, right? You need to send all of the data everytime you update, even if the value didn’t change. Only “keys” you are sending will upade the “value”. Others will reset to default. This is because all of the text objects will be updated when you call “update”

What kind of client do you use? And which Caspar Version?
It would be helpful to have a look on your .html file. Do you mind to upload it?

You could also join us on our Discord if you want!

Hi Jan-Philipp,

Yes, absolutely. When I have a scene playing, when I do an update, only the updated text changes, and the others come back with the default text.
I use my own client (.Net app with StartDust.CasparCG.net) with Caspar 2.4.0
I can provide my test html file without problem.

I’m not familiar with StarDust but i can imagine its like I first thought.
You are adding an play your data with:

data.add("f0", "value0") 
data.add("f1", "value1")
data.add("f2", "value2")

.....

right?

After playing it you want to update “f1” for example and just add this one value to data and call update?

data.add("f1", "newValue1")
channel.CG.Update(10, 1, data);

If this is right it leads to the fact the that the template “replaces” all the missing data with there defaults. This might sounds like a strange behavior of the template. The reason for that is, that we need to create a “new” lottie-file when you want to change some data. So we destroy the “old” one which is playing and load the new one with fresh data from the original. (this happens so fast, that you can not see it)

Hope you get what I try to explane :see_no_evil:

I’m glade you came up with this and we will think about the idea to store the “old” data in future .
For now, what might work for you is to add all of the “old” data into your update function like this:

data.add("f0", "value0") 
data.add("f1", "newValue1")
data.add("f2", "value2")
channel.CG.Update(10, 1, data);

little bit of double work, but all clients I’ve seen worked like this, that’s why we did’t thought about saving data before.

Let me know if this was helpful and understandable:)

I’ll do that now. But yes, in my mind, if I update one value, I imagine only this value updated…

Hey @Cestmoi,
thanks to your great input, we just released the new 1.6.4 version of Ferryman, which now store your data in the template so you can just update one value without “loosing” the other values.

Let us now if it workes for you!

1 Like

Let me tell you 2 things, you rock and thank you ! I’ll try that asap !

3 Likes

Hi @jdoppelp,

Can you tell me if you support Invoke command (Invoke command) ?
My goal is to jump in my timeline and play range from image X to Y, or jump to a specific marker and play it.

Thank you !

Hey @Cestmoi
Short answers: unfortunately we don’t - right now.

Long answer!: Great idea! I remember thinking of this long time ago but I honestly forgot why we didn’t implement it. I think it was not that easy as I thought :thinking:

So did I get you right that you, for example, like to invoke “subanimation1” and the template plays the marker “subanimation1”?

Thanks for sharing that idea! We think about how to make it possible :slight_smile:

That’s exactly it!
My goal is to trigger a specific animation at a certain time.

Can’t wait to test it ! :smile: