Doesn't recognize BD structure when playlists contain duplicate items

eac3to forked from madshi eac3to 3.36
Post Reply
DAE avatar
Schakaqt
Posts: 4
Joined: Wed Feb 21, 2024 1:40 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Schakaqt »

I recently ripped some blu-ray discs with both MakeMKV and AnyDVD and DVDFab. Their playlists all come out the exact same way, so it's not a problem with the ripping process itself.
The discs themselves are fine - it seems the playlists are "corrupt" in that they contain multiple entries to some m2ts files with the same timestamp.

The rips play fine in Blu-ray player software and VLC.

Pointing eact3o at the BDMV folder only results in a notification about there being no valid HD DVD/Blu-Ray structure. Pointing it directly at 00000.mpls, it does read it.
However, it looks a bit odd: https://i.imgur.com/4xR7jJS.png

Once I manually use something like BDTools to remove duplicate entries for 00001.m2ts, it seems to at least work for this playlist. Consecutive ones would require manual fixing as well.
BDInfo struggles in the exact same way.

I uploaded the file structure here, without any m2ts files: https://github.com/UniqProject/BDInfo/f ... Disc_1.zip

Original report: http://bugs.madshi.net/view.php?id=725
User avatar
Curly
Posts: 716
Joined: Sun Mar 15, 2020 11:05 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Curly »

Please try using DGDemuxGUI checking the collapse box. If it works it tells me what the problem is and I can then fix it for eac3to. Although eac3to does have a collapse option it doesn't work the same way as DGDemuxGUI, and won't properly collapse the pattern here (00002.m2ts at the end will be lost). You could try -showall -collapse=2 just for fun.

If DGDemuxGUI fails with the collapse option, then I will need to get the disk. Please provide a link to where I can purchase it or send me a PM for my FTP details for you to upload under fair use.

Finally, what play duration do you get in a player for that playlist?
Curly Howard
Director of EAC3TO Development
DAE avatar
Schakaqt
Posts: 4
Joined: Wed Feb 21, 2024 1:40 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Schakaqt »

Here are the screenshots of DGDemux. It seems to work, at least roughly.

The duplicate check doesn't seem to catch 00014.m2ts appearing several times in the second playlist - I'm not sure that's actually required.

When running the disc in VLC, I don't actually get a duration for that playlist. 00001.mpls points towards the entire discs and plays it for 3:44h or so.

I think 00000 is either just the menu or the credits. If you can recommend another software with which to check, I can can do that too.

Regarding the disc - the link I posted contains all the files you need (minus any m2ts). It's only available for purchase in Germany, but I can send you a PM anyway.

Hopefully the provided info helps. Let me know if there's anything else.
User avatar
Curly
Posts: 716
Joined: Sun Mar 15, 2020 11:05 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Curly »

Schakaqt wrote:
Wed Feb 21, 2024 5:13 am
The duplicate check doesn't seem to catch 00014.m2ts appearing several times in the second playlist - I'm not sure that's actually required.
It collapses only adjacent duplicates, e.g., 00014+00014 would be collapsed, but not 00014+00001+00014. eac3to lets you choose only to retain the first N clips. Without knowing all the structures out there and how they are used, it's tough to pick an algorithm for collapse.
When running the disc in VLC, I don't actually get a duration for that playlist.
I don't understand that. Why wouldn't you get a duration? Maybe open it in MPC-HC? Last resort, just play it and time it for me.
I think 00000 is either just the menu or the credits. If you can recommend another software with which to check, I can can do that too.
When you play it what do you see?
Regarding the disc - the link I posted contains all the files you need (minus any m2ts). It's only available for purchase in Germany, but I can send you a PM anyway.
I need all the M2TS files to know what their timestamps are, besides which DGDemux requires the M2TSs to be present or it doesn't show anything useful. And I would be able to see what the actual content is, to try to infer the authoring intent.

If 00001.mpls is the actual movie, we need to figure out what is going on with the multiple occurrences of 00014.m2ts. If you demux 00001.mpls with DGDemux, do you get the clean movie?
Curly Howard
Director of EAC3TO Development
User avatar
Curly
Posts: 716
Joined: Sun Mar 15, 2020 11:05 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Curly »

More info...

Clip 00014.m2ts has a stated playing time of 1 sec. If you removed all of them from 00001.mpls the remaining clips appear to make up the movie, as it has the correct duration that you stated. The repeated 00014 clips are likely obfuscation. To know what criterion to use to remove them, I need the full disk as I do not like to play guessing games. A possible heuristic could be to remove all extra copies retaining the first for all clips, regardless of the order in the playlist. But I need the disk to test that. I don't like working blind. A blind squirrel may occasionally find an acorn, but I am not a squirrel.
Curly Howard
Director of EAC3TO Development
DAE avatar
Schakaqt
Posts: 4
Joined: Wed Feb 21, 2024 1:40 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Schakaqt »

I don't understand that. Why wouldn't you get a duration? Maybe open it in MPC-HC? Last resort, just play it and time it for me.
That appears to just be how VLC plays it. In MPC-HC when just pointing to the blu-ray directory, it plays index.bdmv, starting with the intro and then opening the menu.

Pointing it directly to 00000.mpls, it shows a full duration of 17:22:07h
It loads the background for the menu, but the menu never actually shows.

Pointing it directly at 00001.mpls, it shows 03:44:38h, all chapters are present and it plays the whole TV show as a single movie.
If 00001.mpls is the actual movie, we need to figure out what is going on with the multiple occurrences of 00014.m2ts. If you demux 00001.mpls with DGDemux, do you get the clean movie?
It seems to only extract 2 m2ts files, rather than 8 (the number of episodes on the disc) as expected.
I'm getting the disc in your hands, that'll be much easier for you to debug.
User avatar
Curly
Posts: 716
Joined: Sun Mar 15, 2020 11:05 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Curly »

OK, thank you.
Curly Howard
Director of EAC3TO Development
User avatar
Curly
Posts: 716
Joined: Sun Mar 15, 2020 11:05 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Curly »

Disk is in hand under fair use. Investigating...
Curly Howard
Director of EAC3TO Development
User avatar
Curly
Posts: 716
Joined: Sun Mar 15, 2020 11:05 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Curly »

The disk and your report exposed some issues in DGDemux/DGDemuxGUI that Rocky has just fixed. So re-download 1.0.0.73 and update. The following discussion is based on the behavior of the updated version. We'll get closure on that behavior and then decide what to do for eac3to. Remember that eac3to classic suppressed such playlists and there was no coding at all to handle such things. Given that DGDemux/DGDemuxGUI is available we'll have to decide how much effort we want to expend on eac3to in this regard. Hehe, I sound like Rocky. ;)

00000.mpls is menu stuff. You will want to select the collapse duplicates option. The resulting stream will be correct, including all three of the clips.

00001.mpls consists of multiple episodes combined into one playlist. You can select the episode demuxing option and the episodes will be demuxed into separate file sets. However, you will get extra sets for all the 00014.m2ts clips, which you will have to delete. I don't plan to try to do anything about that as it would be difficult and disks like this are rare. Alternatively, you could leave episode demuxing unchecked and everything will be demuxed to one file set.

Please advise if anything is not as expected. If it's acceptable (tolerable, hehe) then we can move on to eac3to.
Curly Howard
Director of EAC3TO Development
DAE avatar
Schakaqt
Posts: 4
Joined: Wed Feb 21, 2024 1:40 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Schakaqt »

I tried the new DGDemux and things look correct to me.

I originally used eac3to without even knowing about DGDemux - that's how I ended up here.
If DGDemux is meant to replace it for the most part, I'll just use that instead.
User avatar
Curly
Posts: 716
Joined: Sun Mar 15, 2020 11:05 am

Doesn't recognize BD structure when playlists contain duplicate items

Post by Curly »

DGDemux and eac3to complement each other. Each can do things that the other cannot.

You're happy to use DGDemux for this case so I'll mark this resolved. I may enhance eac3to in the future to handle this but it will be a lot of work that may not be important enough to displace other things I need to do, at least for quite a while.
Curly Howard
Director of EAC3TO Development
Post Reply