UniqProject / BDInfo

BDInfo from http://www.cinemasquid.com/blu-ray/tools/bdinfo
GNU Lesser General Public License v2.1
233 stars 58 forks source link

Some suggestions and small fixes #4

Open nautilus7 opened 6 years ago

nautilus7 commented 6 years ago

Hi again, while comparing the output of your modified version versus the one that is included in the DVDFab ripping utility I noticed some differences. First in the general disc info:

Your version:

Disc Title: Blade Runner 1982 The Final Cut UHD Disc Size: 59.547.307.543 bytes Protection: AACS BD-Java: Yes BDInfo: 0.7.3.3

DVDFab version:

Disc Title: Blade Runner 1982 The Final Cut UHD Disc Size: 59,547,307,543 bytes Protection: AACS2 BD-Java: Yes Extras: Ultra HD BDInfo: 0.5.8.7 (compatible layout created by DVDFab 10.0.7.2)

Notice here how they use AACS2 for the UHD discs. Also they have separate "Extras" line with additional info. I think this was also present in the original bdinfo (used to inform about the presence of 3D in the disc). In addition the BD-Java line is a bit redundant now days, since almost all discs use java. So, maybe you could combine all these extra information in one line like this (depending on the disc of course):

Disc Title: Blade Runner 1982 The Final Cut UHD Disc Size: 59.547.307.543 bytes Protection: AACS2 Extras: Ultra HD, 3D, BD-Java BDInfo: 0.7.3.4

Another point is the information displayed for the HEVC video stream. Look how the DVDFab version displays a lot more info:

Your version:

HEVC Video 49992 kbps 2160p / 23,976 fps / 16:9

DVDFab version:

MPEG-H HEVC Video 49993 kbps 2160p / 23.976 fps / 16:9 / Main 10 Profile 5.1 High / 4:2:0 / 10 bits / HDR / BT.2020 /

A final point is the difference in the bitrate of the Dolby TrueHD / Atmos stream. There is quite a big difference between your version and the DVDFab version, but I have no clue which one is the correct/closest one:

Your version:

Dolby TrueHD + Atmos English 4336 kbps 7.1 / 48 kHz / 4336 kbps / 24-bit (AC3 Embedded: 5.1-EX / 48 kHz / 448 kbps / DN -4dB)

DVDFab version:

Dolby Atmos/TrueHD Audio English 4784 kbps 7.1-Atmos / 48 kHz / 4784 kbps / 24-bit (AC3 Core: 5.1-EX / 48 kHz / 448 kbps)

UniqProject commented 6 years ago

Extras are still displayed like before, i haven't changed anything here yet. But I will put the additions on todo list for later. Right now I am about to implement the parsing of HEVC streams, so this is on my todo list with the highest priority. I also will double check the reported Bitrate for THD/Atmos streams. Seems like the bitrate from core stream is ignored during calculation.

nautilus7 commented 6 years ago

Hi, regarding the bitrate...

Since the ac3 stream is not needed for decoding (it's not part of the truehd stream), I believe the bitrate calculation should not count it! It's not like the dts core+hd extensions.

Truehd and ac3 are two completely different streams, so now that you explained why the two versions differ, I tend to believe that your implementation is the way to go.

I'm looking forward for the hevc parsing!

UniqProject commented 6 years ago

Since the ac3 stream is not needed for decoding (it's not part of the truehd stream), I believe the bitrate calculation should not count it! It's not like the dts core+hd extensions.

Correct, but bitrate is getting increased since the core stream is interleaved with the TrueHD stream. And it also affects the overall bitrate. I've changed the way TrueHD bitrate is reported now. Bitrate in description row is now reporting THD bitrate, while the bitrate row is reporting overall bitrate.

nautilus7 commented 6 years ago

OK, better now, thanks!

nautilus7 commented 6 years ago

Oh, and don't forget to implement something like the following for the Dolby Vision enhancement layer in the HEVC parsing.

MPEG-H HEVC Video       52120 kbps          2160p / 23.976 fps / 16:9 / Main 10 Profile 5.1 High / 4:2:0 / 10 bits / HDR / BT.2020 / 
* MPEG-H HEVC Video     5798 kbps           1080p / 23.976 fps / 16:9 / Main 10 Profile 5.1 High / 4:2:0 / 10 bits / Dolby Vision / BT.2020 / 
UniqProject commented 6 years ago

Yes, I am aware of this layer.

UniqProject commented 6 years ago
Disc Title:     JACK REACHER 2
Disc Size:      63.907.608.026 bytes
Protection:     AACS2
Extras:         Ultra HD, BD-Java
BDInfo:         0.7.3.3

The current report output.

nautilus7 commented 6 years ago

Looks good. Thanks!

UniqProject commented 6 years ago

I have published a beta release with all the changes.

nautilus7 commented 6 years ago

Hi, it looks nice.

HEVC Video              49992 kbps          2160p / 23,976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 4:2:0 / 10 bits / HDR10 / Limited Range / BT.2020 / PQ / BT.2020 non-constant / Mastering display color primaries: Display P3 / Mastering display luminance: min: 0.0000 cd/m2, max: 4000 cd/m2

While having all this detailed info is nice, it may be too much. But I guess it won't hurt. Anyway...

  1. Would you consider converting the framerate to 24,000/1001 fps instead of 23.976 fps. The first is more accurate, but then you have forward slashes that serve as a separation symbol and as a division symbol, which doesn't look good.

  2. Regarding the decimal point. How is a dot (.) or a comma (,) selected by the program? Is it based on the locale settings on windows? I noticed that in the DVDFab version a dot is used as a decimal point while your version in my computer uses a comma (which is what is set in my locale settings in windows). I believe that you should stick with the dot as a decimal point regardless the locale of the user. This is also the standard universal symbol for all intentional documents afaik.

UniqProject commented 6 years ago

Regarding all the stream details, I might make them also configurable in the options, or just make the report look like DVDFab. I can display the framerate like this, but i have to change the separation symbol as well. Also the decimal separator is a good point. Looks like the original author was resident of one of the countries using the "." separator, this is why there is no specification on this in the code. So yes it uses the computer's locale settings. Changed this already.

nautilus7 commented 6 years ago

Having an option to configure the video details to display would be nice. And just to be clear, I keep mention DVDFab only as a comparison. You don't have to mimic what they do of course. Will you add a similar level of details for the AVC video streams?

Regarding the framerate displaying, it might be better to leave it as it is. I think the / as a separation symbol is nice.

UniqProject commented 6 years ago

Will you add a similar level of details for the AVC video streams?

I might give it a try.

Regarding the framerate displaying, it might be better to leave it as it is. I think the / as a separation symbol is nice.

Other separator might look like this:

Video: HEVC Video ● 46302 kbps ● 2160p ● 24,000/1,001 fps ● 16:9 ● Main 10 @ Level 5.1 @ High ● 4:2:0 ● 10 bits ● HDR10 ● BT.2020
* Video: HEVC Video ● 8016 kbps ● 1080p ● 24,000/1,001 fps ● 16:9 ● Main 10 @ Level 5.1 @ High ● 4:2:0 ● 10 bits ● Dolby Vision ● BT.2020
nautilus7 commented 6 years ago

While I extremely like the proposed ● separator, I see one downside: It's a utf8 character.

nautilus7 commented 2 years ago

non ascii compatible is what I mean / it matters.

nautilus7 commented 2 years ago

Well, since it's 2022 now, 4 years after this thread was created, I believe we should not care about these apps and use utf8 everywhere.