Hey ,
So the best way to synchronize 2 external sources would be to compare timestamps (Unreal has the ability to do this with LiveLink sources now). However, Given your current hardware configuration I would suggest buffering the pose from the Vive trackers in an array of transforms and then using the closest pose to your incoming image (You will likely need to interpolate between poses due to frame rate misalignment).