>>
We don't see drift across one show loop it normally occurs over a day of the 11 hours of show running.
My guess in this case is that the time to restart the loop, which can be anywhere between 5ms to 50ms depending on the computer, can add to something significant over 11 hours. If for example there's a 30ms loss every 4 minutes, after 11 hours you'll see that ELM is late of about 5 seconds.
If ELM could take into account the time it takes to loop and offset the start of the video accordingly at each loop, then that would fix this issue for you, without timecode.
Meanwhile, you could create a longer video by repeating your 4 minutes loop.