Main Index MAIN
INDEX
Search Posts SEARCH
POSTS
Who's Online WHO'S
ONLINE
Log in LOG
IN

Home: Isadora: User Patches, Tips & Tricks:
Syncing Videos Among Multiple Computers

 

 


Mark Coniglio
TroikaTronix / Moderator

May 17, 2007, 4:10 AM

Post #1 of 17 (15411 views)
Shortcut
Syncing Videos Among Multiple Computers Can't Post

Hi All,

I had a question about synchronizing video among multiple computers, which comes up fairly often. So I thought I'd post the answer here.

Best,
Mark

----

There is no functionality in the current version of Isadora that provides tight, real-time synchronization for movies that play over a long period of time (i.e., hours.)

That being said, you can often achieve good sync by doing the following

1) Set up a Movie Player and Projector on each computer. Set the 'visible' input to 'off' in the Movie Player. Also, click on the word 'visible' to open the Inspector; make sure the 'Init' checkbox is ticked.

2) In the same scene, add a 'Video Preload' actor with the 'video low' and 'video high' inputs set to the same movie that will be played by the Movie Player. Connect its trigger input to an Enter Scene Trigger actor, which can be found in Group 7. Click the 'trigger' input on the Video Preload actor to preload the movies now.

3) Finally, on the "slave" computers, add a Listener actor. Set the 'type' input to 'integer' and the the channel to 100. Take the output of this actor and link it to the 'visible' input of the Movie Player.

4) On the "master" computer, add a Net Broadcaster. Set it's channel to 100. Also, add a Trigger Value actor. Set it's value input to "1". Link it's output to the Net Broadcaster input. If the master computer is playing a video too, link the Trigger Value actor's output the 'visible' input on the Movie Player in this scene.

5) Now, click the 'trigger' input of the Trigger Value on the master computer. This sends a '1' to the Listener actors on all the slave computers, which in turn, sets the 'visible' input to "on", and all the movies begin to play.

However, you should not loop the movies and expect them to stay in sync. Apple Computer has indicated to me that the code that performs the looping function is such that there will be unpredictable amounts of delay in looping from the beginning of the movie to the end. If you need to loop material, the sequence is this:

1) Preload the Movies
2) Send message to all using Net Broadcaster to start playing
3) Use "loop end' trigger from one machine to repeat starting from Step 1

This of course assumes that all movies are of the same length. If not, you'd have to use the 'loop end' trigger from the Movie Player playing the longest movie.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Mark Coniglio / TroikaTronix
Creator of Isadora


michel
User


May 17, 2007, 4:24 PM

Post #2 of 17 (15401 views)
Shortcut
Re: [Mark Coniglio] Syncing Videos Among Multiple Computers [In reply to] Can't Post

The solution below is only working well for me with "foto JPEG" and just for Video NOT for Sound.
--------------------------

Hello together

Isn't it easier to sync video the following way?:

1. On the master computer: Connect the position output of the "Movie Player" actor to the value input of the "Net Broadcaster" actor.

2. On the slave computer: Connect the value output of the "Listener" actor to the position input of the "Movie Player" actor, set the "type" of the "Listener" to "float".

If the master computer is used to send the video to stage as well and the slave computers should show a delay, use the "Video Delay" actor on the master computer. 1 frame should do more than enough.
If the video has sound just let the master computer send the sound and set the volume to 0 on the rest. The movies must have the same length, it even works in loop mode.

See the screenshot attached. Top actors "master" bottom actors "slave".

Any difficulties on this setup I am not thinking of?

Michel

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten

(This post was edited by michel on Jun 19, 2007, 8:06 AM)
Attachments: Sync.png (62.8 KB)


c.sinatti
Novice


May 18, 2007, 1:45 AM

Post #3 of 17 (15393 views)
Shortcut
Re: [michel] Syncing Videos Among Multiple Computers [In reply to] Can't Post

and what is the safest way to connect the computers?
______________________________________
http://www.claudiosinatti.com
http://www.claudiosinatti.com/blog
http://www.myspace.com/claudiosinatti
http://www.youtube.com/claudiosinatti
http://www.symbiosisorchestra.com
http://www.pirandelo.org


michel
User


May 18, 2007, 2:26 AM

Post #4 of 17 (15391 views)
Shortcut
Re: [c.sinatti] Syncing Videos Among Multiple Computers [In reply to] Can't Post

I would say with an ethernet cable it's the safest way, but I didn't have any problems doing it over a wireless connection.

Michel

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten


hal
Novice


May 21, 2007, 9:05 AM

Post #5 of 17 (15333 views)
Shortcut
Re: [michel] Syncing Videos Among Multiple Computers [In reply to] Can't Post

Regarding Connection:
I have had many problems with WIFI. It worked fine in the office, but in a theater, (and with the wireless computers being moved around the stage) I had a LOT of lost packets. Both OSC and the Net Broadcaster use UDP which has no error correction, so a lost packet would be gone forever. I had to build a little error correction via an AKK from the on stage PC to make sure the message was sent.

