A Better Way To Find The Correct Playlist/Segment Map

MKV playback, recompression, remuxing, codec packs, players, howtos, etc.
DWreck1995
Posts: 27
Joined: Thu Feb 22, 2018 3:12 am

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by DWreck1995 »

I've run into a problem with the TV show Friends where the mpls method doesn't seem to work with Process Monitor and PowerDVD, but the m2ts method does. The issue is there's sometimes upto 4 different playlists with the same segment map. The differences are usually in the audio tracks. Some have a bunch of duplicate tracks, and some include languages that the others don't. Does anyone have any tips on identifying the correct one?
dcoke22
Posts: 3086
Joined: Wed Jul 22, 2020 11:25 pm

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by dcoke22 »

I'm pretty sure that if the segment map is the same, then the video will be the same. I bet if you made a decrypted backup of the disc and looked at the .m2ts files, they would have all the audio tracks from the 4 different playlists. My guess is this happens when the studio wants to present a subset of all the languages based on the region of the player. I think you can just choose whichever one has the audio tracks you're looking for.
mreedelp2
Posts: 19
Joined: Fri Jul 17, 2015 9:47 pm

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by mreedelp2 »

For Friends, in the Blu-ray forum search for

Ripping "Friends"

The first result (at least for me) is a thread about this. Three posts from the bottom is where I uploaded a playlist that someone else had made.
StormMeows
Posts: 47
Joined: Thu Apr 23, 2020 10:06 pm

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by StormMeows »

It looks like if you have already backed up a disc that has Obfuscation on it, then this method will NOT work once you're ready to extract the movie and make an MKV file out of it. I have used this method in the OP successfully for discs, but have not tried a disc that I have backed up previously with MakeMKV until tonight. I tried a few different ways using Procmon + PowerDVD and also even tried VLC + ProcMon and both gave me the same file... but it is wrong. The file it plays from the BDMV folder is not the correct overall length of the film and the last segment is NOT end credits. Why is it any different if you are playing the BDMV or an ISO of the created file from MakeMKV vs if you have the disc inserted? I figured it would yield the same results as having the disc... Any ideas? Thanks

*Edit: I just inserted the disc and it found the correct segments/mpls no problem. I'm not sure why once you make a backup with MakeMKV, it plays the wrong file. Any thoughts appreciated since I have now confirmed you HAVE to have the disc to find the correct movie file.
arrbee99
Posts: 55
Joined: Fri Oct 03, 2014 8:44 am

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by arrbee99 »

First time having a go at this trying to get the right playlist for Unforgotten.
I tried with the copy I have on hdd using Procmon and vlc, and it seems the correct playlist is 00241.mpls, but when I use MakeMKV to find 00241, its not there but it does show 00241.mpls(2) and 00241.mpls(3), both of which are too short.
Seems to be the same what I put the actual disc into the drive and using Procmon with that (get 00241.mpls) and with MakeMKV on the disc, same as above.
I guess 00241.mpls (if thats the right one) is episode 1 of the three on disc.
Any thought maybe please ?
arrbee99
Posts: 55
Joined: Fri Oct 03, 2014 8:44 am

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by arrbee99 »

I thought I should eventually try installing java and letting MakeMKV use that. So thats what I did and it said 'Using Java runtime from C:\Program Files (x86)\Java\jre1.8.0_301\bin\java.exe'.
Didn't seem to help though. Still got hundreds of mpls's and still no 00241.mpls (if it matters).
jinx100
Posts: 157
Joined: Wed Mar 13, 2013 5:58 pm

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by jinx100 »

With Java the choice for main feature appears at the top of the mpls list, not in numerical order.
arrbee99
Posts: 55
Joined: Fri Oct 03, 2014 8:44 am

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by arrbee99 »

Now I think I've finally added the correct (64-bit) Jave, all it does is stop me playing the disc directly or its copy on hdd because its an overseas disc and hence an incompatible region.
Mr_Orange
Posts: 149
Joined: Sun Jul 14, 2019 6:11 am

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by Mr_Orange »

If you use VLC to play back the copy on HDD, you can change the region code in VLC to match the disc.
arrbee99
Posts: 55
Joined: Fri Oct 03, 2014 8:44 am

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by arrbee99 »

Thanks for that - I'll give it a go. I guess being a vlc option it does only affect things in vlc and doesn't affect that thing I vaguely remember about being only able to change region codes a limited number of times ?
Mr_Orange
Posts: 149
Joined: Sun Jul 14, 2019 6:11 am

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by Mr_Orange »

