changing a property of one instance of VideoCapture has no effect on other instances of VideoCapture.
it shouldn’t matter from which thread the object’s property is changed. if it does, that would be a bug.
I don’t know if VideoCapture is thread-safe. as long as an instance is only used from one thread at a time, all should be good.
VideoCapture of a video file never drops frames. a buffer size has no meaning in this situation. the implementation either decodes on demand, or keeps a small buffer for performance reasons.