пятница, 15 июля 2016 г.

Инструменты анализа форматов для архивистов, часть 4


(Окончание, предыдущую часть см. http://rusrim.blogspot.ru/2016/07/3.html )

Складываем всё вместе: FITS

Что делать, если вы хотите узнать второе мнение о файле? Может быть, даже третье или четвертое?

Существует множество свободно используемых программных средств для идентификации файловых форматов и извлечения метаданных, и ограниченный объём статьи не  позволяет упомянуть их все. В их числе такие инструменты, как MediaInfo (  https://mediaarea.net/en/MediaInfo ),  который извлекает метаданные из аудио- и видеофайлов, инструмент извлечения метаданных (Metadata Extraction tool, http://meta-extractor.sourceforge.net/ ) Национальной Библиотеки Новой Зеландии (NLNZ), специализирующийся на нескольких подходящих для архивного хранения форматах, и Tika фирмы Apache ( https://tika.apache.org/ ), способный извлекать метаданные из более чем тысячи форматов.

Все эти приложения выдают разную информацию, не всегда соглашаясь друг с другом. Некоторые осуществляют более детальную идентификацию, чем другие, а некоторые придирчивее других при оценке правильности файла. Желательно использовать несколько инструментов, на случай, если один из них не лучшим образом справляется с определенными задачами. Инструментальный набор библиотеки Гарвардского университета для получения информации о файлах (File Information Tool Set, FITS, http://projects.iq.harvard.edu/fits ) позволяет совместно использовать дюжину различных инструментов.

FITS первоначально служил – и до сих пор служит – в роли «привратника» Службы электронного хранилища Гарвардской библиотеки (Digital Repository Service, DRS). Сейчас им пользуются и другие учреждения. Я лишь недолгое время поработал с FITS, но мои усилия сыграли значительную роль в превращении его из специфического для Гарварда инструмента в инструмент, используемый и поддерживаемый значительно более широким сообществом. Он доступен под лицензией LGPLv3.

DROID, ExifTool и JHOVE входят в число поддерживаемых FITS инструментов, равно как и Tika, file, MediaInfo, NLNZ Metadata Extractor, а также неподдерживаемый, но до сих пор иногда полезный инструмент под названием ffidenthttp://web.archive.org/web/20061106114156/http://schmidt.devlib.org/ffident/index.html ) и несколько инструментов собственной разработки.

При всей его сложности, использовать FITS довольно просто. Ниже приведен простейший вариант полезной команды, которая анализирует файл с использованием всех модулей:
    fits -i sample.png
Сочетать различные инструменты сложно по нескольким причинам. Они написаны на разных языках - FITS на Java, и он вызывает созданные не на Java программы, такие, как ExifTool, через интерфейс командной строки. Результаты выдаются в различных форматах, и каждый инструмент использует свою собственную терминологию.

В тех случаях, где поддерживаемые инструменты могут выдавать результаты в формате XML, FITS использует XSLT для преобразования его в «FITS XML», а затем объединяет результаты в один XML-файл. В качестве дополнительной возможности он может конвертировать FITS XML в схемы метаданных, обычно используемые архивами и библиотеками, такие как MIX ( http://www.loc.gov/standards/mix/ ), TextMD (  https://www.loc.gov/standards/textMD/ ) и AES Audio Object (  http://www.aes.org/publications/standards/search.cfm?docID=84 ).

Часто инструменты не вполне согласны в своей оценке файла, и FITS пытается разрешать конфликты. В разделе «Идентификация» выдачи в формате FITS XML перечислены инструменты, которые идентифицировали файловый формат; если они не разошлись во мнениях, то у него будет атрибут status=CONFLICT. Те, кто хочет получить однозначный ответ, могут установить приоритеты для инструментов и установить флаг выдачи сведений о конфликтах в значение false. Первый давший ответ инструмент выигрывает.

Поскольку FITS агрегирует в одном приложении так много инструментов, у каждого из которых имеется собственный цикл разработки, это сложное для управления программное обеспечение. Иногда FITS вынужден пользоваться более старыми версиями инструментов до тех пор, пока его разработчики не настроят его для работы с последней версией инструмента.

Завершающие мысли

Идентификация форматов и характеризация файлов - сложное дело. Технические спецификации могут порой быть неоднозначными. Практика, отклоняющаяся от буквы спецификаций, может стать общераспространенной; например, сейчас требование TIFF о выравнивании адресов на четную границу считается архаичным. Люди по-разному смотрят на то, какое число ошибок можно считать приемлемым. Чрезмерная придирчивость может привести к тому, что в архивы не будут допущены вполне пригодные к использованию файлы.

Специалисты увлеченно ищут ответы, и часто из них невозможно четко выделить единственно правильный. Поэтому совсем не удивительно, что конкурируют различные инструменты на основе различной философии, и что наилучшим подходом может быть их совместно использование и объединение выдаваемых ими результатов.

Гэри МакГэф (Gary McGath)

Источник: блог «Mad File Format Science»
https://lwn.net/Articles/688396/

Комментариев нет:

Отправить комментарий