Ristellise / AegisubDC

Aegisub, Daydream Cafe Edition
Other
282 stars 31 forks source link

10 bit HEVC frame offset (sync) #55

Open emperor06 opened 2 years ago

emperor06 commented 2 years ago

Frame accuracy seems wrong when using AegisubDC with a hevc-mkv video. It's offset by 3 frames for me. MPC-HC, mpv, and Subtitle Edit say a particular frame is 3834 while AegisubDC says it's frame 3831.

Here's what I've tried so far:

I don't know if that affects all HEVC videos, or only 10 bit videos, or that particular hevc encoding. Also, I don't know if the offset is a consistent 3 frames. I've noticed this issue in the past (subs in sync within Aegisub but offset when playing) on some of my videos but I didn't pay too much attention before. It's very probable these videos use the same encoding parameters.

Current workaround for me:

BillyBob1354 commented 2 years ago

I have also had frame sync issues that are not present in aegisub 3.2.2 with some files. It stays in sync if I play it starting 10 seconds before the line in aegisub, but if I skip to the line or start from the end of the line and play it in reverse it goes out of sync.

emperor06 commented 2 years ago

I made a little script that generates a mkv+ass where each frame is tagged with its frame number, so it's easier to see when Aegisub skips a frame. The bug doesn't seem to appear when the video is too short. With this generated test file, one of the frames get skipped and everything after that is out of sync by 1 frame. On real videos, it can get as bad as 3 frames.

The script runs on WSL 1 (Windows) with ffmpeg.exe and magick.exe on the path. Works on Linux too (change the default font).

If you want to have a go:

For me, with 20k frames, frame number 481 has gone.

I wish I can attach the actual mkv file…

genframes.txt

frame481

arch1t3cht commented 2 years ago

This is a seek error in ffms2 that has been fixed only very recently. Until AegisubDC is released with a newer version of ffms2, current alternatives are: