At Milk Video we built a browser editor for turning long recordings into short clips. You could combine several clips, add captions, and lay out a scene. If you moved the playhead, the editor and the renderer had to agree on exactly what you should see at that frame.
We used to keep each piece of state in sync by hand. Eventually we worked out which scene, clip, and caption to show from a single clock. Playing the video, seeking to a different time, and stepping forward one frame all used the same calculation.
I like this kind of engineering problem. Once we had a way to describe time, it got easier to reason about the editor. In my Demuxed talk I go into scene durations, keeping renders fast, testing with a clock we could control, and keeping the video elements in sync.
I worked with the team until February 2022, before starting Fudge.
