#11422: Incorrect duration when reading Blu-ray playlist with multiple .m2ts files ----------------------------------+-------------------------------------- Reporter: llm96 | Type: defect Status: new | Priority: normal Component: avformat | Version: git-master Keywords: bluray | Blocked By: Blocking: | Reproduced by developer: 0 Analyzed by developer: 0 | ----------------------------------+-------------------------------------- Summary of the bug:
FFmpeg reports the duration incorrectly when opening a Blu-ray playlist with multiple .m2ts files. In the ffprobe output below, it correctly detects the playlist length of 00:47:20 but reports a duration of 00:07:26 instead which, from the 3 discs I've tested, seems to always be close to the duration of the last file in the playlist. In the ffmpeg output, despite the incorrect duration, remuxing works as expected and it correctly produces a 47m20s file containing all three files in the playlist. Playback with ffplay is similarly fine. Some related notes from an mpv issue showing the same behaviour when using the lavf:// protocol: https://github.com/mpv-player/mpv/issues/15679#issuecomment-2588235035 Sample used: https://nyaa.si/view/1919995 How to reproduce: {{{ % ffprobe bluray:BD_VIDEO ffprobe version N-118315-g4f3c9f2f03-20250115 Copyright (c) 2007-2025 the FFmpeg developers built with gcc 14.2.0 (crosstool-NG 1.26.0.120_4d36f27) configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-libxml2 --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable- avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libdvdread --enable-libdvdnav --disable-libfdk-aac --enable- ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable- libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-libzmq --enable-lv2 --enable-libvpl --enable-openal --enable- libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable- librubberband --enable-schannel --enable-sdl2 --enable-libsnappy --enable- libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable- libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable- vulkan --enable-libshaderc --enable-libplacebo --disable-libvvenc --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs=-lgomp --extra-ldflags=-pthread --extra- ldexeflags= --cc=x86_64-w64-mingw32-gcc --cxx=x86_64-w64-mingw32-g++ --ar=x86_64-w64-mingw32-gcc-ar --ranlib=x86_64-w64-mingw32-gcc-ranlib --nm=x86_64-w64-mingw32-gcc-nm --extra-version=20250115 libavutil 59. 55.100 / 59. 55.100 libavcodec 61. 31.101 / 61. 31.101 libavformat 61. 9.106 / 61. 9.106 libavdevice 61. 4.100 / 61. 4.100 libavfilter 10. 6.101 / 10. 6.101 libswscale 8. 13.100 / 8. 13.100 libswresample 5. 4.100 / 5. 4.100 libpostproc 58. 4.100 / 58. 4.100 [bluray @ 0000023200a3d700] 1 usable playlists: [bluray @ 0000023200a3d700] playlist 00001.mpls (0:47:20) [bluray @ 0000023200a3d700] selected 00001.mpls src/libbluray/bluray.c:299: 00004.m2ts: no timestamp for SPN 0 (got 0). clip 189000000-252718029. Input #0, mpegts, from 'bluray:BD_VIDEO': Duration: 00:00:07.26, start: 4200.000000, bitrate: 16525477 kb/s Program 1 Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn Stream #0:1[0x1100]: Audio: pcm_bluray (HDMV / 0x564D4448), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Stream #0:2[0x1101]: Audio: pcm_bluray (HDMV / 0x564D4448), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s }}} {{{ % ffmpeg -playlist 1 -i bluray:BD_VIDEO -c:v copy -c:a flac out.mkv ffmpeg version N-118315-g4f3c9f2f03-20250115 Copyright (c) 2000-2025 the FFmpeg developers built with gcc 14.2.0 (crosstool-NG 1.26.0.120_4d36f27) configuration: --prefix=/ffbuild/prefix --pkg-config-flags=--static --pkg-config=pkg-config --cross-prefix=x86_64-w64-mingw32- --arch=x86_64 --target-os=mingw32 --enable-gpl --enable-version3 --disable-debug --disable-w32threads --enable-pthreads --enable-iconv --enable-zlib --enable-libfreetype --enable-libfribidi --enable-gmp --enable-libxml2 --enable-lzma --enable-fontconfig --enable-libharfbuzz --enable-libvorbis --enable-opencl --disable-libpulse --enable-libvmaf --disable-libxcb --disable-xlib --enable-amf --enable-libaom --enable-libaribb24 --enable- avisynth --enable-chromaprint --enable-libdav1d --enable-libdavs2 --enable-libdvdread --enable-libdvdnav --disable-libfdk-aac --enable- ffnvcodec --enable-cuda-llvm --enable-frei0r --enable-libgme --enable- libkvazaar --enable-libaribcaption --enable-libass --enable-libbluray --enable-libjxl --enable-libmp3lame --enable-libopus --enable-librist --enable-libssh --enable-libtheora --enable-libvpx --enable-libwebp --enable-libzmq --enable-lv2 --enable-libvpl --enable-openal --enable- libopencore-amrnb --enable-libopencore-amrwb --enable-libopenh264 --enable-libopenjpeg --enable-libopenmpt --enable-librav1e --enable- librubberband --enable-schannel --enable-sdl2 --enable-libsnappy --enable- libsoxr --enable-libsrt --enable-libsvtav1 --enable-libtwolame --enable- libuavs3d --disable-libdrm --enable-vaapi --enable-libvidstab --enable- vulkan --enable-libshaderc --enable-libplacebo --disable-libvvenc --enable-libx264 --enable-libx265 --enable-libxavs2 --enable-libxvid --enable-libzimg --enable-libzvbi --extra-cflags=-DLIBTWOLAME_STATIC --extra-cxxflags= --extra-libs=-lgomp --extra-ldflags=-pthread --extra- ldexeflags= --cc=x86_64-w64-mingw32-gcc --cxx=x86_64-w64-mingw32-g++ --ar=x86_64-w64-mingw32-gcc-ar --ranlib=x86_64-w64-mingw32-gcc-ranlib --nm=x86_64-w64-mingw32-gcc-nm --extra-version=20250115 libavutil 59. 55.100 / 59. 55.100 libavcodec 61. 31.101 / 61. 31.101 libavformat 61. 9.106 / 61. 9.106 libavdevice 61. 4.100 / 61. 4.100 libavfilter 10. 6.101 / 10. 6.101 libswscale 8. 13.100 / 8. 13.100 libswresample 5. 4.100 / 5. 4.100 libpostproc 58. 4.100 / 58. 4.100 [bluray @ 000002313c103500] 1 usable playlists: src/libbluray/bluray.c:299: 00004.m2ts: no timestamp for SPN 0 (got 0). clip 189000000-252718029. Input #0, mpegts, from 'bluray:BD_VIDEO': Duration: 00:00:07.26, start: 4200.000000, bitrate: 16525477 kb/s Program 1 Stream #0:0[0x1011]: Video: h264 (High) (HDMV / 0x564D4448), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 90k tbn Stream #0:1[0x1100]: Audio: pcm_bluray (HDMV / 0x564D4448), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Stream #0:2[0x1101]: Audio: pcm_bluray (HDMV / 0x564D4448), 48000 Hz, stereo, s32 (24 bit), 2304 kb/s Stream mapping: Stream #0:0 -> #0:0 (copy) Stream #0:1 -> #0:1 (pcm_bluray (native) -> flac (native)) Press [q] to stop, [?] for help Output #0, matroska, to 'out.mkv': Metadata: encoder : Lavf61.9.106 Stream #0:0: Video: h264 (High) (H264 / 0x34363248), yuv420p(progressive), 1920x1080 [SAR 1:1 DAR 16:9], q=2-31, 23.98 fps, 23.98 tbr, 1k tbn Stream #0:1: Audio: flac ([172][241][0][0] / 0xF1AC), 48000 Hz, stereo, s32 (24 bit), 128 kb/s Metadata: encoder : Lavc61.31.101 flac [aist#0:1/pcm_bluray @ 000002313c1bdb80] timestamp discontinuity (stream id=4352): -1415955000, new offset= 1415955000 [vist#0:0/h264 @ 000002313c1bea80] timestamp discontinuity (stream id=4113): -1416956200, new offset= 2832911200 [out#0/matroska @ 000002313c100dc0] video:12373965KiB audio:471818KiB subtitle:0KiB other streams:0KiB global headers:0KiB muxing overhead: 0.008990% frame=68114 fps=2792 q=-1.0 Lsize=12846938KiB time=00:47:20.87 bitrate=37045.6kbits/s speed= 116x }}} -- Ticket URL: <https://trac.ffmpeg.org/ticket/11422> FFmpeg <https://ffmpeg.org> FFmpeg issue tracker
_______________________________________________ FFmpeg-trac mailing list FFmpeg-trac@avcodec.org https://ffmpeg.org/mailman/listinfo/ffmpeg-trac To unsubscribe, visit link above, or email ffmpeg-trac-requ...@ffmpeg.org with subject "unsubscribe".