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

Importing behavior for animations with different frame rates #1803

Open
scribblemaniac opened this issue Dec 12, 2023 · 0 comments
Open

Importing behavior for animations with different frame rates #1803

scribblemaniac opened this issue Dec 12, 2023 · 0 comments

Comments

@scribblemaniac
Copy link
Member

Issue Summary

When importing animated media from a format that supports storing the frame timing, to me there are two sensible ways of importing it. This distinction becomes important when the FPS of the video one is trying to import is different than the project FPS. Either:

  1. 1 video frame = 1 project frame. With this method, no frames are dropped or duplicated, but you lose the timing information. If rotoscoping, the resulting video will likely be too slow. If accompanying audio is imported, it will not be in sync.
  2. 1 second of video = 1 second in the project. With this method, the timing is preserved, but it may contain duplicated or drop frames from the imported video. Key poses the users might want to focus on could be removed. Duplicated frames could add bloat to the project's storage and memory requirements. In both cases, it becomes more difficult to retime the animation.

Actual Results

Currently, the Movie Video import uses method 2, while the Animated GIF (soon to be Animated Image) import and the Layers from Project file import both use method 1.

Expected Results

I think we should be importing animated media in a consistent way by default, and perhaps also offer the other way as an option before importing. I would like to hear thoughts on what we think the default should be, and how to best present this to the user as an option.


Developer Notes

Also of consideration is importing sources with variable frame rates. This is sometimes used in animated GIFs, and while I have never seen a video use it, technically most video formats support it. This may add additional complexity to implementing method 2.

Another issue with GIFs (and soon WebPs) occurs at higher frame rates/shorter frame durations. Browsers universally override short frame durations. So in such cases should they be treated as the file specifies, or as they would be displayed in a browser. And when they have different implementations, which browser?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Status: Discussion
Development

No branches or pull requests

1 participant