ZRT TrackmaniaCup 2019 in France : Feedback

Hey all. My event is now finished. I wanted to give feedbacks regarding Casparcg to the community and developers.
First of all, a big thanks, cause … CasparCG is awesome.

The Zenith of Strasbourg was full (>7500 pp) + 92000 viewers on Twitch. We had 13 LED Screens on stage + the stream.The aftermovie is not out yet, but you can get an idea with :

Look at the start and the end of this clip for the intro :

End of the show :

The Stream setup is : All cameras handled by an Atem Mixer, Output is received on the final cut Computer running Vmix , that get the Output + 3 External for double rea. Vmix handles the final cut + some assets + receives NDI Input from a local CasparCG, controlled remotely by the Stage Realisator.

The Stage setup is : 3 CasparCG Servers + 1 Preview, everything is handled by one operator (who also handles the Stream CasparCG).

This allows us to handle everything with only three persons (realisator, final cut operator, stage operator)
My setup : https://twitter.com/timmalos/status/1145325353063333888

We are a “small” agency regarding to the fact we now organize events in the biggest places in France, thus CasparCG is the best choice we can have for these kind of events. The AMCP protocol with many clients (developed by us interlacing with the games API directly) is really great.

I went for 2.2 servers because I needed updated CEF and because this one seems to be better performing under heavy load than 2.1.X NRK.

What went “bad” :

– We used screen consumer that were converted to SDI with external devices. This lead to some issues with colorimetry and “black” not being black, we’ll look into direct Decklink output to avoid Windows parameters difficult to configure for a show like this.

– The LED screens setup (on our LED provider side) is only able to handle 1920x1080 inputs, and for some LED screens it was needed to cut them in two parts and there was some unsynchronized moments because of overload server not being able to handle correctly the synchronization. (Even with LoadBg before play, with SSD, 1080Ti and i7-7700k servers). A video is in fact sent twice over the channel, with mixer applied and we often saw 1/2 frames not-synchronized with this setup.

– We are still not yet being able to find the best video encoding for our medias to make CasparCG better performance and frame accuracy. We usually have Three layers at the same time for each LED Screen (One layer for background video, one layer for alpha video, one layer for HTML NodeJs Texts) , one casparcg channel is responsible for up to 6 LED screens. CasparCG seems to perform better when videos are as light as possible regarding their disk size, whatever the compression/format used. Memory is not used a lot (6 GB / 64 GB during the show even with LoadBGs applied) so I guess NVME would be the best suitable disk there instead of looking for fast RAM.

– Because we are in the videogame field, everything in the show is in 60p. This means currently all medias I receive are also in 60p, even if the LEDs don’t need to have as many frames per second. I tried to setup my consumers to 1080p30 and it seems to improve performance even if CasparCG has to handle the 60p>30p conversion. I need to test that further, and maybe ask for videos in 25p format to increase performance and frame-accuracy without needing better hardware.

– The CasparCG Client (2.2 RC) (but also applies with older version) is laggy as soon as you have many lines on it, and I had to reload it multiple times during the show. You can’t drag and drop or copy paste without waiting few secs it answers, and the load by itself takes 30 secs before you can interact with it. Next time I’ll try to completely remove my need for it and develop entirely my custom client, but I think this could be an improvement.

Here it is, thanks a lot to everyone contributing to this amazing project that allows me to go further in our show and gave me some thrills when crowd likes the output.
Next step will be a mythic place in France, the “Bercy” AccorHotels Arena with 15000 spectators the 13 of june 2020, I’ll have some work :slight_smile: !

2 Likes

I do that, by playing everything on a channel without a physical output and then send that via ROUTE commands to the outputs and apply the MIXER effects to crop of the unwanted region. That gives you quite a good synchronization.

2 Likes

The LED screens setup (on our LED provider side) is only able to handle 1920x1080 inputs, and for some LED screens it was needed to cut them in two parts and there was some unsynchronized moments because of overload server not being able to handle correctly the synchronization. (Even with LoadBg before play, with SSD, 1080Ti and i7-7700k servers). A video is in fact sent twice over the channel, with mixer applied and we often saw 1/2 frames not-synchronized with this setup.

Didi is right about this.
I do this quite often.
A hidden feature in 2.2 is that the “layer” route commands transfers the content in its own native resolution, soo playing 4K content (or bigger / customLED resolution sized content) on a small channel like PAL and “layer” routing it too other channels, keeps the content in its own resolution ! (this is not true in 2.1)
as there is only one decode proces the result is much more stable / predictable.

other things that could help is use i-frame only codec’s and CBR. and with SDI consumers off-coarse use gen-lock

Nice setup by the way !

3 Likes