Skip to content

Instantly share code, notes, and snippets.

@programminghoch10
Last active December 7, 2024 16:32
Show Gist options
  • Save programminghoch10/56b29b3abb92ffe4c2916a581aff9480 to your computer and use it in GitHub Desktop.
Save programminghoch10/56b29b3abb92ffe4c2916a581aff9480 to your computer and use it in GitHub Desktop.
remove mkvmerge statistics metadata

After mkvmerge processed an mkv file, all streams have a lot of statistics metadata tagged onto them.

For example:

Stream #0:27: Subtitle: hdmv_pgs_subtitle
    Metadata:
      BPS-eng         : 40153
      DURATION-eng    : 02:26:34
      NUMBER_OF_FRAMES-eng: 3294
      NUMBER_OF_BYTES-eng: 34073971
      _STATISTICS_WRITING_APP-eng: mkvmerge v32.0.0 ('Astral Progressions') 64-bit
      _STATISTICS_WRITING_DATE_UTC-eng: 2024-04-27 21:43:32
      _STATISTICS_TAGS-eng: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

We can use ffmpeg to remove all this metadata easily:

ffmpegremovemkvmergemetadata() {
	ffmpeg \
		-hide_banner \
		-nostdin \
		-v error \
		-xerror \
		-i "$1" \
		-map 0 \
		-c copy \
		-disposition +0 \
		-metadata:s BPS-eng= \
		-metadata:s DURATION-eng= \
		-metadata:s NUMBER_OF_FRAMES-eng= \
		-metadata:s NUMBER_OF_BYTES-eng= \
		-metadata:s _STATISTICS_WRITING_APP-eng= \
		-metadata:s _STATISTICS_WRITING_DATE_UTC-eng= \
		-metadata:s _STATISTICS_TAGS-eng= \
		-metadata:s DURATION= \
		-metadata:s ENCODER= \
		-metadata:s BPS= \
		-metadata:s NUMBER_OF_FRAMES= \
		-metadata:s NUMBER_OF_BYTES= \
		-metadata:s _STATISTICS_WRITING_APP= \
		-metadata:s _STATISTICS_WRITING_DATE_UTC= \
		-metadata:s _STATISTICS_TAGS= \
		-metadata:s SOURCE_ID= \
		-metadata:s SOURCE_ID-eng= \
		-metadata:g creation_time= \
		"${1%.*}-nomkvmergemetadata.${1##*.}"
}

Which reduces our example to:

Stream #0:27: Subtitle: hdmv_pgs_subtitle

When using mkvmerge use the following arguments to prevent creation of these metadata tags:

--disable-track-statistics-tags
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment