Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Movie work in BDInfo v0.7.5.6 but not in BDInfo v0.7.5.7 beta and newer. (And some fixes) #36

Open
Hellboy00000 opened this issue Jan 22, 2023 · 8 comments

Comments

@Hellboy00000
Copy link

Hellboy00000 commented Jan 22, 2023

Movie
Robin.Hood.Prince.of.Thieves.1991.4k
Sample
https://www60.zippyshare.com/v/EWW9VF8N/file.html
I try to use your tool to create the sample but the movie stays loading like newer version of BDInfo. The problem is only with this movie.
In the sample i copy all the files and one stream file.

I try to see what is the problem but all i can find was that when i change the "TSCodecHEVC.cs" for the BDInfo v0.7.5.6 the movie work.


Some fixes
(Fixed in v0.7.6.2b) 1)Avg Frame Size in report for 4k and others movie
In FormRepot.cs - Commented because the Tag value is never used here for anything else. And when is null Avg Frame Size don't work.
if (diag.Tag != null)
{
chapterFrameCount++; ***Move this line outside the if
}
(Fixed in v0.7.6.2b) 2)Chart Type Video frame size in report for 4k and others movie
In FormChart.cs (public void GenerateFrameSizeChart) - Commented because the Tag value is never used here for anything else.
And when is null Chart Type Video frame size don't work.
if (diag.Tag == null) continue;
string frameType = diag.Tag;

@UniqProject
Copy link
Owner

Can't load the sample file, getting a 403 Forbidden message
image

@UniqProject
Copy link
Owner

Nevermind, used VPN to download it. Will have a look at it

@Hellboy00000
Copy link
Author

Hellboy00000 commented Jan 22, 2023

Another fix
(Fixed in v0.7.6.2b) 3)Missing kbps word
In FormRepot.cs - Files Total Bitrate is missing kbps (in foreach (TSStreamClip clip in playlist.StreamClips))
string clipBitrate = Math.Round(
(double)clip.PacketBitRate / 1000).ToString("N0", CultureInfo.InvariantCulture) + " kbps";

UniqProject added a commit that referenced this issue Jan 23, 2023
@UniqProject
Copy link
Owner

Movie Robin.Hood.Prince.of.Thieves.1991.4k Sample {...}
I try to use your tool to create the sample but the movie stays loading like newer version of BDInfo. The problem is only with this movie. In the sample i copy all the files and one stream file.

I try to see what is the problem but all i can find was that when i change the "TSCodecHEVC.cs" for the BDInfo v0.7.5.6 the movie work.

This disk is using variable PES (packetized elementary stream) packet length instead of fixed length for the main video stream, hence the code was not able to parse the files correctly.
I have updated the code to support parsing PES packets with variable length. However, this breaks the bitrate calculation for now, mainly because the variable packets can contain more than 1 frame at a time. I'll give it another head scratch.


Some fixes
1)Avg Frame Size in report for 4k and others movie
In FormRepot.cs - Commented because the Tag value is never used here for anything else. And when is null Avg Frame Size don't work.
if (diag.Tag != null)
{
chapterFrameCount++; ***Move this line outside the if
}
2)Chart Type Video frame size in report for 4k and others movie
In FormChart.cs (public void GenerateFrameSizeChart) - Commented because the Tag value is never used here for anything else.
And when is null Chart Type Video frame size don't work.
if (diag.Tag == null) continue;
string frameType = diag.Tag;

This one doesn't need to be changed, because it is actually working as intended.
However, HEVC stream parsing needs to be updated to report frame type ( I / P / B ), like AVC/VC1 and MPEG2 parsers do.
That is the reason the avg frame sizes are not showing up for 4K/UHD disks/playlists.
Thanks for pointing that out.

UniqProject added a commit that referenced this issue Jan 26, 2023
@UniqProject
Copy link
Owner

Video bitrate should be measured correctly with the lastest beta release v0.7.6.1b

Avg frame sizes for HEVC streams are still on TODO list

@Hellboy00000
Copy link
Author

Hellboy00000 commented Jan 27, 2023

