PlexCleaner
PlexCleaner copied to clipboard
FFmpeg removes IETF language tags
FFmpeg removes IETF BCP-47 language tags from MKV files during remuxing or encoding.
See FFmpeg Trac issue ticket.
See Matroska IETF Draft Spec
See Languages in Matroska and MKVToolNix WiKi
See Matroska EBML LanguageIETF tag
Summary: When FFmpeg creates MKV files from MKV files, the LanguageIETF tags from the original file is not written, and the language granularity is lost.
Create media file snippet: mkvmerge --split parts:00:00:00-00:01:00 --output MKV-IETF-Snippet.mkv MKV-IETF.mkv
MkvMerge: mkvmerge --identify MKV-IETF-Snippet.mkv --identification-format json
"language": "eng","language_ietf": "en""language": "spa","language_ietf": "es-ES""language": "srp","language_ietf": "sr-Latn-RS"
MediaInfo: mediainfo --Output=XML MKV-IETF-Snippet.mkv
<Language>en</Language><Language>es-ES</Language><Language>sr-Latn-RS</Language>
FfProbe: ffprobe -loglevel quiet -show_streams -show_format -print_format json MKV-IETF-Snippet.mkv
"language": "eng""language": "spa""language": "srp"
ReMux using FfMpeg: ffmpeg -i MKV-IETF-Snippet.mkv -map 0 -codec copy -f matroska MKV-IETF-Snippet-FfMpeg.mkv
MkvMerge differences:
"language_ietf", ``: "en": Removed the IETF language tag"language_ietf", ``: "es-ES": Removed the IETF language tag"language_ietf", ``: "sr-Latn-RS": Removed the IETF language tag
MedaInfo difference:
<Default>No</Default>,<Default>Yes</Default>: Track changed from not default to default<Language>en-US</Language>,<Language>en</Language>: Removed the IETF language tag granularity<Language>es-ES</Language>,<Language>es</Language>: Removed the IETF language tag granularity<Language>sr-Latn-RS</Language>,<Language>sr</Language>: Removed the IETF language tag granularity
FfProbe differences:
"default": 0,"default": 1: Changed track from not default to default