Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FFmpeg removes IETF language tags #148

Open
ptr727 opened this issue Mar 24, 2023 · 0 comments
Open

FFmpeg removes IETF language tags #148

ptr727 opened this issue Mar 24, 2023 · 0 comments
Labels
bug Something isn't working external External dependency

Comments

@ptr727
Copy link
Owner

ptr727 commented Mar 24, 2023

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
@ptr727 ptr727 added external External dependency bug Something isn't working labels Mar 24, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working external External dependency
Projects
None yet
Development

No branches or pull requests

1 participant