It's a VLC-specific setting so you can change as often as you like.
arrbee99
Posts: 55
Joined: Fri Oct 03, 2014 8:44 am

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by arrbee99 »

Thanks very much.
I think you mentioned the hdd version ? Well I tried changing the region in vlc, using instructions which said -

'Sometimes, it may display "Mismatch between disc and player region codes" on the screen of VLC Blu-ray player. So you can follow the steps below to fix it.
Step 1. Click on the Tool menu on the top, then select Preferences.
Step 2. Switch to "All" in the lower left corner to show Advanced Preferences.
Step 3. Navigate to "Input / Codecs", double click on "Access modules" and select Blu-ray. Then you can change the region code on the right side.
Step 4. Save the settings. Now VLC will play it normally.'

from here -
https://www.videoconverterfactory.com/t ... h-vlc.html

but that didn't work for the hdd version. However, it does seem to work well for playing the actual disc via vlc, and with Procmon running, monitoring for .mpls, that seems to give one mpls whenever I play an episode, so thats looking decidedly promising (finally). Thanks very much :D
arrbee99
Posts: 55
Joined: Fri Oct 03, 2014 8:44 am

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by arrbee99 »

It seems like I get one mpls to try when playing one episode, according to Procmon while playing the physical discs.
I then run MakeMKV and find the mkvs associated with those mpls numbers. But if I then run MakeMKV again and look at those mpls numbers the mkv files have changed.
It then occurs that I got the mpls numbers from the discs so I should run MakeMKV on the discs and not the hdd versions as I had just been doing, and when I do I get different mkv files for each episode again. This time if I repeat I get the same files.
So I guess it pays to run Procmon on the discs and then MakeMKV on the same discs.
I guess this might all be obvious to others already, and is probably mentioned elsewhere, but just though I'd record it anyway.
...and I'm probably still doing it wrong !
NullNix
Posts: 25
Joined: Sat Jan 31, 2015 12:57 pm

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by NullNix »

MetalDave wrote:
Tue Oct 06, 2020 2:52 pm
dcoke22 wrote:
Mon Sep 07, 2020 9:57 pm
It seems like OpenedFilesView (https://www.nirsoft.net/utils/opened_files_view.html) is a Windows program. MetalDave was asking about how to do it on a Mac.
I'm multi-OS; I'm using Ubuntu right now to read this. :D That said, I'm curious to know a better process on any OS.

Thank you to both dcoke22 and awdspyder for the info (and the rest of the community for contributing to the conversation).
Once I've finished kicking myself for not thinking of this years ago... this should do the trick (change /mnt/bluray to wherever your bluray is mounted):

strace -z -tt -e trace=open,openat -f vlc 2>&1 | grep /mnt/bluray

This will print only successful requests to open files under /mnt/bluray. For me, looking at a random new bluray (Fullmetal Alchemist: Brotherhood), from starting the bluray until looking at the first episode shows a wealth of activity:

[pid 51029] 22:49:10.971647 openat(AT_FDCWD, "/mnt/bluray", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 29
[pid 51029] 22:49:10.971788 openat(AT_FDCWD, "/mnt/bluray/AACS/Unit_Key_RO.inf", O_RDONLY|O_CLOEXEC) = 29
[pid 51029] 22:49:17.742727 openat(AT_FDCWD, "/mnt/bluray/BDMV/index.bdmv", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:17.743013 openat(AT_FDCWD, "/mnt/bluray/BDMV/META/DL", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 30
[pid 51029] 22:49:17.743161 openat(AT_FDCWD, "/mnt/bluray/BDMV/META/TN", O_RDONLY|O_NONBLOCK|O_CLOEXEC|O_DIRECTORY) = 30
[pid 51029] 22:49:17.743383 openat(AT_FDCWD, "/mnt/bluray/BDMV/META/DL/bdmt_eng.xml", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:17.743892 openat(AT_FDCWD, "/mnt/bluray//BDMV/META/DL/", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:17.744205 openat(AT_FDCWD, "/mnt/bluray/BDMV/MovieObject.bdmv", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:17.748466 openat(AT_FDCWD, "/mnt/bluray/BDMV/PLAYLIST/00036.mpls", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:17.748939 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00002.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:17.749186 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00043.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:17.749801 openat(AT_FDCWD, "/mnt/bluray/BDMV/STREAM/00002.m2ts", O_RDONLY|O_CLOEXEC) = 30
[pid 51015] 22:49:17.774084 openat(AT_FDCWD, "/mnt/bluray/BDMV/META/DL/", O_RDONLY|O_CLOEXEC) = 31
[pid 51015] 22:49:18.463881 openat(AT_FDCWD, "/mnt/bluray/BDMV/META/DL/", O_RDONLY|O_CLOEXEC) = 33
[pid 51015] 22:49:18.469808 openat(AT_FDCWD, "/mnt/bluray/BDMV/META/DL/", O_RDONLY|O_CLOEXEC) = 33
[pid 51015] 22:49:18.474545 openat(AT_FDCWD, "/mnt/bluray/BDMV/META/DL/", O_RDONLY|O_CLOEXEC) = 33
[pid 51029] 22:49:21.972418 openat(AT_FDCWD, "/mnt/bluray/BDMV/STREAM/00043.m2ts", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:22.994697 openat(AT_FDCWD, "/mnt/bluray/BDMV/PLAYLIST/00037.mpls", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:22.995163 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00044.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:22.995541 openat(AT_FDCWD, "/mnt/bluray/BDMV/STREAM/00044.m2ts", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:34.140122 openat(AT_FDCWD, "/mnt/bluray/BDMV/PLAYLIST/00000.mpls", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:34.140826 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00000.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:34.141699 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00027.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:34.142125 openat(AT_FDCWD, "/mnt/bluray/BDMV/STREAM/00000.m2ts", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:34.142662 openat(AT_FDCWD, "/mnt/bluray/BDMV/STREAM/00027.m2ts", O_RDONLY|O_CLOEXEC) = 37
[pid 51029] 22:49:48.755356 openat(AT_FDCWD, "/mnt/bluray/BDMV/PLAYLIST/00001.mpls", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.978633 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00032.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.979364 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00033.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.980140 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00034.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.984264 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00035.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.985012 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00036.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.986093 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00037.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.986732 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00038.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.987408 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00039.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.989922 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00040.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.990665 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00042.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.991213 openat(AT_FDCWD, "/mnt/bluray/BDMV/CLIPINF/00028.clpi", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.991968 openat(AT_FDCWD, "/mnt/bluray/BDMV/STREAM/00032.m2ts", O_RDONLY|O_CLOEXEC) = 30
[pid 51029] 22:49:48.992278 openat(AT_FDCWD, "/mnt/bluray/BDMV/STREAM/00028.m2ts", O_RDONLY|O_CLOEXEC) = 37

Everything from BDMV/PLAYLIST/00001.mpls was opened in quick succession when actually opening the episode. Alas this isn't as useful as I might hope, since that playlist is the 'play all' playlist... but any rip is going to pull everything cited by that playlist in anyway, so it should be easy to do a quick visual comparison to tell which is which, and it *certainly* cuts the number of things that need looking at right down.

(Caveat for anyone looking at this years later: Linux's open syscalls have a tendency to grow replacements over time: e.g. openat has already grown an openat2 replacement which is too new for more or less anything to use yet. man 2 syscalls should tell you which ones are available, in case the above command doesn't report anything interesting going on.)
erik7426
Posts: 1
Joined: Sun Apr 02, 2023 4:34 pm

Re: A Better Way To Find The Correct Playlist/Segment Map

Post by erik7426 »

I have found a better and much easier way to do this. It may work with other media players, but I use MPC-BE (Media Player Classic - BE).
It can be found here: https://sourceforge.net/projects/mpcbe/

1. Open the BD in MPCE-BE
2. After a few seconds the movie begins to play. In my experience no menus or previews play. It jumps straight into the movie.
3. While the movie is playing select Navigate from the MPC-BE menu. Within that menu select Jump To. A list of titles will display. Make note of the title that has a dot next to its name and the run time.
4. With title and run time noted you can close MPC-BE.
5. Open Make-MKV and click the button to let it read the contents of the BD.
6. In general you can tell which titles are likely the movie. If that's the case just check those. When in doubt click through each title.
a. When a title is clicked the information in the Info section changes.
b. the runtime is listed as Duration and the title is listed as Source File Name.
c. click through the titles until you find the one that matches what you wrote down from MPC-BE.
d. Eureka! This is the correct title. Uncheck other titles as needed and use whatever settings you normally use in Make-MKV to save it.
Post Reply