You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Export the generated scene list to a file and import them to aegisub.
Solutions
Be able to export # keyframe format v1 file with the cli.
This is a old format that some tool, like aegisub, use to represent the scene detection.
Examples:
keyframe format v1 format is really simple.
The first 2 lines are always theses (you can technically set an fps, but it doesn't do anything. Most parser just skip the fps line):
# keyframe format v1
fps 0
After that, each line will contain the frame number where a scene change is detected.
Ex:
I found one issue with VFR input while implementing this.
Detection processes frames sequentially, but cuts retain timestamps rather than decoded frame ordinals. FrameTimecode.frame_num converts the timestamp using the average frame rate, which can produce incorrect frame numbers for VFR video.
There are two possible approaches:
Make a second pass with decode=False and map each cut timestamp to its actual zero-based frame ordinal. This is isolated, but requires reading the video twice and assumes the input can be replayed.
Retain exact ordinals during the initial decode. This requires broader pipeline changes because buffered or calculated cuts must preserve their ordinals. Starting detection partway through a video with time --start also makes the absolute ordinal harder to determine.
I can handle this in a follow-up. If either approach seems like a better fit for the project, feel free to let me know.
Activity
Breakthrough commentedon Jul 5, 2026
Does this format work with VFR video / is it presentation time or actual frame number? Can certainly add this in a future version.
moi15moi commentedon Jul 6, 2026
It is frame number, so yes, it work really well with vfr.
MuhammadBilalKhan267 commentedon Aug 10, 2026
I would like to work on this.
MuhammadBilalKhan267 commentedon Aug 12, 2026
I found one issue with VFR input while implementing this.
Detection processes frames sequentially, but cuts retain timestamps rather than decoded frame ordinals.
FrameTimecode.frame_numconverts the timestamp using the average frame rate, which can produce incorrect frame numbers for VFR video.There are two possible approaches:
decode=Falseand map each cut timestamp to its actual zero-based frame ordinal. This is isolated, but requires reading the video twice and assumes the input can be replayed.time --startalso makes the absolute ordinal harder to determine.I can handle this in a follow-up. If either approach seems like a better fit for the project, feel free to let me know.
Add keyframe format v1 CLI export (#565)