makemkv and mkv metadata

Discussion of advanced MakeMKV functionality, expert mode, conversion profiles
Post Reply
muidem
Posts: 1
Joined: Sat Jan 13, 2018 8:52 pm

makemkv and mkv metadata

Post by muidem »

Greetings!

I have several distinct questions but they're all metadata related so I figured I'd group them here. If you would prefer that I split each question out into a distinct post then I can do that of course.

[General Diagnostic Information]
Software:
- MakeMKV v1.10.8 [win(x64-release)]
- ffmpeg v3.4.1

Primary Use: Blu-ray remux to mkv. Local playback via Plex Media Player.

[Question #1]
MakeMKV appears to be appending "-eng" to several metadata tags.
Context: I use MakeMKV to rip three tracks from my Blu-ray (Video, Best Audio, any forced subs):

Image


ffprobe examination reveals the following metadata (Chapters snipped for brevity):

Code: Select all

F:\Video\test>ffprobe 300_1080p.Remux.Raw.mkv
ffprobe version 3.4.1 Copyright (c) 2007-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, matroska,webm, from '300_1080p.Remux.Raw.mkv':
  Metadata:
    title           : 300
    encoder         : libmakemkv v1.10.8 (1.3.5/1.4.7) win(x64-release)
    creation_time   : 2018-01-02T23:35:10.000000Z
  Duration: 01:56:32.57, start: 0.000000, bitrate: 18548 kb/s
    Chapter #0:0: start 0.000000, end 316.983333
    Metadata:
      title           : Chapter 01
    [ ... snip chapter spam ... ]
    Chapter #0:29: start 6543.537000, end 6992.568917
    Metadata:
      title           : Chapter 30
    Stream #0:0(eng): Video: vc1 (Advanced) (WVC1 / 0x31435657), yuv420p(bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Metadata:
      title           : VC-1 Remux
      BPS-eng         : 16799971
      DURATION-eng    : 01:56:32.568916666
      NUMBER_OF_FRAMES-eng: 167654
      NUMBER_OF_BYTES-eng: 14684367690
      SOURCE_ID-eng   : 001011
      _STATISTICS_WRITING_APP-eng: MakeMKV v1.10.8 win(x64-release)
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-01-02 23:35:10
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
    Stream #0:1(eng): Audio: truehd, 48000 Hz, 5.1(side), s32 (24 bit) (default)
    Metadata:
      title           : Surround 5.1
      BPS-eng         : 1735671
      DURATION-eng    : 01:56:32.569166666
      NUMBER_OF_FRAMES-eng: 8391083
      NUMBER_OF_BYTES-eng: 1517100624
      SOURCE_ID-eng   : 001101
      _STATISTICS_WRITING_APP-eng: MakeMKV v1.10.8 win(x64-release)
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-01-02 23:35:10
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID

F:\Video\test>

Why I think this is a problem:
Generally, my next step is to create a stereo mix based on the primary audio stream and then mux that in. In that case, ffmpeg sets the DURATION tag for each copied stream resulting in both "DURATION" and "DURATION-eng".

Code: Select all

F:\Video\test>ffprobe 300.2ch.tags.test_metadata_map.mkv
ffprobe version 3.4.1 Copyright (c) 2007-2017 the FFmpeg developers
  built with gcc 7.2.0 (GCC)
  configuration: --enable-gpl --enable-version3 --enable-sdl2 --enable-bzlib --enable-fontconfig --enable-gnutls --enable-iconv --enable-libass --enable-libbluray --enable-libfreetype --enable-libmp3lame --enable-libopenjpeg --enable-libopus --enable-libshine --enable-libsnappy --enable-libsoxr --enable-libtheora --enable-libtwolame --enable-libvpx --enable-libwavpack --enable-libwebp --enable-libx264 --enable-libx265 --enable-libxml2 --enable-libzimg --enable-lzma --enable-zlib --enable-gmp --enable-libvidstab --enable-libvorbis --enable-cuda --enable-cuvid --enable-d3d11va --enable-nvenc --enable-dxva2 --enable-avisynth --enable-libmfx
  libavutil      55. 78.100 / 55. 78.100
  libavcodec     57.107.100 / 57.107.100
  libavformat    57. 83.100 / 57. 83.100
  libavdevice    57. 10.100 / 57. 10.100
  libavfilter     6.107.100 /  6.107.100
  libswscale      4.  8.100 /  4.  8.100
  libswresample   2.  9.100 /  2.  9.100
  libpostproc    54.  7.100 / 54.  7.100
Input #0, matroska,webm, from '300.2ch.tags.test_metadata_map.mkv':
  Metadata:
    title           : 300
    creation_time   : 2018-01-02T23:35:10.000000Z
  Duration: 01:56:32.58, start: 0.000000, bitrate: 18840 kb/s
    Chapter #0:0: start 0.000000, end 316.983333
    Metadata:
      title           : Chapter 01
    [ ... snip chapter spam ... ]
    Chapter #0:29: start 6543.537000, end 6992.568917
    Metadata:
      title           : Chapter 30
    Stream #0:0(eng): Video: vc1 (Advanced) (WVC1 / 0x31435657), yuv420p(bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn, 47.95 tbc (default)
    Metadata:
      title           : VC-1 Remux
      BPS-eng         : 16799971
      DURATION-eng    : 01:56:32.568916666   
      NUMBER_OF_FRAMES-eng: 167654
      NUMBER_OF_BYTES-eng: 14684367690
      SOURCE_ID-eng   : 001011
      _STATISTICS_WRITING_APP-eng: MakeMKV v1.10.8 win(x64-release)
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-01-02 23:35:10
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
      DURATION        : 01:56:32.568000000
    Stream #0:1(eng): Audio: truehd, 48000 Hz, 5.1(side), s32 (24 bit) (default)
    Metadata:
      title           : Surround 5.1
      BPS-eng         : 1735671
      DURATION-eng    : 01:56:32.569166666
      NUMBER_OF_FRAMES-eng: 8391083
      NUMBER_OF_BYTES-eng: 1517100624
      SOURCE_ID-eng   : 001101
      _STATISTICS_WRITING_APP-eng: MakeMKV v1.10.8 win(x64-release)
      _STATISTICS_WRITING_DATE_UTC-eng: 2018-01-02 23:35:10
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
      DURATION        : 01:56:32.486000000
    Stream #0:2(eng): Audio: aac (LC), 48000 Hz, stereo, fltp
    Metadata:
      title           : My Stereo Mix
      DURATION        : 01:56:32.576000000

F:\Video\test>

My initial thought was that it was related to the value set for "Language" or "Metadata Language" but changing (or leaving blank) that value didn't seem to make a difference. Is there any way I can prevent MakeMKV from appending -eng to these tags?

This leads me into question #2 which is admittedly somewhat orthogonal to MakeMKV.

[Question #2]
The precision of the duration added by ffmpeg is less than the one added by MakeMKV -- and is therefore a different value.
Context: Will this difference in precision affect playback over the course of an entire film?


Image


Is there any way to adjust the precision of the ffmpeg calculated duration?

Is this value actually important and/or used by anything or is this just metadata?

Thanks in advance for any help!
Post Reply