Running 5 computers -- 5 different videos -- on PC's
Posted: May 10th, 2015, 10:37 pm
I just purchased ArraySync. I have been using MultiScreener developed by Zach Poff since 2010. I had his MAC-based program ported to PC for XP and W7. It works great... to a point, and I thought I would try your system to make some comparisons.
There seems to be a point where keeping multiple computers in sync starts to break down. Poff admits to this problem and says he can't do much until MAX/MSP becomes more efficient.
I'd like to know if you suggest sticking to some of the same production protocols.
1) All video files should be shot in identical container formats, preferably motion jpeg (.mov), and all subsequent generations should stay in that format. I switched from .avi to .mov for this reason. Original footage is 1280 x 720p 30 fps. Only three generations are made (original, edit, and compression), and the aspect ration is reduced to 740 x 480 in the last generation to reduce file size.
2) Avoid temporal compression codecs. Use spatial compression instead, e.g. ProRes. The timescale of all videos should be identical. After ProRes compression, mine show a timescale of 1,000. I don't know if that high or not. The second generation video files rendered after editing show a timescale of 600, but they are also 20 gig in length, each.
3) Computers should be tied with wired (not wireless) connections. I use a 10/100 switch rather than a router with ethernet cables.
4) All videos should be identical in length and frame count. It just makes life easier. There is usually no audio on any of the video files. If there is audio, it comes from only the master/server computer file.
5) In my case, 4 computers chase one master/server. Each computer must have its own, unique IP address on the LAN network.
6) All firewalls off, and Windows 7 has plenty.
7) Installation of Java is required. And not all versions of Java work on the different versions of XP, W7 Pro and W7 Ultimate.
With 5 computers, I started having random hiccups trying to hold everything in sync. Once the started, the program runs continuously through to the end. No looping. When playback sync of the 5 computers started getting "iffy," I first tried adding more RAM. That seemed to help a little on the older PC's running on XP (version 3) ... to a point. Then I switched to all dual core or quad core computers using 32-bit W7, and that seemed to help, a little. My latest add was a PC using two i7 processors in quad core configuration. And still intermittent, little hiccups would appear in the sync.
I started questioning the cables? Do ethernet cable often cause these kinds of problems? Are we to the point where the ethernet cables have to be exactly the same length?
Should the faster computers, i.e. the ones with bigger CPUs and the most memory, be clients or servers? Would that make a difference?
The videos are approximately 8 minutes in length, and they might play back perfectly in sync for one pas, but then mess up at different points during the next 3 passes.
Eventually, all the computers will resync to the master after just a few seconds, but I have to have rock-solid, continuous sync during playback. I'm using standard SMPTE time code to sync 30 fps video. I keep going back 20 years to analog video, when synchronizing multiple machines using tape and SMPTE time code was a very common, highly perfected practice. So I'm baffled by the difficulty of synchronizing video play-back on multiple computers.
I noticed your blog about problems with W7 and I thought I would ask ahead of time if you have had any more insight into the two problems mentioned. Since W7 is no longer available, it now occupies the same place that XP used to, i.e. being the most stable OS currently available for the PC user.
If you have any suggestions I'd really like to hear them. I apologize for writing such an lengthy post, but I've been down this trail many times over the past 5 years.
There seems to be a point where keeping multiple computers in sync starts to break down. Poff admits to this problem and says he can't do much until MAX/MSP becomes more efficient.
I'd like to know if you suggest sticking to some of the same production protocols.
1) All video files should be shot in identical container formats, preferably motion jpeg (.mov), and all subsequent generations should stay in that format. I switched from .avi to .mov for this reason. Original footage is 1280 x 720p 30 fps. Only three generations are made (original, edit, and compression), and the aspect ration is reduced to 740 x 480 in the last generation to reduce file size.
2) Avoid temporal compression codecs. Use spatial compression instead, e.g. ProRes. The timescale of all videos should be identical. After ProRes compression, mine show a timescale of 1,000. I don't know if that high or not. The second generation video files rendered after editing show a timescale of 600, but they are also 20 gig in length, each.
3) Computers should be tied with wired (not wireless) connections. I use a 10/100 switch rather than a router with ethernet cables.
4) All videos should be identical in length and frame count. It just makes life easier. There is usually no audio on any of the video files. If there is audio, it comes from only the master/server computer file.
5) In my case, 4 computers chase one master/server. Each computer must have its own, unique IP address on the LAN network.
6) All firewalls off, and Windows 7 has plenty.
7) Installation of Java is required. And not all versions of Java work on the different versions of XP, W7 Pro and W7 Ultimate.
With 5 computers, I started having random hiccups trying to hold everything in sync. Once the started, the program runs continuously through to the end. No looping. When playback sync of the 5 computers started getting "iffy," I first tried adding more RAM. That seemed to help a little on the older PC's running on XP (version 3) ... to a point. Then I switched to all dual core or quad core computers using 32-bit W7, and that seemed to help, a little. My latest add was a PC using two i7 processors in quad core configuration. And still intermittent, little hiccups would appear in the sync.
I started questioning the cables? Do ethernet cable often cause these kinds of problems? Are we to the point where the ethernet cables have to be exactly the same length?
Should the faster computers, i.e. the ones with bigger CPUs and the most memory, be clients or servers? Would that make a difference?
The videos are approximately 8 minutes in length, and they might play back perfectly in sync for one pas, but then mess up at different points during the next 3 passes.
Eventually, all the computers will resync to the master after just a few seconds, but I have to have rock-solid, continuous sync during playback. I'm using standard SMPTE time code to sync 30 fps video. I keep going back 20 years to analog video, when synchronizing multiple machines using tape and SMPTE time code was a very common, highly perfected practice. So I'm baffled by the difficulty of synchronizing video play-back on multiple computers.
I noticed your blog about problems with W7 and I thought I would ask ahead of time if you have had any more insight into the two problems mentioned. Since W7 is no longer available, it now occupies the same place that XP used to, i.e. being the most stable OS currently available for the PC user.
If you have any suggestions I'd really like to hear them. I apologize for writing such an lengthy post, but I've been down this trail many times over the past 5 years.