I’m building an app that will load in a couple of local video files and allow me to assign keyframes along a timeline that will trigger commands to be sent out to another machine over serial. It’s critical that playback of the videos and the timeline of keyframes are in sync.
Imagine an After Effects type interface with a couple of video preview windows and a timeline of keyframes that would invoke a function when the playhead moves over them.
My question is how would you guys go about sending two video streams to a couple of projectors while ensuring that playback of the videos and the timeline in the app stay in sync?
I did a little research and it sounds like ofxSyphon might be a good candidate for this where my oF app is the syphon server and another tool (like vdmx) is the client responsible for sending the video feeds to the correct projector?
Perhaps there is a simpler way that doesn’t rely on third party tools?
Any advice would be warmly appreciated.
A. If you have two machines with two videos and third machine controlled over the serial, maybe ofxNetworkSync ?
B. Not sure, what is your hardware setup. But you can use one wide video (made from your two local videos VIDEO1+VIDEO2) and output it to two projectors from one computer. You won’t have to sync it programmatically at all.
C. If you are using two videos on one computer And two projectors are coming also from one computer you can try assigning current frame of one video to the other, but this may output buggy results if videos have different properties. I understand that serial communication has nothing to do with video sync?
Syphon is cloning the stream, so it’s probably not what you are looking for.
Also if you would explain in more details what do you want to achieve it would be more easier to suggest different solutions to solve your problem. Some code would help to understand you more as well.
Also “timeline of keyframes” is not very clear. Ho do you plan to trigger serial commands on particular keyframe?
@barelief Many thanks for your response. I think I’ve got a solution worked out.