Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Video playback synchronization #13

Open
atgeller opened this issue Aug 15, 2023 · 3 comments
Open

Video playback synchronization #13

atgeller opened this issue Aug 15, 2023 · 3 comments

Comments

@atgeller
Copy link
Collaborator

Currently, with multiple camera angles, the different channels will begin playback at different times. Further, when playing the video frame-by-frame, cameras with different frame rates will quickly become quite out of sync. A broad and/or multifaceted video synchronization approach solving these issues would allow referees to rely on different angles representing different views at the same time (within a frame, so on the scale of <2 centiseconds).

@atgeller
Copy link
Collaborator Author

An easy strategy to solve the problem of recording/playback beginning at different times is using Barriers. This will lend a high degree of precision for the start points of videos from different channels will represent a highly similar real time. Unfortunately, one has to be careful with Barriers to avoid apparent deadlocks (an issue I'm running into with early experimentation).

For frame-by-frame mode, we could average the playback times of each channel, and then set each channel to that same average time. Given a high degree of precision for the start points (as above), this would likely result in errors no more than a frame or two, which should be sufficient precision.

@atgeller
Copy link
Collaborator Author

A further issue is that it's possible to select more cameras than are actually being used, which doesn't seem to be accounted for. In such instances, the barrier will never complete.

@alan-geller
Copy link
Owner

I think the simplest way to solve this problem might be to add a constraint and a feature:

  • Only allow frame-by-frame if all cameras have the same frame rate. If we tell people in advance, they can easily arrange to get cameras that match in this way.
  • Add a "super-slow-motion" option that's always available; say, 1% speed. This is pretty close to frame-by-frame.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants