These days online presentations have become more important than ever. For preparation of advanced video presentations, OBS is a very powerful tool. You can, for example, use it to mix a camera view of the speaker into a PowerPoint presentation.
Scott Hanselman created a very interesting tool named „PowerPointToOBSSceneSwitcher“ which allows you to automatically change OBS scenes under control of the PowerPoint presentation. This makes it possible to adapt the video image according to the structure of the currently displayed PowerPoint slide, without having to change anything manually in OBS during the presentation.
I was really fascinated by his solution and tried to get it running on my machine using the sources he provides on Github.
His little program establishes a websocket connection to OBS (via the OBS websocket plugin), and connects to PowerPoint using Microsoft’s Primary Interop Assembly. When it detects a slide switch, it checks the comment field of the slide. If that contains a string like „OBS:Scene Name“, it sends a scene switch request to OBS. Done.
Unfortunately, I was unable to get that program working on a 64bit Windows 10 running a 32bit Office 2010, though I tried hard and spent a few hours. Finally I gave up and thought about an alternative implementation. And this is what I did:
I took this PPT autoevents addin. It is old, but still works, even on Windows 10. It allows me to trigger a VBA macro every time the slideshow moves to the next slide. Similarly to Scott’s solution, in that macro I look into the slide’s comment, and if it starts with „OBS:“ I send a scene change request via „Shell“ and the command line client „OBSCommand.exe“ which implements a connection to the OBS websocket server.
I have to admit that this isn’t as elaborate as Scott’s implementation, but basically it achieves the same effect and seems to be considerably less influenced by version incompatiblities.
Thank’s to Scott for the inspiration!