[FFmpeg-user] ffmpeg unable to read/play a blu-ray MPLS that works in other players

Andrew Gunnerson accounts.ffmpeg at chiller3.com
Mon Jan 23 06:27:22 EET 2023


I'm running into some trouble trying to get ffmpeg to read a blu-ray
MPLS playlist for a disc's bonus feature. This specific playlist is
one of the fancy ones that makes use of seamless branching along with
the INTime/OUTTime fields for playing back only a small part of an
m2ts stream. (Sample and logs included at the bottom.)

Looking at the headers of 00024.mpls, it loads portions of 3 streams:

1. 00002.m2ts: 47704441 to 48061048 STC time (17:40.099 to 17:48.023)
2. 00034.m2ts: 90000    to 1653436  STC time (00:02.000 to 00:36.743)
3. 00057.m2ts: 90000    to 135045   STC time (00:02.000 to 00:03.001)

for a total runtime of 43.668 seconds.

When I try to play back the mpls with:

    ffplay -playlist 24 -i bluray:AVATAR_CE_D1.sample

the video has very heavy artifacts to the point where it's hard to
discern what is being shown. However, occasionally, I can see a frame
or so from the beginning of 00002.m2ts (instead of the INTime-
specified starting point). Also, there is no audio.

When I try to play the same playlist via mpv (which I believe uses
ffmpeg, but has its own libbluray integration?), the video plays back
perfectly fine (visually, at least).

    mpv bd://20 --bluray-device=AVATAR_CE_D1.sample

(I used bd://20 instead of 24 because mpv wants a title index instead
of a playlist number.)

VLC also plays back the playlist fine. Unfortunately, it can't be
tested using the sample I provided below because the I think the only
way to select a playlist is through the BD menus, which requires the
full disc.

I originally tested with ffmpeg 5.1.2, but I've confirmed the same
issue exists when using the latest commit in master
(9d5e66942c5bae578926e29efebec348199798df at the time of writing).
I'm currently using ffplay to have fewer moving parts while testing,
but my ultimate goal is remuxing to mkv with `ffmpeg -c copy -map 0`.

Does anyone have any ideas for what might be going wrong? I'm having
trouble identifying what the root cause might be. Most of the warnings
in ffmpeg's output also show up in mpv's output despite mpv playing

Thank you!


* Sample: https://files.pub.chiller3.com/issues/ffmpeg/20230122-mpls/AVATAR_CE_D1.sample.tar
- SHA-256: 0b2db33fb089f928d6f0d93cef4fcecb0a8bb2d52ab3d18603cd444f960cf1f3
- ~3.8 GiB tarball with original BDMV directory structure
- This is the complete disc with all m2ts streams removed aside from
  the 3 loaded by 00024.mpls.
- I've ripped two different copies of the disc with two drives and
  confirmed that the files are bit-for-bit identical in all 4 rips.
- No files were modified aside from decryption.

* ffplay log: https://files.pub.chiller3.com/issues/ffmpeg/20230122-mpls/ffplay.log.xz
- Command: ffplay -playlist 24 -i bluray:AVATAR_CE_D1.sample
- The log is for 60 seconds until ffplay was manually killed

* mpv log: https://files.pub.chiller3.com/issues/ffmpeg/20230122-mpls/mpv.log.xz
- Command: mpv bd://20 --bluray-device=AVATAR_CE_D1.sample
- The log is for full playback of the playlist: ~43 seconds

More information about the ffmpeg-user mailing list