Структура элемента 'alis' элемента QuickTime 'dref' atom ' - PullRequest
2 голосов
/ 17 сентября 2011

Мне нужно переписать справочный фильм QuickTime, чтобы он указывал на другой набор файлов. Я работаю в среде Windows, поэтому у меня нет доступа к QuickTime API, и, поскольку указанные файлы недоступны, я также не могу использовать интерфейс COM для загрузки фильма, поскольку он не может разрешить указанные пути.

В документации «Спецификации формата файла QuickTime» говорится, что атом «dref» может иметь список ссылок на данные «alis», «url» и «rsrc». В этом случае мне нужно проанализировать элементы 'alis'. Согласно ссылке, «Ссылка на данные является псевдонимом Macintosh».

Пока я не смог увидеть объявление о структуре или любую другую информацию. Вы знаете структуру записи псевдонима? Где я могу найти подробную информацию о его структуре?

Большое спасибо за помощь!

Ответы [ 2 ]

1 голос
/ 09 февраля 2012

Формат очень похож на псевдоним, который можно создать в Finder, щелкнув правой кнопкой мыши элемент и создав псевдоним для него.

В сторону: когда формат QuickTime был изначально указан, Apple разумно решила включить ряд других стандартов и парадигм, которые уже широко используются в других операционных системах. Это одна из причин, почему QT (или смог) сделать действительно умные вещи, такие как эталонные фильмы. К сожалению, теперь есть еще много лишних функций ОС, которые больше не актуальны (например, AppleShare). В свое время QuickTime был гладким , особенно по сравнению с его конкурентами; сегодня он значительно недооценен из-за глючного порта Windows и относительно низкой вычислительной мощности настольных систем своего времени.

Вернемся к теме, к сожалению, формат для файлов псевдонимов не является открытым / опубликованным стандартом, и в сети очень мало документации по этой теме. Есть один действительно старый документ , который деконструирует формат псевдонимов, используемый в Mac OS Classic. Хотя структура, используемая в OS X, очень похожа, сами файлы псевдонимов имеют тенденцию быть намного больше, так как они содержат многочисленные дополнительные строки данных в конце файла, которые не описаны в вышеупомянутой документации.

Кроме того, псевдонимы, созданные в искателе do , выглядят немного иначе, чем псевдонимы, содержащиеся в атоме dref, хотя я никогда не просматривал их побитно, чтобы определить реальные различия. Если вы хотите взглянуть на эти файлы и установить OS X Developer Tools, вы можете запустить

    setfile -a a [filename]

в псевдониме, созданном Finder, чтобы лишить файл его псевдонима, чтобы вы могли просматривать его содержимое в шестнадцатеричном редакторе (в противном случае ОС просто перенаправит вас на связанный файл - дох!). Вы можете переустановить атрибут псевдонима файла или произвольно назначить любой файл псевдонимом, запустив

    setfile -a A [filename]

К сожалению, во время моих экспериментов сброс alis части атома dref фильма QT никогда не создавал псевдоним, который Mac OS мог интерпретировать.

К счастью (или нет, как это было в моем случае), функции, которые якобы использует Mac OS для создания / обработки псевдонимов, являются частью общедоступного API, называемого Alias ​​Manager , который является частью платформа CoreServices очень низкого уровня. Если у вас есть время углубиться в это, вы можете написать некоторый код, чтобы поэкспериментировать со встроенными в Mac OS возможностями генерации и интерпретации псевдонимов.

К сожалению, если вы имеете дело со старым / ошибочным файлом, у вас нет возможности узнать, был ли файл фактически сгенерирован с помощью Alias ​​Manager из CoreServices, или с тех пор эта среда изменилась / эволюционировала / регрессировала. Поскольку это закрытый формат, сторонние разработчики, которые предпочитают не использовать Alias ​​Manager, могут только догадываться о «юридической» структуре формата.

0 голосов
/ 25 декабря 2011

Вы можете использовать эту Java-программу , чтобы увидеть, что находится в заголовке, и извлечь данные (это немного устарело, но все еще может работать). Что еще полезнее, так это тщательное обсуждение автором заголовка Quicktime.

Но я думаю, что вы можете просто искать документацию Apple, в настоящее время можно найти здесь .

...