I'm prepping for some upcoming education sessions and I ran into issue needing multiple NDI video streams out of my mac applications and so I need a way to overcome the limitation to one single feed of the NewTek NDI Scan Converter App.
If you stream live from your PC, for Videoconferencing, teaching or gaming, you might already know the free NDI tools from NewTek and the great addition they can be to OBS.
Check NewTek Ndi Tools Download here
This quick post is to showcase how to allow multiple instances of Newtek scan converter to run on Mac. You can then have multiple apps, broadcasted as multiple NDI streams. In the screenshot above you can see 3 NDI feeds, one from an iPhone Cam, one from a Terminal and one from 3D Heavens benchmark, all displayed at once in OBS.
While It's easy to spawn more than one Scan Converter App (open -n command line), the NDI stream name is hard coded to "Scan Converter" and therefore the two instances outputs are conflicting (and only one is showing)
So I came up with the following procedure to make things working:
- Duplicate NewTek NDI Scan Converter app and rename it to whatever you like (for me bellow Hacked Scan Converter)
You will need a binary editor, you can get Hex Friend
- Open then App package and look for the app binary: ->Contents->MacOS->NewTek NDI Scan Converter
- Open it with HexFiend and search for the Hex sequence : "53 63 61 6E 20 43 6F 6E 76 65 72 74 65 72 00 61 70 70 6C 69 63 61 74 69 6F 6E 4E 61 6D 65" (which is Scan Converter/00applicationName ). This is the string that is used for the NDI stream name.
- Change Scan Converter to something like Hacked Scan 01 (It has to be the exact same length)
As we've modified the app, the app signature is now invalid so we'll just get rid of it with:
- codesign --remove-signature '/Applications/hacked Scan Converter.app'
Now we have to change the bundle info so that both app wont interfere in security settings
- edit /Applications/Hacked Scan Converter.app/Contents/Info.plist and change * CFBundleName* and CFBundleIdentifier values to reflect new name:
<key>CFBundleName</key> <string>Hacked NDI Scan Converter</string> <key>CFBundleIdentifier</key> <string>com.hacked.Application-Mac-NDI-ScanConverter</string>
- Start both apps and make sure they have the right permissions in Security->Privacy->Screen Recording settings
You should now see Scan Converter and Hacked Scan 01 NDI sources available in NDI Monitor or other NDI apps.
You can repeat the steps above changing the names if you need more than 2 NDI Scan converter app streams simultaneously...
Top comments (1)
Can this be done with the Virtual Input application as well??