Welcome to Doom9's Forum, THE in-place to be for everyone interested in DVD conversion. Before you start posting please read the forum rules. By posting to this forum you agree to abide by the rules. |
|
|
#121 | Link | |
|
Registered User
Join Date: Mar 2006
Posts: 116
|
Hi, ps auxw, I think the new version works. I've only tested the same file, no more color palette exceeding 255 error and color smearing problem. The importing process into Scenarist BD also has been smoother.
As for the second problem with unnecessary splits, is it hard to fix? Scenarist BD is reading these correctly, two windows with one big box and one tiny horizontal strip. The muxed result works fine on the software players (tmt3, powerdvd 8, scenarist QC). But on PS3, lines without characters "g j p q y" (has little tails drop below the line) will show cropped, which mean only the big box gets shown on the screen. Lines with characters "g j p q y" are unaffected. I haven't test with other fonts or languages. Quote:
|
|
|
|
|
|
|
#122 | Link | ||||
|
Registered User
Join Date: Apr 2009
Posts: 102
|
Quote:
Quote:
Quote:
|
||||
|
|
|
|
|
#123 | Link |
|
Registered User
Join Date: Mar 2006
Posts: 116
|
OK, this is harder than I thought. This feature would be useful only in some situation. If you have time to add it, a two-pass process sounds fine. But if you don't, I can absolutely live without this feature. Thank you.
|
|
|
|
|
|
#124 | Link | |
|
Registered User
Join Date: Mar 2006
Posts: 116
|
Quote:
Here is a statement from the Scenarist Designer PS (sonic's solution to create Blu-ray menu) tutorial: "Make sure no layers are less than 8 pixels wide or high." Although this applies for menus (IGS), I think it maybe works the same way for subtitles (PGS). The ones don't display seems all have 4 pixels in height; while the ones with tails thus display have 16 pixels in height. Last edited by hamletiii; 28th March 2010 at 21:24. |
|
|
|
|
|
|
#125 | Link | ||
|
Author of BDSup2Sub
Join Date: Jun 2003
Posts: 478
|
Quote:
A worse scenario is text at the left and right (e.g. Japanese) since than no EOL markers can be used. However even if the subs use the full height, the gap can always be encoded with three bytes per line. So for a maximum of 1080 lines, the gap can be encoded with 3*1080 bytes which equals about 3.1k. This is about the maximum amount of bytes you can save per frame if you split an image into two composition objects. In a nutshell: empty pixels don't need a considerable amount of bandwidth. They just increase the initialization/decoding times a little which needs to be considered when calculating the PTS/DTS timestamps of the packets. Quote:
|
||
|
|
|
|
|
#126 | Link | ||
|
Registered User
Join Date: Apr 2009
Posts: 102
|
Quote:
Quote:
|
||
|
|
|
|
|
#127 | Link | |
|
Author of BDSup2Sub
Join Date: Jun 2003
Posts: 478
|
Quote:
So yes, splitting composition objects can help to safe space in the decoding buffer, but there should be no reason to do this, because there is more than enough space in this buffer as long as you don't do very, very weird things within an Epoch. Anyway, IMHO the source of the problem is somewhere else. Either Scenarist is somewhat wacky regarding the definitions of Epochs or something else is wrong. |
|
|
|
|
|
|
#128 | Link |
|
Registered User
Join Date: Jul 2003
Location: Italy
Posts: 1,136
|
The buffer of 4MB could be not enough if you have some subtitles that are consecutive. If you have, let's say, 10 subtitles and every subtitle start immediately at the end of its previous, the epoch will contain more than 1 subtitle (in this example, the epoch will contain 10 subtitles with a composition object made with the largest subtitle). In this case the 4 MB buffer could be not enough (quite easy if you made strange subtitles with lot of graphic or fancy fonts). Subtitles shorter than 2 frames could also lead to a buffer overflow.
|
|
|
|
|
|
#129 | Link |
|
Author of BDSup2Sub
Join Date: Jun 2003
Posts: 478
|
Hm, I never cared so much about the exact definition of behavior between two epochs. It is possible that subtitles have to be defined within an epoch if they should be displayed directly one after the other without the slightest gap. This isn't really interesting for "normal" subtitles which usually have a certain gap of a few hundred milliseconds between them and thus can be safely stored in separate epochs. Indeed my conception of epochs always was that usually one Epoch contains one subtitle and the rare case of multiple object definitions per Epoch is mostly used to display a 2nd subtitle line with a delay while still showing the first etc.
While there can be up to 8 palettes and 64 composition objects per Epoch, I would be pretty surprised to actually find a SUP stream that contains an Epoch with more than two or three composition objects. With more than 8 objects, they'd also have to share palettes. However, probably this is the explanation of this whole issue: BDSup2Sub always uses one epoch per subtitle. If the end time of one subtitle equals the start time of the next subtitle, a standalone might introduce a short pause between these two subtitles as it has to clear the decoding buffer etc. between two Epochs. Scenarist however tries to avoid that gap by putting two or more subtitles in one epoch. If there are multiple gapless subtitles though, this leads to issues with palettes and/or a decoding buffer overflow. |
|
|
|
|
|
#130 | Link | |
|
Registered User
Join Date: Mar 2006
Posts: 116
|
Quote:
|
|
|
|
|
|
|
#132 | Link |
|
Author of BDSup2Sub
Join Date: Jun 2003
Posts: 478
|
Yep, I'd think this is unrelated as I talked about the handling of Epochs.
Besides, BDSup2Sub always shifts start/end times to the nearest frame which leads to slightly different times compared to tools which don't care about frame synchronization. Then again, the time codes in the XML format are always frame based, so BDS2S shouldn't adjust the times in this case anyway. |
|
|
|
|
|
#133 | Link |
|
Registered User
Join Date: Jan 2009
Location: Bovenkarspel, Holland
Posts: 23
|
Hi guys,
Good tool. I am looking to use this function in a little c# program I am writing. However, when I check the PNGs it creates, the fontsize is very small. So I need to set the fontsize, color etc from within my c# prgram. Is there a config or ini file that hold these parameters so that I can modify this? Thanks in advance for your time. |
|
|
|
|
|
#134 | Link | ||
|
Registered User
Join Date: Mar 2006
Posts: 116
|
Quote:
Quote:
|
||
|
|
|
|
|
#135 | Link | |
|
Author of BDSup2Sub
Join Date: Jun 2003
Posts: 478
|
Quote:
Besides, multiple composition objects are meant for effects like crossfades etc. which are hard to impossible to generically translate to any other format anyway. These are the two main reasons why BDSup2Sub simplifies the subtitle stream to have one subtitle per Epoch. It doesn't introduce gaps deliberately though - they are introduced by the player's rendering implementation. Always keep in mind that BDSUp2Sub is a subtitle converter, not a BD authoring tool. |
|
|
|
|
|
|
#136 | Link | |
|
Registered User
Join Date: Mar 2006
Posts: 116
|
Quote:
![]() The structure shows something called DisplaySet under Epoch which I don't see you mentioned it. Is this something not defined in Blu-ray subtitle spec? Each epoch can have one or two window, then a bunch of DisplaySets. Each DisplaySet has a palette and two composition objects which appears to have the same number as windows. The fading effect (in CompositionObject#2) is caused by altering palette in each DisplaySet, the subtitle picture is always the same png file. So this DisplaySet seems to be one VERY important element since it simplifies things quite a bit, also gets around the limitations of 8 palettes and 64 composition objects per Epoch? Also want to share my experience with fading in avs2bdnxml here. The way avs2bdnxml handles fading is by simply rendering each frame as a different picture, so one fading effect could generate lots of pictures. There's some limitations to this though: 1. It's not possible to generate one line fading while the other line stay opaque all the time without flickering. The altering palette method in the example however fades very nicely. I guess it's because the palette info is not stored in the 4MB decoding buffer although the palette alters each frame while the avs way has so many pictures packed together just simply overflows the buffer? 2. Only one line fading with no other line is possible, and the effect is actually pretty decent. But the fading time can not be very long. Some people have suggest to stay within 600ms. Last edited by hamletiii; 3rd June 2010 at 05:15. |
|
|
|
|
|
|
#137 | Link |
|
Author of BDSup2Sub
Join Date: Jun 2003
Posts: 478
|
Well, as mentioned before, an Epoch doesn't simply have a start and an end, but can have multiple "acquisition" and "continue" events. All of them specify display updates and thus they define display sets. This is an abstract term though which includes several Epoch types and not a stream element.
Anyway, I dunno how this helps here. I don't think that the BDN XML format in its current form is able to store the information that would be needed to define palettes, objects, windows and epochs in a way that would be needed to allow an external converter to accurately convert it to BD-SUP. Even if someone would define a new XML format to cover all of this, there would be no tool to create such files. Last but not least, someone would have to write the converter with authoring capabilities (calculating all the DTS/PTS timestamps for a complex PG stream with all plausibility and limitation checks will be a nightmare). |
|
|
|
|
|
#138 | Link |
|
Registered User
Join Date: Apr 2009
Posts: 102
|
Sorry for disappearing again. Life is quite busy. For now, I have released avs2bdnxml v1.13, which should fix the problems with tiny (below 8px dimension) pictures and ugly image splits.
@Solaris: avs2bdnxml does no subtitle rendering on its own. You will have to create a subtitle file with your desired font-size etc.. For this, I'd recommend taking a look at Aegisub, or even just SSA/ASS subtitle specification (as far, as you can call those that). |
|
|
|
|
|
#139 | Link |
|
Registered User
Join Date: Mar 2006
Posts: 116
|
Hi, ps auxw, thanks for the update, will test it when I got more time. If everything works, I think this is probably the most intuitive and feature rich Blu-ray subtitle rendering tool out there.
And hopefully you'll get more time in summer to look into SUP support, so that people who want to do fancy Blu-ray subtitles with tsmuxer could benefit from this software as well. Last edited by hamletiii; 11th June 2010 at 11:11. |
|
|
|
|
|
#140 | Link | |||
|
Registered User
Join Date: Mar 2006
Posts: 116
|
OK, this appears to be the fading tags I'm looking for:
Quote:
[s]So for now, if you want to use Scenarist BD for image splitting, you can just use -a0, -b0 to force avs2bdnxml to output full size png files.[/s] For fading, do NOT add the \fad in your *.ass/ssa files, you can manually pick the pictures and apply the fading tags above after avs2bdnxml finishes image rendering. Update: I did a bit more testing. Scenarist BD's built-in functions can only handle cropping with one window and one composition object, it cannot split images into two composition objects. I think this goes back to the decoding buffer error discussion last year, and the whole purpose of having avs2bdnxml to support dual windown splitting. So -a1, b1 options are needed. The fading tags can still be applied to the cropped pictures. In the event that have two graphics: Quote:
But during two events crossfading, these two events can only have one composition object each, otherwise you'll get Error: The number of Graphic Element exceed 2. Example: Quote:
Also currently crossfading is possible between two pictures that have close enough colors, if one picture has colors drastically different than the other picture, then the total combined colors will exceed 256, which will make Scenarist BD complain. Last edited by hamletiii; 3rd July 2010 at 03:43. Reason: some wrong concepts, make corrections |
|||
|
|
|
![]() |
| Thread Tools | |
| Display Modes | |
|
|