Maximum output universes Artnet or E1.31 and auto patch

434 views
Skip to first unread message

Benjamin PETIT

unread,
Oct 8, 2015, 1:02:05 PM10/8/15
to open-lighting
Hello,

I have a project with 12 [artnet or E1.31] to SPI controllers driving my leds ~30000RGB leds.
I want to use OLA to drive them from a single computer (mac pro) using custom C++ video to artnet program.

My first approach was to use libartnet but the ola wiki suggests OLA for new project.

I tried with OLA and I have no trouble driving 1 device / 1 universe.

For this project I need 170-200 universes to drive all my leds.

I tried to set output ports to 200 in artnet or e131 plugin conf file but they are not showing in the dev_info and get set back to 5.

Is there a limitation? Is it OLA limitation or protocol limitation (that I don't think Artnet 3 is supposed to handle 32K+ universes?) ?

Is there a way to auto-patch a range of port/universe? Something like Range [1-200] universe of artnet get patched to range [1-200] ola universe?

Any suggestions?

Thanks a lot for your help,

Benjamin

Peter Stuge

unread,
Oct 8, 2015, 1:24:27 PM10/8/15
to open-lighting
Benjamin PETIT wrote:
> I have a project with 12 [artnet or E1.31] to SPI controllers driving my
> leds ~30000RGB leds.
> I want to use OLA to drive them from a single computer (mac pro) using
> custom C++ video to artnet program.

For video I'd recommend writing some custom software and perhaps
making some custom SPI controllers.

We made a controller for 71k green LEDs with some PRU code on a
beaglebone black, however with 20 small buffers behind it to
interface with legacy hardware.

Then a small gstreamer program to process frames.

But it all has nothing to do with OLA or DMX or ArtNet, so sorry for
going off-topic. :)


//Peter

Peter Newman

unread,
Oct 8, 2015, 9:38:21 PM10/8/15
to open-lighting
Regarding the OLA functionality, our limit for E1.31 seems to be 128 universes ( https://github.com/OpenLightingProject/ola/blob/master/plugins/e131/E131Plugin.cpp#L204 ). You'll need to stop olad, edit the file and then start olad again; if you edit it while olad is running, it will overwrite it when it shuts down.

Currently OLA only supports four universes IIRC, to remain compliant with the artpoll packets.

You can patch using the API (in any of these languages: https://www.openlighting.org/ola/apis/ ) or using ola_patch ( http://docs.openlighting.org/ola/man/man1/ola_patch.1.html ), so there should be something there you're familar with to automate it.

Andrew Frazer

unread,
Oct 8, 2015, 10:22:40 PM10/8/15
to open-l...@googlegroups.com
Why do we stop at 128? 
--
The Open Lighting Project: open-l...@googlegroups.com, #openlighting (irc.freenode.org)
To unsubscribe from this group, send email to open-lightin...@googlegroups.com
For more options, visit https://groups.google.com/groups/opt_out?hl=en

Simon Newton

unread,
Oct 8, 2015, 10:24:54 PM10/8/15
to open-lighting
TBH no one I know has tested that high. The limit is there as a safety
check to prevent crazy configs.

Simon

Andrew Frazer

unread,
Oct 8, 2015, 10:25:48 PM10/8/15
to open-l...@googlegroups.com
Is that a challenge?

Simon Newton

unread,
Oct 8, 2015, 10:28:15 PM10/8/15
to open-lighting
Of course.


On Thu, Oct 8, 2015 at 7:25 PM, Andrew Frazer

Benjamin PETIT

unread,
Oct 9, 2015, 7:03:12 AM10/9/15
to open-lighting
Thank you all for your replies.

So if I recompile OLA I can get more universes in SACN.

I will be doing some testing publishing to 128 universes even if I just have one node on the other side.

I understand that if I want to optimize latency and framerate I should get a IGMP snooping switch to get the most out of multicast.
- would you recommend a specific switch (16-24 ports) that work well (not too expensive)?
- what kind of configuration do you need to do? I am not a network expert.

How does it work?
- For artnet if I understand well the different nodes publish the universes they specifically handle, put this is limited to 4 nodes/universes?
- For SACN I don't understand how the packet redirection works on the switch. Is it part of the redirection?

Is there a way of doing true unicast in Artnet or Sacn without having multiple network cards? Imagine I have 12 nodes, each of them handling 16 universes without overlap between nodes.
If I know the pairs Node IP / Universes handled, could I just send to each IP the DMX data concerning the correct universes?

Thank you again all for your help. I worked quite a lot on small artnet projects (up to 4 universes) and I thought it would be easier to switch to bigger project.

Benjamin

Simon Newton

unread,
Oct 9, 2015, 9:10:24 PM10/9/15
to open-lighting
On Fri, Oct 9, 2015 at 4:03 AM, Benjamin PETIT <petit.b...@gmail.com> wrote:
> Thank you all for your replies.
>
> So if I recompile OLA I can get more universes in SACN.
>
> I will be doing some testing publishing to 128 universes even if I just have
> one node on the other side.

Let us know what you find out. The last performance numbers we have
are from many years ago.

There is a change we can make to the RPC protocol which would reduce
the number of memory copies.

>
> I understand that if I want to optimize latency and framerate I should get a
> IGMP snooping switch to get the most out of multicast.
> - would you recommend a specific switch (16-24 ports) that work well (not
> too expensive)?
> - what kind of configuration do you need to do? I am not a network expert.

I'll leave others to comment on that.

> How does it work?
> - For artnet if I understand well the different nodes publish the universes
> they specifically handle, put this is limited to 4 nodes/universes?

Correct. A node with 1 IP address can handle up to 4 universes. There
is a trick to support more than 4 but that requires multiple IPs per
node.

The OLA artnet plugin can send up to 16 universes of ArtNet. The
limitation is there because of how we map OLA universes to ArtNet
universes.

> - For SACN I don't understand how the packet redirection works on the
> switch. Is it part of the redirection?

sACN uses multicast: https://en.wikipedia.org/wiki/IP_multicast


>
> Is there a way of doing true unicast in Artnet or Sacn without having
> multiple network cards? Imagine I have 12 nodes, each of them handling 16
> universes without overlap between nodes.
> If I know the pairs Node IP / Universes handled, could I just send to each
> IP the DMX data concerning the correct universes?

Yes. You don't need multiple NICs for that.

Simon


> Thank you again all for your help. I worked quite a lot on small artnet
> projects (up to 4 universes) and I thought it would be easier to switch to
> bigger project.
>
> Benjamin
>

Andrew Frazer

unread,
Oct 9, 2015, 9:12:03 PM10/9/15
to open-l...@googlegroups.com
>>
>> I understand that if I want to optimize latency and framerate I should get a
>> IGMP snooping switch to get the most out of multicast.
>> - would you recommend a specific switch (16-24 ports) that work well (not
>> too expensive)?
>> - what kind of configuration do you need to do? I am not a network expert.
>
> I'll leave others to comment on that.
>

Juniper EX2200-24P. Very capable at dealing with multicast. But there are cheaper options.


Peter Stuge

unread,
Oct 9, 2015, 9:23:09 PM10/9/15
to open-lighting
Benjamin PETIT wrote:
> I understand that if I want to optimize latency and framerate I should
> get a IGMP snooping switch to get the most out of multicast.
> - would you recommend a specific switch (16-24 ports) that work well (not
> too expensive)?

30k LEDs isn't a lot of data so I expect that anything which supports
IGMP will be just fine.

I did IGMP video streaming 15 years ago through a Cisco Catalyst 3524 XL,
which can now be gotten for <20 EUR on eBay. It's already more than
you need, but it's also inefficient by modern standards, and loud.

If you do get one, make sure that it comes with the pale blue console
cable, which you need to change switch settings.


> - what kind of configuration do you need to do? I am not a network expert.

You probably don't need to do much more than enable IGMP, if it's disabled.

Groups are created by the first system that joins them.


> I worked quite a lot on small artnet projects (up to 4 universes)
> and I thought it would be easier to switch to bigger project.

I think it's just not a great fit for your use case.


//Peter

Benjamin PETIT

unread,
Oct 10, 2015, 11:31:23 AM10/10/15
to open-lighting
Thank you all for your help.

I will let you know when I am done with testing such setup.

@Peter: Now I realize it might not be the best option. But I already bought the controllers so I guess I will have to deal with it!

Benjamin

Claudius Zingerli

unread,
Nov 24, 2015, 1:17:16 PM11/24/15
to open-l...@googlegroups.com
On 2015-10-08 19:24, Peter Stuge wrote:
> Benjamin PETIT wrote:
>> I have a project with 12 [artnet or E1.31] to SPI controllers driving my
>> leds ~30000RGB leds.
>> I want to use OLA to drive them from a single computer (mac pro) using
>> custom C++ video to artnet program.
>
> For video I'd recommend writing some custom software and perhaps
> making some custom SPI controllers.
>
> We made a controller for 71k green LEDs with some PRU code on a
> beaglebone black, however with 20 small buffers behind it to
> interface with legacy hardware.
>
> Then a small gstreamer program to process frames.

That's exactly how I did it, too. For a many-pixel Display (>1
Universe), you somehow need to get the synchronization right:
- Use gstreamer with some small plugin to convert video to artnet or
sACN. Should be on the net somewhere
- Use a custom code to output the pixel data. I used multiple embedded
systems, less powerful and more expensive than the BBB. I'm currently
using BBB's PRU for some other real time tasks; so it should be able to
handle lots of pixels, too.
- Synchronization using NTP and trigger outputs at every i-th fraction
of a second (Assuming stuff got buffered, but that's usually the case in
a LAN)

Claudius

Benjamin PETIT

unread,
Dec 28, 2015, 10:48:15 AM12/28/15
to open-lighting
Just a quick follow up to say I had no trouble running about 200 full universes of E.131 sACN with a modified version of ola.
I had to use an IGMP snooping compatible router/switch as I had 12 nodes handling 32 universes of data each.

Maybe it is time to change the empiric universes limits both in e.131 and artnet plugins?

Here is a result in video where I got 12 home made led stip based panels, so about 30K RGB leds.
https://vimeo.com/beamart/lumibus

Thanks again for your help.

Benjamin

Simon Newton

unread,
Dec 28, 2015, 10:51:00 AM12/28/15
to open-lighting
On Mon, Dec 28, 2015 at 7:48 AM, Benjamin PETIT
<petit.b...@gmail.com> wrote:
> Just a quick follow up to say I had no trouble running about 200 full universes of E.131 sACN with a modified version of ola.
> I had to use an IGMP snooping compatible router/switch as I had 12 nodes handling 32 universes of data each.

Out of interest what changes did you make?

>
> Maybe it is time to change the empiric universes limits both in e.131 and artnet plugins?
>
> Here is a result in video where I got 12 home made led stip based panels, so about 30K RGB leds.
> https://vimeo.com/beamart/lumibus
>
> Thanks again for your help.
>
> Benjamin
>

Benjamin PETIT

unread,
Dec 28, 2015, 3:31:25 PM12/28/15
to open-lighting
I just did a pull request with my changes... really minor changes indeed.
https://github.com/OpenLightingProject/ola/pull/995

Regarding the rest of the changes I had to do it was more on the nodes sides and on my switch configuration to have IGMP working nicely and to get good multicast.

Benjamin

Reply all
Reply to author
Forward
0 new messages