We're creating a networked video wall with 12 screens. We're trying not to use BrightAuthor because we're working on Macs and we want the ability to easily swap out files. We've successfully used a similar script before, but now things are always a little off. We've updated the firmware on the brightsigns and have tried adjusting the frame rate and codecs, but nothing works. There is always a delay, but it changes from time to time.
Here are the specs:
Units: HD220s
Resolution: 1080p
Video Type: MP4 - H264 - 60FPS
Cables: HDMI
ANY IDEAS? THANKS FOR YOUR HELP.
Here is the master script we are using:
---
' Network Sync Script - MASTER
videoplaylist = "D03-B.mp4"
nc = CreateObject("roNetworkConfiguration", 0)
nc.SetIP4Address("192.168.1.32")
nc.SetIP4Netmask("255.255.255.0")
nc.SetIP4Broadcast("192.168.1.255")
nc.SetIP4Gateway("192.168.1.1")
nc.Apply()
v = CreateObject("roVideoPlayer")
p = CreateObject("roMessagePort")
v.SetPort(p)
mode = CreateObject("roVideoMode")
mode.SetMode("1920x1080x60p")
v.SetLoopMode(false)
ao = CreateObject("roAudioOutput", "Analog")
v.SetPcmAudioOutputs(ao)
v.SetVolume(0)
sender = CreateObject("roDatagramSender")
sender.SetDestination("255.255.255.255", 11111)
sync_the_videos:
sender.Send("pl")
v.PreloadFile(videoplaylist)
sleep(5000)
sender.Send("go")
v.Play()
goto listen
listen:
msg = wait(0, p)
if type(msg) = "roVideoEvent" and msg.GetInt() = 8 then
sleep(5000)
goto sync_the_videos
endif
goto listen
while true
sleep(10000)
end while
---
Here is the slave script we are using:
---
' Network Sync Script - FOLLOWER
videoplaylist = "D03-C.mp4"
nc = CreateObject("roNetworkConfiguration", 0)
nc.SetIP4Address("192.168.1.33")
nc.SetIP4Netmask("255.255.255.0")
nc.SetIP4Broadcast("192.168.1.255")
nc.SetIP4Gateway("192.168.1.1")
nc.Apply()
v = CreateObject("roVideoPlayer")
p = CreateObject("roMessagePort")
v.SetPort(p)
mode = CreateObject("roVideoMode")
mode.SetMode("1920x1080x60p")
v.SetLoopMode(false)
ao = CreateObject("roAudioOutput", "Analog")
v.SetPcmAudioOutputs(ao)
v.SetVolume(0)
receiver = CreateObject("roDatagramReceiver", 11111)
receiver.SetPort(p)
listen:
msg = wait(0, p)
if type(msg) = "roDatagramEvent" and msg = "pl" then
v.PreloadFile(videoplaylist)
endif
if type(msg) = "roDatagramEvent" and msg = "go" then
v.Play()
endif
goto listen
while true
sleep(10000)
end while
autorun-follower.brs
autorun-master.brs