Is working great and the report look a lot better. Thanks. But i notice a few things.

1)Report is missing a space between Main Audio Track and Secondary Audio Track
DTS-HD Master 5.1 2005 kbps (48kHz/24-bit)DTS-HD Master 2.0 1050 kbps (48kHz/24-bit)

2)Report FILES: Name
Need 2 less "--" to looks better. And maybe some other tiny things here and there in the report.

(Fixed in v0.7.6.2b) 3)Bug - Dolby Vision video is missing "Main 10 @ Level 5.1" number
MPEG-H HEVC Video 62,635 kbps 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / HDR10 / BT.2020
*MPEG-H HEVC Video 76 kbps 1080p / 23.976 fps / 16:9 / Main 10 @ Level 0 @ High / 10 bits / Dolby Vision / BT.2020
(EDIT - only happens with Robin.Hood.Prince.of.Thieves.1991.4k)

4)Bug - Is strange nobody notice this. The Movie Size is wrong, probably because all the files size all wrong. I notice this
comparing BDInfo with the DVDFab-BDInfo and DVDFab-BDInfo is correct.

5)This could be a bug depending how you see it. I notice this comparing BDInfo with the DVDFab-BDInfo.
Disc Size is different. BDInfo count all that is located in the directory and DVDFab-BDInfo only count the BDMV and
CERTIFICATE folders. I prefer the DVDFab-BDInfo because sometimes i have other files in the directory and
BDInfo show the incorrect Disc Size.

Disc Size - I do this for me but i don't know if this affect something else.

private long GetDirectorySize(DirectoryInfo directoryInfo)
{
long size = 0;

        FileInfo[] pathFiles = directoryInfo.GetFiles();
        if (directoryInfo.FullName.Contains("BDMV") || directoryInfo.FullName.Contains("CERTIFICATE"))
        {
            foreach (FileInfo pathFile in pathFiles)
            {
                if (pathFile.Extension.ToUpper() == ".SSIF")
                {
                    continue;
                }
                size += pathFile.Length;
            }
        }

        DirectoryInfo[] pathChildren = directoryInfo.GetDirectories();
        foreach (DirectoryInfo pathChild in pathChildren)
        {
            if (pathChild.FullName.Contains("BDMV") || pathChild.FullName.Contains("CERTIFICATE"))
            {
                size += GetDirectorySize(pathChild);
            }
        }
        return size;
    }

6)Report - AUDIO - 5.1 / 48 kHz / 2005 kbps / 24-bit (DTS Core: 5.1 / 48 kHz / 768 kbps / 24-bit)
Can you change the 2 kbps numbers, only have one white space before the numbers.

7)Report - SUBTITLES - Presentation Graphics English 29.42 kbps 1920x1080 / 1596 Captions
Please make the sub kbps use "," and 3 decimals like the others kbps (Ej: 29,42X kbps)

@Hellboy00000
Copy link
Author

Some Request. Comparing BDInfo with the DVDFab-BDInfo i notice:

MPEG-H HEVC Video 62,635 kbps 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 10 bits / HDR10 / BT.2020
MPEG-H HEVC Video 76 kbps 1080p / 23.976 fps / 16:9 / Main 10 @ Level 0 @ High / 10 bits / Dolby Vision / BT.2020

MPEG-H HEVC Video 62639 kbps 2160p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 4:2:0 / 10 bits / 1000nits / HDR10 / BT.2020
MPEG-H HEVC Video 76 kbps (0.12%) 1080p / 23.976 fps / 16:9 / Main 10 @ Level 5.1 @ High / 4:2:0 / 10 bits / 1000nits / Dolby Vision MEL / BT.2020

Missing:
-4:2:0
-1000nits
-76 kbps (0.12%)
-Dolby Vision MEL

Thanks

@Hellboy00000
Copy link
Author

Hellboy00000 commented Jan 28, 2023

Level 0 @ High
Check this again and only happens with
Robin.Hood.Prince.of.Thieves.1991.4k

Edit:
Tested v0.7.6.2b and fixed Avg Frame Size, Chart Type Video frame size and "Level 5.1" number.
Thanks.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants