Conversation
past the end of the video (matches ByPTS behavior)
Collaborator
Author
Questions and Comments
|
voegtlel
approved these changes
Apr 7, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This PR switches from manual container parsing to using the internal FFMPEG frame index wherever possible, deprecating and removing the Fastseek interface (RIP, you served us well)
PyAV PR: PyAV-Org/PyAV#2136 added the necessary plumbing to expose this index to the python side
Conceptually this is the same algorithm that Fastseek was using but now the index is built by ffmpeg which is much faster (and happens during container loading regardless of if we use it or not).
The exact shape of this index depends on the container format so right now we support mp4/mov/mkv/webm with the index (as before) and there is a functionally identical probe fallback for other containers.
This should be a drop-in replacement and all tests pass but I recommend trying it on non-critical runs before bumping any production versions.