View Full Version : Subtitle Edit
markfilipak
15th November 2025, 01:28
The audio and the waveforms made from the audio do not match. They start out in sync, but get out of sync: waveform leading vocalizations, as the video proceeds, getting further and further out of sync. I've tried reloading the video but, since it's the same video, nothing happens. I've searched the UI and on-line for a solution but have not found joy.
Is there a way to force the waveforms to be re-rendered?
UPDATE: Yes, there is a way: Video -> Close video file. Then reopen the video file and generate new waveforms. I did that.
UPDATE: The SE-embedded MPV player shows correct lip-sync. And the shot-changes added to the waveforms are correct. So, the problem seems to be limited to waveform rendering. It's the waveforms, only, that are out of sync.
Edit: For my three-hour movie, the waveforms at the beginning match what I hear but at the end they are 1.2 seconds early. To state the problem clearly, I hear the audio 1.2 seconds past the time that the waveforms show.
Edit: Oh, and one last thing. I listed all the PTSes via FFprobe and checked all the PTS intervals. They are all 1001 PTS ticks in duration [note]. So, for sure, the video is not changing FPS and there are no laggard frames. The video is pristine.
[note] The video is a 24/1.001 FPS MP4 with a 24000 ticks/second timebase clock, hence, 1001 ticks/frame.
Edit: How did this happen? I may have found the cause... This gets a little complicated.
The video is an MP4. MP4s, like all MOOV-based packets, have an editlist atom that tallies frames to be dropped when the video is decoded. It does that when an edit is made but the video is not re-encoded -- essentially, it gets the decoder to do the final edit (similar to the way soft telecine gets the decoder to change 24/1.001 FPS to 30/1.001 FPS).
When I created the MP4, audio at the end was early. (Why audio was early is unknown.) I had to -itsscale:a the audio by 1.000127 (that's stretching the audio, or so I thought). FFmpeg documentation claims that -itsscale:a changes the audio PTSes (samples, actually), which should stretch the audio, which should leave tiny audio gaps. But -itsscale:a apparently does not stretch the audio. -itsscale:a instead apparently put 31 video frames into the MP4 editlist! -- the FFmpeg log shows them.
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 276480 @ 180
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 278016 @ 181
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 279552 @ 182
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 281088 @ 183
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 282624 @ 184
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 284160 @ 185
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 285696 @ 186
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 287232 @ 187
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 288768 @ 188
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 290304 @ 189
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 291840 @ 190
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 293376 @ 191
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 294912 @ 192
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 296448 @ 193
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 297984 @ 194
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 299520 @ 195
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 301056 @ 196
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 302592 @ 197
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 304128 @ 198
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 305664 @ 199
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 307200 @ 200
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 308736 @ 201
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 310272 @ 202
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 311808 @ 203
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 313344 @ 204
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 314880 @ 205
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 316416 @ 206
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 317952 @ 207
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 319488 @ 208
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 321024 @ 209
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000263f280] drop a frame at curr_cts: 322560 @ 210
FFmpeg did that to sync the audio during decoding.
My mind is getting fuddled. I'm going to create a short test video, rather than using a three-hour movie.
I'm leaving this here, as is, so that someone more experienced with MOOV atoms can comment and perhaps help me. ...There is definitely something wrong with waveforms when rendering an MP4 video that contains an editlist.
TR-9970X
17th November 2025, 03:24
Music symbol never gets recognised properly :(
I have been using SE for years, and it ALWAYS has problems with ♪.
It doesn't make any difference how I extract the subs from the video file, but running .sup's thru SE, it's just not good.
And even with the "Music Symbol" check box, checked.
It's VERY time consuming to manually change the ♪ it's missed (or used a different character) in Notepad :(
This is the original subtitle:- https://www.mediafire.com/file/ez2yud8h2j2a03o/Batwoman.S01E14.Grinning.from.Ear.to.Ear.Repack.1080p.BluRay.DDP.5.1.H.265.-EDGE2020_track3_%255Beng%255D.sup/file
And this the same after running thru SE:- https://www.mediafire.com/file/y38tfiq8yzadi1b/Batwoman.S01E14.Grinning.from.Ear.to.Ear.Repack.1080p.BluRay.DDP.5.1.H.265.-EDGE2020_track3_%255Beng%255D.srt/file
You'll soon see what a mess it is, checking from line 109 and onwards, with the .srt conversion.
PS:- It would also be very handy if you could edit individual lines as they scrolled by, and you spotted an error (line's in Yellow, etc)
Music Fan
17th November 2025, 13:53
I have been using SE for years, and it ALWAYS has problems with ♪.
With "binary image compare" instead of Tesseract, it's ok.
But it introduces other problems : "I" instead of "l" in some words ("Iater") and spaces in the middle of some words ("Hi" becomes "H i") and in front of some comas and points.
These problems can perhaps be solved after doing OCR with "Fix common erros" in the Tools tab.
TR-9970X
17th November 2025, 14:11
With "binary image compare" instead of Tesseract, it's ok.
But it introduces other problems : "I" instead of "l" in some words ("Iater") and spaces in the middle of some words ("Hi" becomes "H i") and in front of some comas and points.
These problems can perhaps be solved after doing OCR with "Fix common erros" in the Tools tab.
Thanks for the suggestion :)
I have always used Tesseract, and have "Fix Common Errors" checked.
So, just to confirm, use "Binary Image" first, then Tesseract ?? or ??
Music Fan
17th November 2025, 14:14
Only "Binary Image", no Tesseract.
Then try to fix the errors.
TR-9970X
17th November 2025, 14:29
Only "Binary Image", no Tesseract.
Then try to fix the errors.
OK, will give it a shot.
:thanks:
Music Fan
17th November 2025, 15:03
I tested, the fixes work for unneeded spaces and some OCR errors ("I" instead of "l"), look at line 8, 9 and 11 ;
https://i.ibb.co/PGg9Wz9N/SE-Batwoman-S01-E14-Grinning-from-Ear-to-Ear-Repack-track3-eng-Binary-compare.jpg (https://ibb.co/5hLnjxn6)
But "H i" (line 13) stays as is, you can fix it with the Multiple Replace tool in Edit tab.
markfilipak
17th November 2025, 16:07
I'm in big trouble here.
Audio and video and timestamps and shot changes are all in sync. What's not in sync is the waveforms. Waveforms go from in sync at the beginning to early by over a second at the end.
The packets are MP4. The MP4 has a MOOV editlist that roughly matches how the waveforms go early. ...I'm out of my depth! Help! I'm drowning!
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] Processing st: 0, edit list 0 - media time: 2002, duration: 266122872
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] Offset DTS by 2002 to make first pts zero.
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] Setting codecpar->delay to 2 for stream st: 0
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] Processing st: 1, edit list 0 - media time: 324580, duration: 532220352
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 276480 @ 180
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 278016 @ 181
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 279552 @ 182
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 281088 @ 183
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 282624 @ 184
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 284160 @ 185
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 285696 @ 186
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 287232 @ 187
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 288768 @ 188
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 290304 @ 189
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 291840 @ 190
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 293376 @ 191
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 294912 @ 192
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 296448 @ 193
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 297984 @ 194
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 299520 @ 195
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 301056 @ 196
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 302592 @ 197
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 304128 @ 198
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 305664 @ 199
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 307200 @ 200
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 308736 @ 201
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 310272 @ 202
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 311808 @ 203
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 313344 @ 204
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 314880 @ 205
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 316416 @ 206
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 317952 @ 207
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 319488 @ 208
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 321024 @ 209
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] drop a frame at curr_cts: 322560 @ 210
[mov,mp4,m4a,3gp,3g2,mj2 @ 000000000261f280] skip 484 audio samples from curr_cts: 324096
markfilipak
17th November 2025, 16:36
SE 4.0.12 embedded this FFmpeg:
ffmpeg version 2024-05-20-git-127ded5078-full_build-www.gyan.dev
That is the final FFmpeg that ran in Win7.
My first guess for this problem is that SE fails to process MOOV editlists.
I've tried to make a one-minute test video but have failed. FFmpeg seems to be having trouble with this:
works works
--------- ---------
aselect=between(n\,2997*2002\,3515*2002),asetpts=PTS-2997*2002
---------
broken
markfilipak
17th November 2025, 23:17
I apologize for monopolizing this space ...it's complicated.
The bottom lines are:
1 - I need help in the form of a coworker because the complications are boggling my mind and I need to interact with someone to keep sane, and
2 - I think SE is not honoring MP4 editlists.
Of course, video edits should be completed prior to coding. When MP4 edits are made, a special moov-atom child: edts, is created that includes the edits that should be done prior to final coding. I reckon this is done so that authors can quickly watch the results of their editing without having to transcode the video. That way, the author can do multiple quick edits, see the results, then include the edits in their final coding.
Because I didn't know about editlists, which are particular only to moov-based packaging, I created an MP4 that includes edts "drop a frame at curr_cts:" entries and passed it to SE as the video source of the video's subtitles. It appears that SE did not honor the edts in regard to the waveforms, but _may_ have honored edts in regard to video, audio, timestamps, and shot changes because they are all in sync, both in the embedded MPV and an external MPV.
The edits I did scaled the audio timestamps, which became progressively out of sync, earlier and earlier, as playback progressed. To achieve the scaling, I thought FFmpeg would stretch the audio by occasionally duplicating audio samples or adding single samples of silence. Doing so would not require recoding the video. But it appears that what FFmpeg actually did was create an edts that drops video frames. That makes no sense to me and I have a complaint with the FFmpeg folks, but that detail has nothing to do with the SE problem I've outlined. In fact, the way SE behaves in this circumstance makes recognizing what is actually happening much harder to figure out.
I'm doing my final coding now. The coding takes a few hours. The video is over 3 hours long.
I should add this so you know I'm not a compete idiot: As I stretched the audio to achieve sync, I did recode the audio, but not the video. I recoded the audio because I thought FFmpeg would duplicate audio samples, not drop video frames. Of course, I'm not happy with what FFmpeg did, but, again, that has nothing to do with the SE waveform problem (or so I think).
TR-9970X
18th November 2025, 02:51
I tested, the fixes work for unneeded spaces and some OCR errors ("I" instead of "l"), look at line 8, 9 and 11 ;
https://i.ibb.co/PGg9Wz9N/SE-Batwoman-S01-E14-Grinning-from-Ear-to-Ear-Repack-track3-eng-Binary-compare.jpg (https://ibb.co/5hLnjxn6)
But "H i" (line 13) stays as is, you can fix it with the Multiple Replace tool in Edit tab.
I tried it on several subs that I knew had the ♪ symbol, and it seems to work quite well, however, as you mentioned, it can cause other small issues, mainly a space after I (mainly) at the start of a new sentence/line.
It does seem to take longer than what I used to do, BUT at least I don't have to painstakingly do it manually in Notepad...
But other than that, I might have to get used to a new process.
Thanks.
Music Fan
18th November 2025, 09:11
Actually, once you saved the case ("H i", replace by "Hi") or others in the Multiple Replace tool, you don't have to do it again, that's quite fast.
For unneeded spaces, the other tool (Fix Common Errors) is also fast.
markfilipak
18th November 2025, 14:51
I've done a lot of searching. This appears to be a very old bug that produces a wide variety of symptoms, most of which I've seen. A year and a half ago, audio streams that don't terminate and jobs that buffer hundreds of gigabytes.
IMPORTANT: How does SE create the waveforms? Does SE do it, or does FFmpeg do it?
I should add that old versions of FFmpeg errored out and produced no output at all. Newer versions just produce audio stream errors.
I should also add that 'dref' means 'data reference index' https://developer.apple.com/documentation/quicktime-file-format/video_sample_description/data_format
There are many trouble reports such as
[mov,mp4,m4a,3gp,3g2,mj2 @ 000002e7d956ed40] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x1891c40] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x55fe07ff1180] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0000010c8a3264c0] Unknown dref type 0x206c7275 size 12
[mov,mp4,m4a,3gp,3g2,mj2 @ 0x7f98a3008200] Unknown dref type 0x206c7275 size 12
but no one that I've seen blames dref. ...always the same "Unknown dref type 0x206c7275" in a wide variety of troubles. I've not encountered a list of known drefs.
markfilipak
18th November 2025, 23:18
The coding finished. I now have the video with no editlist.
The symptom has not changed. Audio, timestamps, and shot changes are all in sync. SE's waveforms start in sync, then get earlier and earlier until, at the end of 3 hours, waveforms are about 1.3 seconds early.
Has anyone else seen this symptom?
EDIT: I regressed back 2 1/2 years, back to version 3.6.13. This problem also occurs in 3.6.13 with this video.
I don't know how to continue.
TR-9970X
19th November 2025, 02:24
Actually, once you saved the case ("H i", replace by "Hi") or others in the Multiple Replace tool, you don't have to do it again, that's quite fast.
For unneeded spaces, the other tool (Fix Common Errors) is also fast.
I installed 4.0.14 on a different PC today. and I ran my first sub thru using Binary Image. and it was f*cking horrible !!!!
There were so many errors. just spaces EVERYWHERE, despite the preview window showing no issues, but in the edit window, what a mess :(
I thought I'd try Paddle OCR...I don't know where it was getting it's lines from, but it had nothing to with the sub I was working on.
So back to Tesseract 5.5.0 for me.
But I do really like the Multiple Replace Tool, and the Fix Common Errors :)
Music Fan
19th November 2025, 09:20
So back to Tesseract 5.5.0 for me.
For subtitles with the ♪ symbol, if found the other method much faster.
There are spaces but they are all removed by Fix Common Errors.
TR-9970X
19th November 2025, 09:30
For subtitles with the ♪ symbol, if found the other method much faster.
There are spaces but they are all removed by Fix Common Errors.
Using Binary created so many spaces, I doubt that would be fixed that way.
Unless there is a different method, running a .sup thru, you have to accept or change ANY discrepancy it finds during the process, and thd amount of spaces would waste a LOT time.
Using Tesseract, adjust errors during the scan, then use Fix Common Errors, and maybe do further errors with option you told me about.
Music Fan
19th November 2025, 10:03
I tested both with your sup and the OCR process took around 20 seconds with binary image compare (Latin+latin next to Image database), I didn't have to accept anything during the scan (I also installed 4.0.14).
Then I went in Fix Common Errors and it needed 3 seconds to fix errors.
And finally in Multiple Replace to add "H i", replace by "Hi", "I n " by "In " (for line 18) and "U pg" by "Upg" (for line 19).
Less than 1 minute for the whole process and I got this ;
https://pastebin.com/WHEiu9Z0
Of course I didn't verify it entirely thus it may still contain errors.
TR-9970X
19th November 2025, 10:25
I tested both with your sup and the OCR process took around 20 seconds with binary image compare (Latin+latin next to Image database), I didn't have to accept anything during the scan (I also installed 4.0.14).
Then I went in Fix Common Errors and it needed 3 seconds to fix errors.
And finally in Multiple Replace to add "H i", replace by "Hi", "I n " by "In " (for line 18) and "U pg" by "Upg" (for line 19).
Less than 1 minute for the whole process and I got this ;
https://pastebin.com/WHEiu9Z0
Of course I didn't verify it entirely thus it may still contain errors.
OK, well, I'm pretty happy that you tested my "sample" :)
Well, I'm going to have to try this again with your settings.
Do you have all the options in Fix Commons Errors checked ??, or basically the defaults.
I guess the more additions to the Multiple Replace, the easier future scans will become.
Thanks so much for your ongoing help & suggestions :)
Music Fan
19th November 2025, 11:05
Do you have all the options in Fix Commons Errors checked ??, or basically the defaults.
I believe I had unchecked some of them.
I guess the more additions to the Multiple Replace, the easier future scans will become.
Indeed. And you can save your settings (C:\Users\name\AppData\Roaming\Subtitle Edit\Settings.xml) not to lose them in case of crash or future installation (after OS or PC change).
TR-9970X
20th November 2025, 04:10
I believe I had unchecked some of them.
Indeed. And you can save your settings (C:\Users\name\AppData\Roaming\Subtitle Edit\Settings.xml) not to lose them in case of crash or future installation (after OS or PC change).
Not having any reasonable success at all, I even downloaded the .sup that you ran, and I had to accept so many issues that I lost count.
So I'm clearly doing something VERY different to your workflow :(
As a side note, I am also trying to run a Star Wars .sup, and using Binary, it's just hopeless, I think it would take me hours to run it thru once, having to accept errors.....
Surely there has to better process :(
Music Fan
20th November 2025, 09:30
That's very strange, especially since we have the same SE version.
I simply open the sup file, the OCR window opens directly, I click on Start OCR and it's going fast. I don't have to accept anything.
https://i.ibb.co/0jrRfRx2/SE-Batwoman-S01-E14-sup.jpg (https://ibb.co/fYHzCzsF)
TR-9970X
20th November 2025, 09:36
That's very strange, especially since we have the same SE version.
I simply open the sup file, the OCR window opens directly, I click on Start OCR and it's going fast. I don't have to accept anything.
https://i.ibb.co/0jrRfRx2/SE-Batwoman-S01-E14-sup.jpg (https://ibb.co/fYHzCzsF)
I just noticed no OCR dictionary....
Music Fan
20th November 2025, 09:41
Ok, it's worth another try.
TR-9970X
20th November 2025, 09:46
Ok, it's worth another try.
I just ran two different subtitles through with no dictionary and the .srt is blank, except for time codes.
Music Fan
20th November 2025, 09:56
At the end of OCR process, I just click on OK, the OCR window closes and the subtitles appear in the main window.
TR-9970X
20th November 2025, 10:02
At the end of OCR process, I just click on OK, the OCR window closes and the subtitles appear in the main window.
So like you described, you click on the .sup file, it opens up into the ocr window, press start ocr, it goes through its process and then when you come to the end it's all in the window there that you can view, with no OCR dictionary.
Well, I did that on two separate.sup files, press start ocr faster than a blink of an eye, it's finished, and it's only time codes :(
I'm running Windows 11 25H2.
Music Fan
20th November 2025, 10:11
I have Windows 10 but it probably doesn't matter, your PC has been cursed.:scared:
Here is what I see at the end of OCR ;
https://i.ibb.co/tpgmQy7H/SE-Batwoman-S01-E14-sup-2.jpg (https://ibb.co/qYKy7btD)
And after clicking on OK ;
https://i.ibb.co/7dzb8pZ0/SE-Batwoman-S01-E14-sup-3.jpg (https://ibb.co/RkS7Z6sJ)
Then I go in Fix Common Errors then in Multiple Replace and it's over.
TR-9970X
21st November 2025, 04:25
I have Windows 10 but it probably doesn't matter, your PC has been cursed.:scared:
Here is what I see at the end of OCR ;
https://i.ibb.co/tpgmQy7H/SE-Batwoman-S01-E14-sup-2.jpg (https://ibb.co/qYKy7btD)
And after clicking on OK ;
https://i.ibb.co/7dzb8pZ0/SE-Batwoman-S01-E14-sup-3.jpg (https://ibb.co/RkS7Z6sJ)
Then I go in Fix Common Errors then in Multiple Replace and it's over.
Hi,
I'm using a different PC today, still W11 25H2, same SE.
If I use mine like you've shown above, it's just jibberish !!
I also have this pop up asking me to choose a character, every so often, like it's learning and adding to it's dictionary.
Has that Image database got anything to do with it ??
I also setup several "repairs" in Multiple Replace, but I can't get it to anything.
Music Fan
21st November 2025, 09:20
Hi,
I really don't know why we are not dealing with the same process (admitting our settings are the same), very strange.
Nikse555 could probably answer but he doesn't come often here.
TR-9970X
21st November 2025, 09:28
Hi,
I really don't know why we are not dealing with the same process (admitting our settings are the same), very strange.
Nikse555 could probably answer but he doesn't come often here.
Yes, it is VERY strange, for sure.
I guess sending him a PM to read these posts might be an idea.
Again, thanks for all your help.
Music Fan
21st November 2025, 10:40
I found a quicker method for you ;
-use Tesseract 5.5.0
-language : English
-engine mode : Original Tesseract only
-dictionary : english or none, it doesn't seem to matter
-during OCR, all music symbols are considered as J“
-once it's over, go in Multiple Replace and replace J“ by ♪
PowerShell can also be used to replace characters or words.
TR-9970X
21st November 2025, 11:43
I found a quicker method for you ;
-use Tesseract 5.5.0
-language : English
-engine mode : Original Tesseract only
-dictionary : english or none, it doesn't seem to matter
-during OCR, all music symbols are considered as J“
-once it's over, go in Multiple Replace and replace J“ by ♪
PowerShell can also be used to replace characters or words.
I think I may have tried something very similar..
If only it was only J", but I've seen so many other variants.
I will this a try tomorrow, and let you know.
Thanks again :)
Music Fan
21st November 2025, 14:53
With other engine modes, there are indeed several characters that replace ♪ depending on the lines.
But it seems that with "Original Tesseract only", they are all converted to J".
Janusz
21st November 2025, 19:50
Hi,
...
If I use mine like you've shown above, it's just jibberish !!
I also have this pop up asking me to choose a character, every so often, like it's learning and adding to it's dictionary.
Has that Image database got anything to do with it ??
I also setup several "repairs" in Multiple Replace, but I can't get it to anything.
1. To ensure we have the same settings in the program:
- Close SubtitleEdit if you have it running.
- Download version 4.0.14 of Subtitle Edit again from this address: https://github.com/SubtitleEdit/subtitleedit/releases/download/4.0.14/SE4014.zip
- Unzip the downloaded "zip" file to the "SE4014" directory on your desktop.
- Run the "SubtitleEdit.exe" program in this directory.
- Select "Layout" no. 12 on the toolbar.
- In the program options, find and uncheck "Tools/Prompt for unknow one letter words" (This option causes the program to prompt for each individual letter found during OCR.)
- Exit the program so that the changes are saved in a new "Settings.xml" file.
2. Restart the program and drag and drop your "Batwoman[eng].sup" file into the main program window.
- In the newly opened "Import/OCR" window, select:
[OCR method] = OCR via nOCR (this method introduces fewer errors into the recognized text, and besides, there's no need to add any new characters to the existing default database).
Increase [No of pixels is space] to 10-12 (to reduce the number of unnecessary extra spaces).
In [Language], leave Latin.
In the [Dictionary] section, set English to [Prompt for unknown words] and [Auto break paragraph if more then two lines] to [Disable] the options: [Prompt for unknown words] (the program will not expect acceptance for unknown words) and [Auto break paragraph if more then two lines].
3. Select [Start OCR].
In the [Subtitle text] window, lines with recognized text should begin to appear.
In the [Unknown words] window (on the right), you should see unrecognized words.
4. After the OCR process is complete, before closing the OCR window, you can add new words to the dictionaries using the buttons to the right of [Unknown words] to save them for future use.
5. You can now close the OCR window and continue working on the recognized text.
Edit:
I added a short video (https://www.mediafire.com/file/qckdwz44flnqp0q/K-002.mp4/file) showing what was described above.
markfilipak
22nd November 2025, 02:38
I installed 4.0.14 on a different PC today. and I ran my first sub thru using Binary Image. and it was f*cking horrible !!!!
There were so many errors. just spaces EVERYWHERE, ... :(
I've not been following your thread, but I reckon you need to set the size of a space in the OCR. The size varies with the video source, so there's no one-size-fits-all setting. Try whatever comes up. If there are too many broken words, make the number of pixels in a space bigger. If there are too many joined words, make the number smaller. I'm not doing OCR at the moment, so I can't tell you where to find the size of a space or what it's called, but you will find it if you have a brain. :-)
Abort out of the OCR, set the size of a space, and restart OCR from zero. It's not too difficult.
Good Luck, Good Hunting.
By the way, I've found image OCR to be the best.
TR-9970X
22nd November 2025, 03:27
OMG Janusz, this IS awesome :)
Your first post here in approx 2½ years, and that attached video was just so easy to follow, even if some of it didn't make too much sense to me, towards the end.
I have run several .sup's thru at your settings, and it does a brilliant job of the music symbols, but I've also learned a lot more about SE that I ever did.
I still have to do spell checks & corrections, and with Music Fan's help, I have also learned about the Fix Common Errors, and Multiple Replace, which is awesome, I may not need to use Notepad ever again. :)
I can't thankyou both enough for your help, I wish I had of known all this years & years ago...oh well...live & learn.
TR-9970X
22nd November 2025, 03:39
I've not been following your thread, but I reckon you need to set the size of a space in the OCR. The size varies with the video source, so there's no one-size-fits-all setting. Try whatever comes up. If there are too many broken words, make the number of pixels in a space bigger. If there are too many joined words, make the number smaller. I'm not doing OCR at the moment, so I can't tell you where to find the size of a space or what it's called, but you will find it if you have a brain. :-)
Abort out of the OCR, set the size of a space, and restart OCR from zero. It's not too difficult.
Good Luck, Good Hunting.
By the way, I've found image OCR to be the best.
Hi, those instructions from Janusz have been a life saver :)
And thanks for your tips :)
If you choose OCR via nOCR, that setting (No of pixels is space) is in the top left corner.
Curious about this comment:-
By the way, I've found image OCR to be the best.
What is it referring to ? an SE setting or another app ?
markfilipak
22nd November 2025, 06:09
What is it referring to ? an SE setting or another app ?
I should have written 'OCR method: Binary image compare'.
markfilipak
24th November 2025, 20:20
Hello, I couldn't find a way to merge Part-1 and Part-2. I have a plan and would appreciate your comments.
Part-1-subs and Part-2-subs already exist.
1 - I'll concatenate Part-1 and Part-2 videos to make Final video.
2 - Then I'll open Part-2-subs and use 'Synchronization'->'Adjust all times'
to move the Part-2-subs to the end of Final video.
3 - Then I'll save the SRT file and close SE.
4 - Then I'll make Final subs by concatenating Part-1-subs and Part-2-subs.
5 - Then I'll open Final subs and Final video and do final fixups.
Perhaps there's a simpler way, eh? Perhaps there's a way to import Part-1-subs at the end of step 2. I couldn't find it.
All bright ideas are appreciated. Thanks!
Janusz
24th November 2025, 20:36
...
All bright ideas are appreciated. Thanks!
You can find the subtitle merging tool here:
Menu/Tools/Append subtitle...
or:
Menu/Tools/Join subtitles...
markfilipak
24th November 2025, 21:48
@Janusz, Thank you.
Help me with the meaning of this:
"This will append an existing subtitle to the currently loaded subtitle which should already be in sync with video file."
This adds subtitles to the end of the current subtitles and it assumes the current subtitles are in sync with the video.
Is that correct, or is it backwards?
Janusz
24th November 2025, 23:32
@Janusz, Thank you.
...
This adds subtitles to the end of the current subtitles and it assumes the current subtitles are in sync with the video.
Is that correct, or is it backwards?
Yes. Both parts of the subtitles are properly synchronized, so:
Load the first part of the subtitles.
Select "Menu\Tools\Append subtitle" in the "Append subtitle" window, select [Yes], and in the next window, add the second part of the subtitles.
Don't select [Sync], just [OK]. And [OK] again.
The subtitles have been added to the end of the first part.
You'll be taken to the main program window. You can now load the combined video file and check the synchronization.
markfilipak
25th November 2025, 00:22
@Janusz, Thank you.
Your translator is very effective...!
I will try it when my current FFmpeg transcode is done. I will tell you the results. Thanks again.
Music Fan
25th November 2025, 10:27
In case you append subtitles, I wonder how SE can estimate the duration at the end of the first part to add the good duration before the second part.
In a movie, you can have several minutes after the last line of text and nothing in the srt indicates how many minutes of video there are after this line.
TR-9970X
25th November 2025, 11:17
In case you append subtitles, I wonder how SE can estimate the duration at the end of the first part to add the good duration before the second part.
In a movie, you can have several minutes after the last line of text and nothing in the srt indicates how many minutes of video there are after this line.
I think I've done this only once, and I was surprised that it was spot on.
But in the chance that the second part is out of sync, you could probably determine how out of sync, you could go back to the original and do an adjustment, and then appended again, until you get it right....
markfilipak
25th November 2025, 18:16
I have found two bugs in FFmpeg. They affect audio samples in MP4 editlists. The bugs cause waveforms to be erroneously drawn early (by 700 ms in one case, by 1300 ms in another, confirmed). There is a workaround.
When SE uses FFmpeg to get audio samples from which to draw waveforms, can it pass '-ignore_editlist' to FFmpeg?
TR-9970X
25th November 2025, 18:55
I have found two bugs in FFmpeg. They affect audio samples in MP4 editlists. The bugs cause waveforms to be erroneously drawn early (by 700 ms in one case, by 1300 ms in another, confirmed). There is a workaround.
When SE uses FFmpeg to get audio samples from which to draw waveforms, can it pass '-ignore_editlist' to FFmpeg?
Can you update the FFMPEG that SE uses ?
FFMPEG just got an update, to 8.01.
markfilipak
25th November 2025, 21:08
Can you update the FFMPEG that SE uses ?
ffmpeg version 2025-11-12-git-6cdd2cbe32-full_build-www.gyan.dev
I just isolated the bugs today. They are old, very old, but elusive. That's why -ignore_editlist exists: because they couldn't find the real bug, so they tried to paper over it. Well, the real bug ruins -ignore_editlist, too.
I think FFmpeg needs an -ignore_bugs option.
markfilipak
25th November 2025, 23:36
Yes. Both parts of the subtitles are properly synchronized, so:
Load the first part of the subtitles.
Select "Menu\Tools\Append subtitle" in the "Append subtitle" window, select [Yes], and in the next window, add the second part of the subtitles.
Don't select [Sync], just [OK]. And [OK] again.
The subtitles have been added to the end of the first part.
You'll be taken to the main program window. You can now load the combined video file and check the synchronization.
That produced a train wreck. SE misbehaved excessively.
Instead, I did what I previously outlined.
In SE
- Load file2.mp4 file2.srt.
- Synchronization->Adjust all times:
- Add the running time of file1.mp4.
- Save file2.srt.
In Windows
- copy file1.srt+file2.srt file.srt
In SE
- Load file.srt.
- Load file.mp4.
Done.
Well, I had to adjust the subtitles a bit.
Edit:
Thank you, Janusz. I was continuing to work on it hoping to add good news to my thanks. I do that now, but I don't have good news. :(
Until FFmpeg fixes the bugs I found, I'm stuck. And right now, the ffmpeg-user list is not functioning. :(
vBulletin® v3.8.11, Copyright ©2000-2026, vBulletin Solutions Inc.