That meant that in those cases the video would be just a little out of sync, but it was as good As I could get.
But like I said in a "clean" RF environment WIFI seemed great, however I would recommend an Ethernet switch if at all possible.


Regarding sending the position output of a movie player to a remote movie player position. It's a good idea but did it actualy work of you?
In fact I was not even able to sync two videos on the same computer using this method.
And note that the videos must be exactly the same number of frames for this to work.
However when I have tried this, besides the 1 frame-ish delay I also had very bad playback on the "slave" computers/movie players. This could be due to the movie player trying to random access frames, even if they tend to be sequential frames. However I think there may also be a problem with value scaling, I find that the 0 - 100 value for position is not good for frame accurate positioning. Even at .001 that's 10,000 frames, if I have a 24fps video that is only a 7 minute video, and I believe rounding issues make it fail much sooner than 7 minuet clips. (or 5.5minues for 30fps)

to verify this try and get the last frame of the video by inputing a position of 100% it will probably miss and give you one of the last few frames.


I know the auto scaling and 0-100 is the Isadora way, and makes things easy most of the time, but it makes it really hard sometimes.
--
Hal Eagar - Media Effects Artist http://haleagar.com
Director - Digital Performance Institute http://digitalperformance.org
DPI-office 646 442 4435 | Hal-cell 917 257 8440


michel
User


May 21, 2007, 9:34 AM

Post #6 of 17 (15330 views)
Shortcut
Re: [hal] Syncing Videos Among Multiple Computers [In reply to] Can't Post

Hello hal

I think it helps using the Photo JPEG codec with that one I didn't have any problems, except for the sound on the slave computers, but I don't need them. And yes, the movies have to have exactly the same number of frames. I work in a theater too and the 4 slave computers (G5 Quad) are right next to each other. During rehearsal I am somewhere on stage but during the show I just sit 5 meters next to the slave computers with the MacBook Pro as master.

During the show I would recommend Ethernet as well.

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten


Mark Coniglio
TroikaTronix / Moderator

May 22, 2007, 5:03 AM

Post #7 of 17 (15317 views)
Shortcut
Re: [michel] Syncing Videos Among Multiple Computers [In reply to] Can't Post

FYI: Using the position output to sync two movies is not a good idea. When you send a number into the 'position' input, it actually makes the movie "jump" to that place. This is very ineffecient, and is bound to give poor results.

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Mark Coniglio / TroikaTronix
Creator of Isadora


michel
User


May 22, 2007, 11:34 AM

Post #8 of 17 (15300 views)
Shortcut
Re: [Mark Coniglio] Syncing Videos Among Multiple Computers [In reply to] Can't Post

Hello Mark

I know, syncing a movie this way is not optimal, but with my settings described in the previous post, I really don't have any problems, the movie plays smooth, but NOT the sound.
Never used this setup for a show yet, but I tested it in real.

On the other hand, the setup above is very useful for syncing a second computer that is just used for backup. So if the master computer crashes, I just switch, in our case 4x4 DVI matrix switch, from one computer to the other over a serial command and the show goes on from the same position, of course with a little break depending on my reaction.

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten

(This post was edited by michel on Jun 20, 2007, 11:42 PM)


michel
User


Jun 21, 2007, 8:08 AM

Post #9 of 17 (14764 views)
Shortcut
Re: [Mark Coniglio] Syncing Videos Among Multiple Computers [In reply to] Can't Post

I tried out Marks tips for syncing video among multiple computers, here are my experiences.

I used a DV PAL movie (720x576) exactly 30 minutes long, the timecode is visible through the total length of the movie, the file about 6.5 GB in size.

1x MacBook Pro 15,4" 1,83 GHz Core Duo, 2GB RAM (Master)
4x PowerMac G5 Quad, 5GB RAM, NVIDIA GeForce 7800 GT 256MB (Slaves)

The output of each computer on a 4" LCD display.

While the movies where playing I made several fotos of all four LCD displays and compared the time code displayed. In that half hour there was a maximum difference of 3 frames between the 4 movies. After 10 minutes there was a difference of 2 frames and after 15 minutes there was no difference, so it changed +- during 30 minutes.

Hope it helps someone out there.

Michel

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten


michel
User


Jun 25, 2007, 9:05 AM

Post #10 of 17 (14720 views)
Shortcut
Re: [Mark Coniglio] Syncing Videos Among Multiple Computers [In reply to] Can't Post

I have a new idea to sync videos on multiple computers.

It works great syncing different movies on the same computer.

I use three "compare" actors.
- The first one I use to compare if the position of the master and the slave movie player are equal. If yes, it sends the value "1" to the speed input of the slave player.
- The second one checks if the value of the master is "lower than" the slave. If yes, it sends the value "0.999" to the speed input of the slave.
- The third one checks if the value of the master is "greater than" the slave. If yes, it sends the value "1.001" to the speed input of the slave.

To compare the positions of the players every frame (25x/sec for PAL) I use the "Pulse Generator" and the "gate" actor.


Like I said, on the same computer it works great, maximum 1 frame out of sync. But the range of frames getting out of sync over multiple computers are also between 0 to 3 Frames, like Mark's tip.
I did just try it over wireless network maybe wired would be better.

I attached a user actor I built for this, maybe someone can play around with it test it and get new Ideas to improve this idea.

definitions for the user actor:
- Check/Sec - Number of times the values get compared
- MasterPos - Input for the position value of the master
- SlavePos - Input for the position value of the slave
- SyncSpeedSlave - Output for controlling the speed of the slave movie player

You need Isadora 1.2.7

Would be happy on feedback.

Michel

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten

(This post was edited by michel on Jun 25, 2007, 3:22 PM)
Attachments: SyncVideo.iua.zip (1.84 KB)


Mark Coniglio
TroikaTronix / Moderator

Jun 25, 2007, 9:50 AM

Post #11 of 17 (14717 views)
Shortcut
Re: [michel] Syncing Videos Among Multiple Computers [In reply to] Can't Post

This is a very clever solution, and similar to one I implemented in another piece of software. (The idea was was based on how 24 track audio tape recorders, used in my younger days, achieve sync.)

I look forward to taking a look at the User Actor!

Best,
Mark

- - - - - - - - - - - - - - - - - - - - - - - - - - - - -

Mark Coniglio / TroikaTronix
Creator of Isadora


skulpture
User


Jun 28, 2007, 11:37 AM

Post #12 of 17 (14529 views)
Shortcut
Re: [Mark Coniglio] Syncing Videos Among Multiple Computers [In reply to] Can't Post

I agree very clever! I know it sounds daft but there are so so many things you can do with all these user patches and workings its just putting them to good use! I hate it when you get an idea into you're head and then cant do a simple task like "syncing". Crazy Its all good fun hey! Cool


An instant without duration....

www.grahamthorne.co.uk


fubbi
Novice


Jun 18, 2008, 4:26 AM

Post #13 of 17 (12443 views)
Shortcut
Re: [michel] Syncing Videos Among Multiple Computers [In reply to] Can't Post


In Reply To
1x MacBook Pro 15,4" 1,83 GHz Core Duo, 2GB RAM (Master)
4x PowerMac G5 Quad, 5GB RAM, NVIDIA GeForce 7800 GT 256MB (Slaves)

The output of each computer on a 4" LCD display.

Michel


Michel is a jolly dragon who sleeps on a huge pile of kick-ass gear.


michel
User


Jun 18, 2008, 1:55 PM

Post #14 of 17 (12397 views)
Shortcut
Re: [fubbi] Syncing Videos Among Multiple Computers [In reply to] Can't Post

eheehmm..... I know that I'm spoiled, and I normally get what I would like to have. In 2 or 3 months the mentioned gear is history.

The future is:
6 x
8-core: 2 x 3.2GHz QuadCore Intel Xeon / 8GB RAM / NVIDIA GeForce 8800 GT 512MB GDDR3
and
6 x Matrox TrippleHead2Go Digital

Sorry for bragging, for not sharing and being so selfish.

Michel

PS: And I'm not always sleeping, just very often. :)

----------------------------------------------------------------------------
"It happens every day: information overload! Time for a reboot..."
(traditional haiku poem)

film:projekt ------------------- autodidakten

(This post was edited by michel on Jun 18, 2008, 1:59 PM)


ZED
Novice

Jun 19, 2008, 5:42 AM

Post #15 of 17 (12348 views)
Shortcut
Re: [michel] Syncing Videos Among Multiple Computers [In reply to] Can't Post

I think, I will rob your theatre next week when I'm in zurich…Tongue


skulpture
User


Jul 12, 2008, 11:54 AM

Post #16 of 17 (9229 views)
Shortcut
Re: [michel] Syncing Videos Among Multiple Computers [In reply to] Can't Post


In Reply To

The future is:
6 x
8-core: 2 x 3.2GHz QuadCore Intel Xeon / 8GB RAM / NVIDIA GeForce 8800 GT 512MB GDDR3
and
6 x Matrox TrippleHead2Go Digital

Sorry for bragging, for not sharing and being so selfish.

Michel

PS: And I'm not always sleeping, just very often. :)


Bloody Hell thats a lot of gear!


An instant without duration....

www.grahamthorne.co.uk


Mixed Ape
Novice

Aug 23, 2008, 11:01 AM

Post #17 of 17 (3864 views)
Shortcut
Re: [michel] Syncing Videos Among Multiple Computers [In reply to] Can't Post


In Reply To
eheehmm..... I know that I'm spoiled, and I normally get what I would like to have. In 2 or 3 months the mentioned gear is history.

The future is:
6 x
8-core: 2 x 3.2GHz QuadCore Intel Xeon / 8GB RAM / NVIDIA GeForce 8800 GT 512MB GDDR3
and
6 x Matrox TrippleHead2Go Digital


I'm in dream land right now


Mixed Ape Blog

(This post was edited by Mixed Ape on Aug 23, 2008, 12:51 PM)

 
 
 


Search for (options) copyright © TroikaTronix 2007