Вопрос или проблема
У меня выполнена следующая команда в 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
.
Проблема в том, что свойства 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. Убедитесь, что вы используете проверенные параметры и теги для достижения наилучших результатов.