MetalDave wrote: ↑Tue Oct 06, 2020 2:52 pm
I'm multi-OS; I'm using Ubuntu right now to read this.
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.)