Videos in boygroup

hi all,

maybe it’s described somewhere on this site and i just didn’t find it. but what i would like to know is how precise the synchronization between multiple machines in a boygroup really is, because isn’t it fact, that actually the peformance/framerate of each machine is determined internally? (windows based?) so i can’t imagine that single frames (e.g. of a video which should be shown on multiple machines simultanously) are synchronized, but just the play/stop commands sent out by the server. or is it possible to synchronize a video by requesting the actual frame postion on each client? if not, are there any methods you can recommend to get the best results (especially for videos in a boygroup)?
so many questions…

best regards

I’ve been wondering about this too, I did think about sychronising the system clocks then sending frame no. and time stamp to resynch the clients or lfo’s, but still havent got further than thinking about it, havent needed to yet, but it would be a usefull thing!
Trouble is the network delay and the frames dropping on each machine! If you try let me know how you get on!

Cat

this is a huge and involved topic:

just a couple of pointers to this issue:

first: vvvv just synchronizes the start of the videos, not the actual frame playback.
actually this not as bad as you might think: while windows is usually not good at not dropping frames, it actually manages the playback speed of the video quite well and tightly binds the playback on the internal quarz oscillator of the sound card.
the movies will drift only so much as the quarz of the machine does, which is usually not a problem for clips playing only for a few minutes, and as long as all machines have the same temperature.

lfos and dampers in comparison are bound to the processor quarz of the machine. this is usually more precise, but actually a different device.

skipping frames is bad in any case - you should have plenty of ressources free anyway.

there are third party solutions which allow directshow playback synchronizing to the clock of the video card which makes a little more sense for video without audio (Reclock). joreg could clarify if this is supported right out of the box or not.

The boygrouping itself uses udp broadcasts which ensures quite good synchronization between all clients. it makes sense to have the network setup clean and connect everything to one ethernet switch. we developed the node-level boygrouping principle to allow the users to exactly specify the connection in the graph where the data goes over the network: so you can select the connection in the patch where latency and latency jitter matters least and the data rate is lowest.

Note that a real tight integration between different screens would additionally need genlocked graphic cards to have the image generation of grahic card going in sync. without genlock each machines cycles independendent in its frame calculation/frame display loop. modern TFTs and Projectors doesnt show that topic as drastic as CRTs, but you will get an asyncronuous picure redraw.

Vendors still try to call up obscene prices for cards with a genlock input (which is a trivial feature from a technical point of view). so we really didnt liked to try it yet, but in principle it should work without problems. can anybody report on that?

Actually there are many research opportunities and we are looking for someone who likes to really dwelve into that topic. driver development skills and mathematical background would be a definite plus. The are software solutions for linux like SoftGenLock (which seem to work fine) and IEEE1588 seems like the way to go, but things start only to appear.

if ReClock is installed it should appear as device on the AudioOut (DShow9) node. Anyone who tests it please report your findings.

first: vvvv just synchronizes the start of the videos, not the actual frame playback.
to be more precise: start of the videos is not really synced. only the server sends a command to all clients at the same time. there is still an offset given by the different moments the clients receive this command!

The boygrouping itself uses udp broadcasts which ensures quite good >>synchronization between all clients.
Boygroup (Server) actually allows you to chose between TCP and UDP mode. With version 8.1 some pcs may show undefined bahavior when using UDP mode. if so try TCP.

hi

I had some thought about this issue:

  • why not using a midi time code - its possible to send via OSC
    and it should be easy to calculate a sort of jitter to correct
    the speed slightly …
  • you can build a node reading a edit decision list to sent in an out points.
  • and it is synchronised to a whole bunch of other applications too

3 cents
kiilo

there will be a module soon on my modules page to sync looped videos in a boygroup using an UDP connection. at the moment its running quite well in a project here, but my work doesnt gives me the time to make a user friendly version yet. please stay connected …

ok, the module is up now: tonfilm-VideoSync