Я столкнулся с проблемой, когда обнаружил, что один и тот же видеофайл имеет разные значения для метаданных kMDItemkind
Spotlight в зависимости от диска, на котором он находится (конечно, на той же машине), что приводит к сбою поиска Spotlight по файлу «Kind». Чтобы усугубить проблему, значение на внешнем диске в некоторых случаях является неправильным и несовместимым с иерархией типов документов, предоставляемой приложением, из которого она поступает.
- На внутреннем диске,
- для видеофайла Matroska (с расширением
mkv
)mdls
перечисляетkMDItemKind
как «Video Media». Это правильно, так как это проигрыватель по умолчанию для этого типа файлов (MPlayerX) типа «один размер подходит всем». - для MPEG4 файлов QuickTime с ITunes Store (расширение
m4v
mdls
перечисляетkMDItemKind
, как «Apple MPEG4-Film». Опять же, это правильно, так как это проигрыватель по умолчанию для файлов этого типа (QuickTimeX), соответствующих типу видео мультимедиа.
- для видеофайла Matroska (с расширением
- На моем внешнем диске FireWire,
- для того же файла Matroska
mdls
перечисляетkMDItemKind
как «Movie-DivX». Это, очевидно, неверно, но также неверно даже для iFlicks , который предоставляет это значение, поскольку иерархия типов документов iFlicks не привязываетmkv
к этому типу - она привязывает его к «Video-Matroska». - для того же файла MPEG4
mdls
перечисляетkMDItemKind
как «Video-MPEG4». Это технически правильно, но, опять же, это значение, предоставляемое iFlicks, который не является ни проигрывателем по умолчанию для этого типа файлов, ни назначенным проигрывателем в Finder.
- для того же файла Matroska
- На обоих дисках окно «Get Info» в Finder показывает правильный тип файла (т.е.Video Media »/« Apple MPEG-4-Film »), но, в соответствии со значениями
kMDItemKind
, поиски Spotlight в этом виде возвращают только результат на внутреннем диске.
Различие вывода mdls
в соответствующих файлах показывает, что кроме этой разницы, единственными другими отличающимися ключами являются kMDItemFSOwnerGroupID
и kMDItemFSOwnerGroupID
, которые установлены на 99 (_unknown
) на внешнем диске, и на мои идентификаторы пользователей и групп на внутреннем один (обратите внимание, что, несмотря на то, что это предполагает, фактическое владение файлом и разрешения идентичны).
Оба диска отформатированы как Mac OS Extended Journaled, но проблема идентична, когда я копирую файл на USB-ключ в формате FAT32. Копирование, копирование или перемещение файлов на диске не меняет этого явления, а только переносит их из внутреннего в внешний и наоборот .
Наконец, переиндексируем внешний диск ( сначала с помощью sudo mdutil -E "/Volumes/My Book"
, затем трудным путем, сначала отключив индексацию, удалив) .Spotlight-V100
, выполняющий вышеописанное и включающий индексацию), не имеет значения. Метка времени метаданных изменяется, но значения остаются теми же.
Как заставить Spotlight хранить правильное значение для kMDItemKind
моих видеофайлов, как определено соответствующими проигрывателями по умолчанию, на внешнем диске?
Запуск OS X 10.7.4 (проблема присутствует в 10.7.3 уже), немецкий. Другие установленные мультимедийные приложения (кроме MPlayerX и iFlicks): Subler, MediaInfo, Perian