Hi,
I have this 4K Blu-Ray which doesn't have audio and/or subtitles in my language. Fortunately, the regular 1080p Blu-Ray has, so I thought I'd transfer them over. Of course the subtitles will need to be tonemapped for use with HDR video, to prevent them from appearing much to bright.
I quickly found this tool: https://github.com/quietvoid/subtitle_tonemap but unfortunately it skips a few lines, a known bug in the Java version of BDSup2Sub, which this tool relies on. Besides, the tool most probably also runs into the problem I encountered when I tried to do it manually, by using BDSup2Sub++, the C++ version, which does copy over all subtitle lines, to extract the subtitles to XML/PNG, then darkening the PNG's using a Photoshop droplet, and converting the result back to SUP again.
While this works like a charm, I noticed a decrease in image quality:
You might have to zoom in on the above image to see the effect, but as you can see, some letters were turned a little ugly. (Take a close look at that last word, "diep", for instance) This happens during the SUP --> XML/PNG step, even before editing them in photoshop, and again when you convert them back to SUP. I suspect the culprit in this case is the filter BDSup2Sub(++) uses, as switching the filters changes the results. For instance, the Lanczos3 filter gives me a clean "M", but it messes up my "a". Mitchell gives me a better "a", but gives me a ugly "M", etc. I tried all available filters, but all of them do some damage. Lanczos3 causes the least damage, but as you can see in above screenshot, it still does some.
While it's probably barely noticeable during playback, I would like to avoid this, if at all possible. Is there any way to prevent/work around this? Maybe by forcing BDSup2Sub to use no filter at all, or by leaving the actual images alone, and just edit the palette, or something? Anything?
I want to keep the subtitle style as-is, so OCR-ing is not an option.
Thanks in advance for any help.
+ Reply to Thread
Results 1 to 10 of 10
-
-
Did you try this?
https://forum.doom9.org/showthread.php?p=1599986#post1599986 -
Unfortunately, as suspected, when I select IDX/SUB output, the image becomes even (much) worse. And even if it didn't, it would probably still happen during SUP export.
I did make one step in the right direction, tho. It doesn't seem to happen with Subtitle Edit. Although it messes up the positioning a little. But that's probably easy to fix by finding the right safe margin.
Seems to confirm my theory that the filter is the culprit. Will keep trying and post the solution here if I work it out. -
Well, the method takes some time, but I figured it out! If you also need to resync your subtitles and a single delay doesn't work for you, the method's very roundabout, tho.
First of all, you need to make a photoshop droplet which tonemaps your subs to your liking. I found it both easiest and best to add an adjustment layer, click "levels...", and set your white to the desired level. 180 is a good value.
Then, if you don't need to resync the subtitles:
1. Convert your SUP to XML/PNG using SUPread
2. Tonemap your PNG's using your Photoshop Droplet
3. Convert your XML/PNG back to SUP using SUPread
4. Done!
The downside to this method is that it's kinda hard to resync subtitles this way, especially if you need several edits. If you only need one delay at the start of the subtitles, you can simply use SupMover before or after following above 4 steps.
In case you need to edit more than once throughout the movie and truly resync it, however, you have to take that much more roundabout approach. But at least it does the job.
In that case your workflow becomes:
1. Use Subtitle Edit to Tesseract OCR the SUP. This shouldn't require your attention, but does take some time. Save the file as "guide.srt".
2. Resync guide.srt the way you usually would. Don't delete or add any lines, as their number must remain the same. If you really must do so, do it between steps 5 and 6.
3. Make a temporary SUP from guide.srt called "guide.sup". You can do this by opening the original SUP in Subtitle Edit and replace the timings with the ones from guide.srt from the right-click menu inside the OCR window. easySUP should also do, although it will probably take even longer. Whatever works and keeps the exact same number of lines is fine. These subs are temporary, anyway.
4. Convert guide.sup to XML/PNG in a folder called "guide" using SUPread
5. Convert your original SUP to XML/PNG in a folder called "target" using SUPread
6. Confirm your target and guide folders contain the exact same number of files.
7. Tonemap your target folder using your Photoshop Droplet
8. Replace the XML in your target folder with the one from your guide folder
9. Convert your target folder back to SUP using BDSupEdit
10. Done!Last edited by RajaSteve; 12th Jan 2021 at 14:49. Reason: Fixed a mistake
-
Latest beta of SE has a new "bd/ts sup" editor - see File -> Import -> Blu-ray (.sup) subtitle file for edit... - and then "Tools" or "list view context menu with selected lines")
[Attachment 56766 - Click to enlarge]
(will keep existing positions of subs)
https://github.com/SubtitleEdit/subtitleedit/releases/download/3.5.18/SubtitleEditBeta.zipLast edited by Nikse; 12th Jan 2021 at 14:58.
-
Ah ok, will check it out. Keeping positioning is new to Subtitle Edit, as it messes that up in the version I currently have installed.
-
Yes, keeping positioning is new to Subtitle Edit. Actually the whole "Blu-ray sup edit" window is new
(can also save as bdn xml with positions)
Let me know how it works.Last edited by Nikse; 12th Jan 2021 at 15:12.
-
It works like a charm. Only downside is I can't set my white levels very precise. I'd need 70,6% brightness to get to a white level of 180.
But at least the process is a lot simpler this way! Thx! Now you can just do:
1. Tesseract OCR with Subtitle Edit, save as guide.srt
2. Resync guide.srt
3. Open SUP for Editing in Subtitle Edit
4. Replace timings with the ones from guide.srt
5. Calculate percentage to set brightness to (desired white level/255*100=percentage, i.e. 180/255*100=70,6)
6. Export as SUP -
@RajaSteve:
Can you tell me why you'd resync the subtitle's timings after OCR? I don't understand. -
Because the way I resync in above example requires the number of lines to be exactly the same, that's why you cant delete/add lines.
Other than that, it's mainly because making more than one edit to a SRT is a hell of a lot simpler than doing it with PGS.
Similar Threads
-
Converting 2D PGS subtitles to 3D HalfSBS PGS subtitles
By RajaSteve in forum SubtitleReplies: 66Last Post: 15th Nov 2019, 08:13 -
HDR Tonemapping with AviSynth+
By johnny27depp in forum Newbie / General discussionsReplies: 0Last Post: 22nd May 2019, 02:57 -
Aspect ratio of pgs subtitles
By alexwk in forum SubtitleReplies: 1Last Post: 4th Sep 2018, 22:37 -
Editing PGS subtitles without OCR
By hatbrox in forum EditingReplies: 2Last Post: 14th Feb 2017, 09:31 -
PGS subtitles standards
By Ayer in forum SubtitleReplies: 9Last Post: 2nd Jul 2016, 00:37