Как использовать ffmpeg или exiftool для записи тегов в метаданные файла mp4?

Вопрос или проблема

У меня выполнена следующая команда в Ubuntu App на Windows 11:

ffmpeg -i "$mp4_file" \
    -metadata:s:s:0 language=eng \
    -metadata title="Вот здесь мой заголовок!" \
    -metadata subtitle="Мой субтитр" \
    -metadata rating="4" \
    -metadata comment="Вот здесь мой комментарий!" \
    -metadata tags="мои; теги; здесь;" \
    -codec copy "$meta_file"

Я также пробовал:

exiftool -Title="$title" \
    -Subtitle="Не работает TODO" \
    -Keywords="мои;теги;здесь;TODO" \
    -Comment="$summary" \
    "$mp4_file"

Но только Заголовок и Комментарии заполняются в метаданных, когда я проверяю свойства MP4 файла через Правый клик > Свойства > Подробности. Субтитры и Теги не записаны. Что я делаю не так? Я также пробовал -metadata keywords вместо -metadata tags.

Подробности свойств Mp4

Проблема в том, что свойства Windows не читают стандартные видео-теги (см. страницу тегов Quicktime от exiftool) для этих свойств. Вместо этого он читает только специфические теги Microsoft.

Используя exiftool, вы можете записать свойства “Субтитры” и “Теги” с помощью этой команды:
exiftool -Microsoft:Subtitle="Субтитр здесь" -Microsoft:Category="Теги здесь" /path/to/files/

Эта команда создает резервные файлы. Добавьте -overwrite_original, чтобы подавить создание резервных файлов. Добавьте -r, чтобы рекурсивно заходить в подкаталоги.

Я не знаю, умеет ли ffmpeg записывать теги Microsoft.

Вы можете найти список того, какие метаданные Windows читает для заполнения окна Свойства⇾Подробности в этом посте exiftool.

Ответ или решение

Для записи тегов в метаданные файла MP4 можно использовать инструменты FFmpeg и ExifTool. Ниже приведены инструкции по их использованию, а также объяснение, почему некоторые метаданные могут не отображаться в свойствах файла в системе Windows.

Использование FFmpeg

FFmpeg – это мощный инструмент для работы с мультимедийными файлами. Чтобы добавить метаданные, можно использовать следующий пример команды:

ffmpeg -i "$mp4_file" \
    -metadata:s:s:0 language=eng \
    -metadata title="My Title Is Here Guys!" \
    -metadata subtitle="My Subtitle" \
    -metadata rating="4" \
    -metadata comment="My Comment Is Here!" \
    -metadata keywords="my; tags; are; here;" \
    -codec copy "$meta_file"

Обратите внимание, что -metadata keywords может не работать в Windows, так как система может не распознавать стандартные метаданные мультимедийных файлов, в отличие от некоторых других операционных систем. В этом случае лучше использовать ExifTool для записи специфичных тегов.

Использование ExifTool

ExifTool – это другой мощный инструмент для редактирования метаданных. Для записи субтитров и тегов в файл MP4 используйте следующую команду:

exiftool -Microsoft:Subtitle="Subtitle goes here" \
    -Microsoft:Category="my; tags; here;" \
    -Comment="My Comment Is Here!" \
    -Title="My Title Is Here Guys!" \
    "$mp4_file"

Если вы не хотите создавать резервные копии файлов, добавьте параметр -overwrite_original:

exiftool -overwrite_original -Microsoft:Subtitle="Subtitle goes here" \
    -Microsoft:Category="my; tags; here;" \
    -Comment="My Comment Is Here!" \
    -Title="My Title Is Here Guys!" \
    "$mp4_file"

Причины проблемы с отображением метаданных

Как упоминалось, проблема может заключаться в том, что свойства, отображаемые в Windows, не всегда соответствуют стандартным тегам QuickTime. Windows может считывать только определённые специфические теги Microsoft. Поэтому, чтобы убедиться, что вы записываете нужные метаданные, используйте теги, упомянутые в документации ExifTool.

Вот ссылки на соответствующие страницы для вашего удобства:

Заключение

Использование ExifTool для записи метаданных, специфичных для Microsoft, является наилучшим решением для корректного отображения информации в свойствах файла в Windows. Убедитесь, что вы используете проверенные параметры и теги для достижения наилучших результатов.

Оцените материал
Добавить комментарий

Капча загружается...