User Tools

Site Tools


tricks:sacn_unicast

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
tricks:sacn_unicast [2022/05/24 12:56] icke_siegentricks:sacn_unicast [2022/05/25 06:02] (current) – [sACN to sACN, multicast to unicast] icke_siegen
Line 15: Line 15:
 //(Please excuse this very simplistic explanation. I greatly encourage you to read more on this, and there are plenty of websites dedicated to introducing you to network computing. But for the purpose of this article this might suffice.)// //(Please excuse this very simplistic explanation. I greatly encourage you to read more on this, and there are plenty of websites dedicated to introducing you to network computing. But for the purpose of this article this might suffice.)//
  
-Avolites Titan at the moment (Titan v15, 2022) sends sACN only as Multicast (automatically falling back to Broadcast if bo IGMP capable switch is present). While it has been requested to implement sACN unicast into Titan a solution is required to circumvent this for the time being.+Avolites Titan at the moment (Titan v15, 2022) sends sACN only as Multicast (automatically falling back to Broadcast if no IGMP capable switch is present). While it has been requested to implement sACN unicast into Titan a solution is required to circumvent this for the time being.
  
 ---- ----
Line 22: Line 22:
  
 ... and along comes MIDIMonster. Available at https://midimonster.net this is something like the Swiss Army Knife for lighting protocols. It is a lightweight console application, available for Windows, Linux and OSX, where you simply write a configuration as a text file and then start the program. This comes at the extra benefit that you don't need drivers, nothing being installed, and this can even be run from a USB thumbdrive. ... and along comes MIDIMonster. Available at https://midimonster.net this is something like the Swiss Army Knife for lighting protocols. It is a lightweight console application, available for Windows, Linux and OSX, where you simply write a configuration as a text file and then start the program. This comes at the extra benefit that you don't need drivers, nothing being installed, and this can even be run from a USB thumbdrive.
 +
 +If you download MIDIMonster from the above link, start it, and get this message 
 +
 +''Failed to load plugin backends\lua.dll, check that all supporting libraries are present...''
 +
 +then you find [[https://github.com/cbdevnet/midimonster/issues/71|the solution here]], download [[https://sourceforge.net/projects/luabinaries/files/5.3.5/Windows%20Libraries/Dynamic/lua-5.3.5_Win64_dllw6_lib.zip/download|LUA binaries here]], unzip it, and copy the file ''lua53.dll'' into MIDIMonster's main folder.
 +
 +In order to run it you simply doubleclick ''midimonster.exe'' in which case it loads its settings from the file ''monster.cfg''. Subsequently you can either edit this directly with a text editor, or you write your own file with a different name and drop it onto midimonster.exe in order to start it with your configuration.
  
 {{:tricks:midimonster_console.png?400|}} {{:tricks:midimonster_console.png?400|}}
Line 31: Line 39:
 ===== sACN to sACN, multicast to unicast ===== ===== sACN to sACN, multicast to unicast =====
  
-Network sctructure:+Network structure:
  
 {{:tricks:sacn_1.png?600|}} {{:tricks:sacn_1.png?600|}}
Line 59: Line 67:
 </code> </code>
  
-An example file for mapping 4 universes {{ :tricks:monster_artnet.cfg |is attached here}}.+An example file for mapping 4 universes {{ :tricks:monster_sacn.cfg |is attached here}}.
  
 All you need to do is adjust this to your needs (in and out universes, target network addresses, maybe more mappings etc.), save this as monster.cfg (or drop this on midimonster.exe, or call it like this: ''midimonster <path/to/configfile.cfg>'' (personally I prefer saving this as monster.cfg as I can simply doubleclick midimonster.exe). All you need to do is adjust this to your needs (in and out universes, target network addresses, maybe more mappings etc.), save this as monster.cfg (or drop this on midimonster.exe, or call it like this: ''midimonster <path/to/configfile.cfg>'' (personally I prefer saving this as monster.cfg as I can simply doubleclick midimonster.exe).
Line 65: Line 73:
 Hints: Hints:
   * midimonster takes very low processing power (at least in my tests with 4 universes converted)   * midimonster takes very low processing power (at least in my tests with 4 universes converted)
-  * at least in my tests it was not possible to make this work with MIDIMonster directly on the console: it does run but doesn't output as required - the nodes see the universes but there is no data. I believe it is not possible to have two applications on the same machine which both attempt to send to the same port, and one also listens to the other.+  * at least in my tests it was not possible to make this scenario work with MIDIMonster directly on the console: it does run but doesn't output as required - the nodes see the universes but there is no data. I believe it is not possible to have two applications on the same machine which both attempt to send to the same port, and one also listens to the other.
   * make sure that all network addresses are correct, and that firewalls are off or have the required rules set.   * make sure that all network addresses are correct, and that firewalls are off or have the required rules set.
  
Line 83: Line 91:
  
 <code ini monster.cfg> <code ini monster.cfg>
-; This configuration maps Art-Net Broadcast universe 0 to sACN Unicast universe 1+; This configuration maps Art-Net universe 0 to sACN universe 11, Unicast, to node 2.0.0.100 
 +; In order to run on the same computer as Titan Art-Net needs to be sent as broadcast.
  
 [backend sacn] [backend sacn]
Line 89: Line 98:
 detect = verbose detect = verbose
  
-[sacn in1+[backend artnet
-universe 1 +bind 0.0.0.0 
-[sacn in2] +detect verbose 
-universe 2 + 
-[sacn in3+[artnet in1
-universe +net 0 
-[sacn in4] +universe = 0
-universe = 4+
  
 [sacn out1] [sacn out1]
 universe = 11 universe = 11
-priority = 100 
-destination = 2.0.0.100 
-unicast = 1 
-[sacn out2] 
-universe = 12 
-priority = 100 
-destination = 2.0.0.100 
-unicast = 1 
-[sacn out3] 
-universe = 13 
-priority = 100 
-destination = 2.0.0.100 
-unicast = 1 
-[sacn out4] 
-universe = 14 
 priority = 100 priority = 100
 destination = 2.0.0.100 destination = 2.0.0.100
Line 120: Line 113:
  
 [map] [map]
- 
 in1.{1..512} > out1.{1..512} in1.{1..512} > out1.{1..512}
-in2.{1..512} > out2.{1..512} 
-in3.{1..512} > out3.{1..512} 
-in4.{1..512} > out4.{1..512} 
 </code>  </code> 
  
 +An example file for mapping 4 universes {{ :tricks:monster_artnet.cfg |is attached here}}.
 +
 +All you need to do is adjust this to your needs (in and out universes, target network addresses, maybe more mappings etc.), save this as monster.cfg (or drop this on midimonster.exe, or call it like this: ''midimonster <path/to/configfile.cfg>'' (personally I prefer saving this as monster.cfg as I can simply doubleclick midimonster.exe).
 +
 +Hints:
 +  * midimonster takes very low processing power (at least in my tests with 4 universes converted)
 +  * make sure that all network addresses are correct, and that firewalls are off or have the required rules set.
 +  * running anything else on the same computer Titan runs on is greatly discouraged for the Titan PC Suite, let alone for Avolites Titan consoles. 
 +  * if you need this on your console frequently then you might consider [[tricks:taskscheduler|starting this automatically when the system starts]].
 +
 +----
 +
 +===== Trivia =====
 +
 +==== Picture: my test drive ====
 +
 +Yes, I really did try this with some computers (and Wireshark and sACN View - and the network switch is in the middle...)
 +
 +{{:tricks:sacn_testing.png?600|}}
 +
 +==== Video: another test, on a D9 ====
 +
 +And yes, I also tried running this directly on a console (and made one of those shaky videos with my mobile phone):
 +
 +{{youtube>35oClm_2i9Y?medium}}
 +
 +==== Wireshark screenshots ====
 +
 +This is an example of how the sACN network traffic looks in wireshark:
 +
 +{{:tricks:wireshark.png?600|}}
 +
 +Network addresses in this example (port 5568 is sACN):
 +
 +  2.0.0.1 - Titan PC Suite
 +  2.0.0.10 - MIDIMonster
 +  2.0.0.50 - the 'client' to the left (sACN View)
 +  2.0.0.100 - the 'client' to the right (sACN View)
 +  
 +  239.255.0.1, 239.255.0.2, 239.255.0.3, 239.255.0.4 are the automatically generated multicast addresses.
 +  Packets from 2.0.0.1 to 239.255.0.1/2/3/4 are the multicast sACN sent from Titan.
 +  Packets from 2.0.0.10 to 2.0.0.100 or 2.0.0.50 are the unicast sACN from MIDIMonster to the 'clients'.''
 +  
 +This is an example of how the mixed Art-Nt/sACN network traffic looks like in wireshark:
 +
 +{{:tricks:wireshark_artnet.png?600|}}
 +
 +Network addresses in this example (port 5568 is sACN, port 4809 is Art-Net):
 +
 +  2.0.0.1 - Titan PC Suite and MIDIMonster
 +  2.0.0.10 - the 'client' in the middle (sACN View)
 +  2.0.0.50 - the 'client' to the left (sACN View) (no packets to this screnshot)
 +  2.0.0.100 - the 'client' to the right (sACN View) (no packets to this screnshot)
 +  
 +  Packets from 2.0.0.1 to 255.255.255.255 are the broadcast Art-Net sent from Titan.
 +  Packets from 2.0.0.1 to (3.g.) 2.0.0.10 or 2.0.0.50 are the unicast sACN from MIDIMonster to the 'clients'.''
 +
 +Btw. 224.0.0.180 is another special auto-generated address which is used by CITP...
 +
 +==== Another idea: Raspberry Pi ====
  
 +And very finally: [[https://midimonster.net/download.html|MIDIMonster]] is available for Windows, for OSX, and for Linux. Of course the next idea would be to run this on a Raspberry Pi. But this is probably something for someone else to do. Please let me know if you want to go down this route :-) .
tricks/sacn_unicast.1653396993.txt.gz · Last modified: 2022/05/24 12:56 (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki