Performance issues when routing


#1

I have a LED wall that utilizes three 1080p50 processors. On top of that I need a 1080p50 feed to run in sync with the LED wall. So I made a custom screen size that is 6144x1080 (two processor doesn’t use the full width)in size and using layer routing and fill to the send the picture to the other four outputs. The problem is that as soon as I make the second route the video starts to lag. I’ve tried both h264 and h265 encoding and h265 give a slightly lesser lag. The server runs latest beta.

Ubuntu 18.04.3 with kernel 5
GeForce GTX 1660
Intel i9
32GB RAM
2x Deklink duo 2

I have a nvme drive in the server that I haven’t tested yet, but since it plays without issues on one channel I don’t think that is the issue. Looking at top the processor isn’t working hard at all.

All outputs have 6 frames in buffer and I even tried to add the BUFFER 5 to the route command without luck.


#2

With lag, do you mean that they aren’t in sync?

Have you tried using the AMCP command batching that’s available in the NRK fork?

Then you could do:

BEGIN
PLAY 1-10 TILE1
PLAY 2-10 TILE2
PLAY 3-10 TILE3
COMMIT

Instead of doing routing.


#3

Do you route the full channel or only one layer? As routing a single layer to another channel uses MUCH less performance than a whole multi-layer package. So I would use a route command to route the base channel to one other (without an output) to “flatten” the many layers of the source channel to a single layer and then route this single layer to the output channels.

I think he means, that the channel start to skip frames.


#4

Sounds interesting, can I play multiple files at the same time in sync then? Because running four movie at the same time is no issues!:smiley: Had a quick look around for API documentation form the NRK fork but didn’t find any, do you know where to find it?

I use layer routing, PLAY 2-10 route://1-0 BUFFER 5

No, actually the movie runs slow. :confused:
It takes around three seconds to play one…


#5

Simply send “BEGIN” first, then the commands you want exexuted. When you want to execute them you send “COMMIT” (similar to defer/commit in mixer).

Related git commits:



#6

And it sure helps, if you genlock the channels. That keeps them in sync.


#7

Thank you for the replies, will test this during the week.

Sounds like the solution is on the horizon! :smile:

Absolutely! Genlock is already in place.


#8

Is there a working way to build the NRK fork for Linux? The guide in github is obsolete, and github issues basically says that they aren’t going to do anything about it at the moment.
Tried Google and searched the forum without finding anything.
Looking at the documetation it seems like it is Windows only…


#9

You could try pulling in the PR for CCG 2.3 https://github.com/CasparCG/server/pull/1153 to your current build


#10

@hreinnbeck The batch commands in the NRK fork works like a charm. Had to reinsall my server to windows…