Развлекательный порталРазвлекательный портал


Общее
Игры
Apple
Android
Развлечения
Прохождение
Карта сайта

Manor Lords хорошо стартовала в Steam: 160 тыс. игроков онлайн и 92% положительных отзывов
«Сердце не подлежало жизни»: появились первые кадры с Куклачевым после инфаркта
27 апреля: какой сегодня праздник?

Расщепляем QuickTime на атомы
🕑 22.06.2018 Общее 👀 90 просмотров

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

Предыдущие серии: начало и продолжение.

Одной из ключевых задач создаваемой технологии была десакрализация мультимедиа. Из чего-то возвышенно-футуристического её следовало превратить в обычный тип данных. И в еще один формат файлов, которые могли бы быть использованы в любой системе любой компьютерной платформы, “в настоящем и будущем”.

Задача несложная. Дано: конструкция файла должна обеспечивать хранение и быстрое извлечение данных с заранее неизвестного типа и размера. Данные могут храниться вне файла, нужно предусмотреть универсальный механизм ссылок на данные в файловой системе.

Свобода (настоящая) обеспечивается четко определенными правилами и жесткой базовой структурой технического устройства или общества. В социумах эту роль играют своды законов, продуманных и проверенных реальностью, которые выполняются строго и неукоснительно. Поскольку идеально только то, чего нет, все выявляемые “баги” должны немедленно браться “в работу”, изучаться и исправляться. Но я отвлекся.

Формат файла QuickTime обеспечивает максимальную (полную) свободу для размещаемых в нем данных. Свобода данных проще чем свобода социума, поэтому её базовые принципы могут быть заложены на этапе разработки. Формат выдержал проверку временем, хотя и в него пришлось вносить изменения. Это случилось один раз за почти 30 лет существования технологии.

Мир изменился. В 1990 году никто и представить себе не мог, что когда-нибудь появятся файлы больше 4 гигабайт. Не уверен что это повод для гордости, но этот барьер мир успешно преодолел. В QTFF все чаще стали пытаться впихнуть данные объемом в 5 или 6 гигабайт. Ничего хорошего из этого не получалось, и поднялся злобный вой на весь Интернет.

В итоге, в формат QTFF и в QuickTime были внесены небольшие изменения. Совместимость обновленного формата с старым абсолютная.

Если данным станет тесно в 18,4 экзабайтах (максимум адресуемого пространства для 64-битной адресации), изменений в QTFF потребуется еще меньше. Экзабайт это миллион терабайт, 10 в 18-й степени байт. Насколько я знаю, объём крупнейших в мире банков данных уже измеряется в петабайтах (это 10 в 15-й степени байт), может быть уже в десятках петабайт. До 18 экзабайт еще очень далеко.

Подробности? Если вам они интересны, я вами горжусь.

Структура QTFF

Файл-вездеход состоит из… атомов. Разработчики формата назвали индивидуальные куски данных (chunks, говоря по-русски) атомами. Атом в QTFF может состоять или из данных, или из других атомов. В физике атомы устроены иначе, но цифровые технологии – иные миры. Законы в которых устанавливает создатель. Кроме того, атом в QTFF – всего лишь термин. По моему, удачный.

Кстати, и у создателей QTFF, и у физиков, термин “атом” противоречит смыслу слова, от которого он произошел. С древнегреческого слово “атом” переводится как “неделимый”.

У каждого типа атомов уникальный идентификатор, обозначаемый особым типом данных, который на своей родине называется OSType, а за её пределами – FOURCC.

Описанию этого типа и его истории ниже посвящен целый раздел, но если не вдаваться в детали, это двуликий Янус среди типов данных. Это одновременно и целое число без знака, размером в 32 бита, и 4-символьная мнемоника.

Вот абстрактная структура QTFF-файла (приведены мнемоники типов атомов):

Файл QTFF тоже можно считать атомом: от состоит из двух атомов, ‘moov’ и ‘mdat’. Самый важный из них – ‘moov’. Он состоит из атома-заголовка, и одной или нескольких дорожек. В дорожке могут быть представлены самые разные данные: видео, аудио, эффекты, текст, и вообще что угодно.

Пусть мнемоника ‘moov’ не введёт вас в заблуждение – это не только видео или аудио, это могут быть совершенно любые синхронизированные данные. Результаты исследования на полиграфе (подозреваемого или подопытного), результаты слежения за каким-то объектом в природе, что угодно.

Это фиксация в файле процессов с привязкой их к общей шкале времени. Представление данных в дорожке и их интерпретация – забота codec’ов. (от Code-Decode).

Естественно, ни QuickTime Player, ни другие стандартные инструменты для пользователя, об этих вариантах QTFF совершенно не в курсе. Для работы с этими узкоспециальными данными требовались немалые усилия программистов – QuickTime предоставлял только удобную структуру файла и набор API (интерфейс программиста приложений – функции, структуры данных, константы) для создания, редактирования и воспроизведения QTFF.

К сожалению, это многообещающее направление было упущено руководством Apple, и в разных областях человеческой деятельности появились свои собственные форматы и наборы API для работы с ними. Я работал с QuickTime исключительно в области его типичных приложений (аудио, видео, конверсия графических и видео форматов), но другие применения QuickTime видел – они ничем не уступают специализированным решениям. Просто об этой стороне QuickTime мало кто знал.

Дорожка (‘trak’) – атом с целой иерархией. А то, что заключено в прямоугольные скобки, может быть абсолютно любыми по сложности и структуре комбинациями атомов. Если в операционной системе, где “исполняется” пришедший извне файл, не установлен codec для работы с дорожками определенного типа, она не будет исполнена. Если непонятны все дорожки, открытие файла завершится сообщением об ошибке.

Объемов памяти уже давно достаточно для установки в систему сотен codec’ов, для самых разных вариантов медиа.

FOURCC

Забавно, но факт: об этом типе данных в сети сведений выше крыши. Только, если не знать как все было на самом деле, возникает стойкое убеждение в том, что FOURCC изобрела Microsoft. Иногда (часто), вскользь, упоминается и Apple, применяющая этот тип данных в QuickTime. Украли, наверное, у Microsoft.

Впрочем, процесс забвения пока еще не зашел слишком далеко, да и Microsoft давно уже не та. Моё сообщение об этом типе данных не единственное. В англоязычной википедии, например, этот тип данных описан вполне прилично (хоть и не так подробно, как нравится мне).

FOURCC расшифровывается как “Four Characters Code”. Используется как идентификатор для самых разных целей, в различных форматах файлов и программном обеспечении.

По своей сути это 4-байтовое число, с диапазоном значений от 0 до 4 294 967 295. Но это для компьютера. Ему проще работать с числами.

Есть у FOURCC и “человеческое” лицо. Для людей (программистов и прочих посвященных) это комбинация из 4 символов, мнемоническое обозначение типа объекта. Мнемоники для человека удобнее чисел.

Например, ‘trak’ или ‘mdat’.

FOURCC впервые появились (не говорить же про такую мелочь “изобрели”) в 1982 или 1983 на Apple, в команде разрабатывавшей Mac. На Mac’е этот тип данных называется OSType, им обозначали типы файлов, ресурсов и тому подобные объекты, многих из которых в macOS уже нет. По мнению вики, OSType появился в 1984, вместе с Mac’ом.

В 1985 году компания Electronic Arts использовала FOURCC в IFF (Interchange File Format), формате разработанном для применения на Amiga канадской компании Commodore, в качестве тэгов для обозначения типов данных.

Microsoft впервые применила этот формат в начала 90-х, в RIFF, собственной реализации Amiga IFF для процессоров от Intel. Порядок байт в Intel и Motorola отличается, little- и big-endian.

Строение атома

До внедрения в QuickTime поддержки 64-битных архитектур, атомы в QTFF были устроены только так:

Байты 0-3 размер атома плюс 4 байта размера плюс 4 байта обозначения типа;
Байты 4-7 тип атома, FOURCC;
Байты 8..n данные

Обратите внимание: даже если в атоме данные нулевой длины, значение размера будет 8, это важно для последующего изложения.

Для поддержки данных объемом более 4 гигабайт был разработан еще один формат атомов:

Байты 0-3 всегда 0x00000001;
Байты 4-7 тип атома, FOURCC;
Байты 8-15 размер атома плюс 16 байт заголовков;
Байты 16..n данные.

32-битные атомы никогда не начинаются с 0x00000001, поэтому переделывать старые файлы нет необходимости.

Кроме 0x00000001, значением первых 4 байтов может быть 0x00000000, что означает “атом занимает всю оставшуюся часть файла”. Размер атома в таких случаях не имеет значения.

Если данные, не умещающиеся в 18 экзабайт, станут реальностью, появятся атомы “поколения 0x00000002”.

В продолжении – ответ на вопрос “зачем Apple Computer понадобился QuickTime для Windows?”

👍 0 👎 0

>>>Ссылка для отзывов и предложений<<<


Ещё новости с тэгом Общее


Что такое землетрясение, каковы причины его возникновения и их последствия?Что такое землетрясение, каковы причины его возникновения и их последствия?
🕑 07.02.2023 Общее Происшествия 👀 444 просмотров

Заброшенный вокзал, расписанный народными художественными узорами в ВенгрииЗаброшенный вокзал, расписанный народными художественными узорами в Венгрии
🕑 07.02.2023 Общее Фотоподборки 👀 326 просмотров

Красочные водопады Плитвицких озер в ХорватииКрасочные водопады Плитвицких озер в Хорватии
🕑 07.02.2023 Общее Красота 👀 400 просмотров

Антиправительственный митинг в Москве 10 марта 1991 годаАнтиправительственный митинг в Москве 10 марта 1991 года
🕑 07.02.2023 Общее Фоторепортажи Места События 👀 2907 просмотров

Фото-загадка: Какие символы зашифровали на этикетке зимней «Кока-колы»Фото-загадка: Какие символы зашифровали на этикетке зимней «Кока-колы»
🕑 07.02.2023 Общее Интересное 👀 638 просмотров

Перевал через Альпы и «бесконечное» шоссе: 5 опасных, но захватывающих путейПеревал через Альпы и «бесконечное» шоссе: 5 опасных, но захватывающих путей
🕑 07.02.2023 Общее Мир Страны Города 👀 462 просмотров

Чебуреки — все секреты идеального теста и фарша!Чебуреки — все секреты идеального теста и фарша!
🕑 07.02.2023 Общее Еда Рецепты 👀 529 просмотров

От Lamborghini до Mitsubishi: производители автомобилей, которые делают трактора не хуже спорткаровОт Lamborghini до Mitsubishi: производители автомобилей, которые делают трактора не хуже спорткаров
🕑 06.02.2023 Общее Автомир 👀 259 просмотров

Истории из цикла — с неожиданным концомИстории из цикла — с неожиданным концом
🕑 03.02.2023 Общее Юмор 👀 527 просмотров

Совет хозяйкам: никогда больше не развешивайте мокрые вещи на сушилки и радиаторы в квартиреСовет хозяйкам: никогда больше не развешивайте мокрые вещи на сушилки и радиаторы в квартире
🕑 03.02.2023 Общее Интересное 👀 347 просмотров

Как понять смысл слов некоторых слов без словаряКак понять смысл слов некоторых слов без словаря
🕑 03.02.2023 Общее Общество 👀 928 просмотров

Моя правда самая правдивая: эта история произошла на судеМоя правда самая правдивая: эта история произошла на суде
🕑 03.02.2023 Общее Истории Рассказы Анекдоты 👀 310 просмотров

Как немцы поступили с миллионами касок вермахта, оставшимися после войныКак немцы поступили с миллионами касок вермахта, оставшимися после войны
🕑 29.01.2023 Общее История 👀 425 просмотров

Зачем в США в начале XX века малышей отправляли почтойЗачем в США в начале XX века малышей отправляли почтой
🕑 28.01.2023 Общее США 👀 441 просмотров

«Миротворец»: что собой представляет и на что способен самый культовый револьвер Дикого Запада«Миротворец»: что собой представляет и на что способен самый культовый револьвер Дикого Запада
🕑 26.01.2023 Общее США 👀 597 просмотров

Почему Америка и Европа такие богатые и откуда у них столько денегПочему Америка и Европа такие богатые и откуда у них столько денег
🕑 19.01.2023 Общее Интересное 👀 1634 просмотров

Астрологический прогноз на 19 — 25 февраляАстрологический прогноз на 19 — 25 февраля
🕑 16.12.2017 Общее 👀 801 просмотров

Иван Ургант снова высмеял Анатолия КашпировскогоИван Ургант снова высмеял Анатолия Кашпировского
🕑 29.12.2017 Общее 👀 702 просмотров

Ольга Анохина: «Проблемы от бывшей родни»Ольга Анохина: «Проблемы от бывшей родни»
🕑 20.12.2017 Общее 👀 709 просмотров

Владимир Финогеев: Часовые амбарыВладимир Финогеев: Часовые амбары
🕑 08.01.2018 Общее 👀 796 просмотров

Популярное 2 недели


День матери: поздравления и подаркиДень матери: поздравления и подарки
🕑 20.04.2024 Развлечения Мой Дом Семья 👀 176 просмотров

Новая «Миссис Смит»: уставшая от разборок с Питтом Джоли удивила переменамиНовая «Миссис Смит»: уставшая от разборок с Питтом Джоли удивила переменами
🕑 20.04.2024 Развлечения Звезды Новости 👀 184 просмотров

Звезда *Игры престолов* присоединяется к актерскому составу *Ведьмака*Звезда *Игры престолов* присоединяется к актерскому составу *Ведьмака*
🕑 20.04.2024 Игры 👀 168 просмотров

День учителя: поздравленияДень учителя: поздравления
🕑 20.04.2024 Развлечения Мой Дом Семья 👀 288 просмотров

Инсайдер намекает на скорый анонс Far Cry 7; антагониста в игре может сыграть Киллиан МерфиИнсайдер намекает на скорый анонс Far Cry 7; антагониста в игре может сыграть Киллиан Мерфи
🕑 20.04.2024 Игры 👀 215 просмотров

День города Москва 2024День города Москва 2024
🕑 20.04.2024 Развлечения Мой Дом Семья 👀 136 просмотров

В GTA 6 может появиться трассировка лучей. Rockstar Games ищет разработчиков с опытом работы с современными API RTВ GTA 6 может появиться трассировка лучей. Rockstar Games ищет разработчиков с опытом работы с современными API RT
🕑 20.04.2024 Игры 👀 144 просмотров

Климова в платье с декольте и бантами покорила гостей ММКФКлимова в платье с декольте и бантами покорила гостей ММКФ
🕑 19.04.2024 Развлечения Звезды Новости 👀 184 просмотров

Сандра И Сенсиндивер возглавит корпорацию *Вейланд-Ютани* в сериале *Чужой*Сандра И Сенсиндивер возглавит корпорацию *Вейланд-Ютани* в сериале *Чужой*
🕑 19.04.2024 Игры 👀 215 просмотров

Intel подтверждает поддержку памяти DDR5-8800 для поколения Xeon 6Intel подтверждает поддержку памяти DDR5-8800 для поколения Xeon 6
🕑 19.04.2024 Игры 👀 193 просмотров

Личную переписку братьев Меладзе слили в Сеть — вот почему продюсер развелся с БрежневойЛичную переписку братьев Меладзе слили в Сеть — вот почему продюсер развелся с Брежневой
🕑 19.04.2024 Развлечения Звезды Новости 👀 172 просмотров

Игроки сравнили локации из трейлера Kingdom Come 2 с реальными местамиИгроки сравнили локации из трейлера Kingdom Come 2 с реальными местами
🕑 19.04.2024 Игры 👀 311 просмотров

Винни Пух выходит на охоту в дублированном тизере *Крови и мёда 2*Винни Пух выходит на охоту в дублированном тизере *Крови и мёда 2*
🕑 19.04.2024 Игры 👀 247 просмотров

Обновление для PUBG на консолях принесло ряд значительных изменений, которые ранее были добавлены на ПКОбновление для PUBG на консолях принесло ряд значительных изменений, которые ранее были добавлены на ПК
🕑 19.04.2024 Игры 👀 226 просмотров

>>>Ссылка для отзывов и предложений<<<

Новости в картинках


Manor Lords хорошо стартовала в Steam: 160 тыс. игроков онлайн и 92% положительных отзывов
«Сердце не подлежало жизни»: появились первые кадры с Куклачевым после инфаркта
27 апреля: какой сегодня праздник?
То ли лебедь, то ли цыпленок: растолстевшая Собчак опозорилась из-за фотошопа
Играй бесплатно: лучшие игры для iPhone, которые не стоят ни рубля
Мощные и недорогие приставки на Андроид, которые можно купить, если нет денег на телевизор со Смарт ТВ
Беременная Топурия покинула Россию накануне родов — где появится на свет ребенок певицы?
В понедельник появится *прогресс-трейлер* DISTORTION
Тесты Qualcomm Snapdragon X Elite могут быть подделкой
ASUS ROG Ally получила поддержку технологии AMD Fluid Motion Frames
Муцениеце со слезами на глазах о пережитом во время суда с Прилучным — ужас и стыд
Для милых зверушек Party Animals вышло обновление 1.6.1.0 (2024.4.26), а так же сейчас проходит твич дроп
Во что превратились 90 млн рублей от ИРИ? Первый геймплей *Спарты 2035* даёт ответ
Беременная Арзамасова встретилась с «бывшим» на съемках — пришел и всех переполошил
Худшие процессоры MediaTek, способные испортить любой смартфон
Состоялся анонс VR-хоррора Alien: Rogue Incursion
Более 2000 игр и DLC от 28 различных издателей получили скидку до 90% благодаря фестивалю *Золотая неделя* от KOMODO
Бузова похвасталась ремонтом в квартире после новости о золотых унитазах Киркорова — уела певца
Какой блок питания выбрать для быстрой зарядки Макбука
Здоровая обстановка в детском коллективе: на что обращать внимание родителям?
Федерико Альварес поделился закулисным взглядом на жуткого лицехвата из фильма *Чужой: Ромул*
Гагарина показала, что подарила дочке на 7-летие — Мия визжала от радости
Все звезды «Радио Шансон» на одной сцене!
Жена Никиты Преснякова показала свое истинное лицо — Орбакайте и Пугачева ей больше не указ
«Fallout»: сериальная адаптация легендарной RPG от создателей «Мира Дикого Запада»
«Сочувствующий»: шпионский сериал от режиссера «Олдбоя»
«Зло не существует»: страшная экологическая сказка с двумя призами Венецианского кинофестиваля
Fallout Miami, мод размером с DLC для Fallout 4, получил новый трейлер
Стратегия Manor Lords пользуется большой популярностью: уже более 125 тысяч игроков в Steam
Жасмин впервые рассказала, как и где живет ее муж, которого разыскивает Интерпол
Минусы смартфонов с изогнутым экраном, из-за которых вы всегда будете выбирать плоский дисплей
Рецепт нежных капкейков
Лепс заговорил начистоту о конфликте с Михайловым
Новый трейлер Smite 2 раскрыл дату проведения первого закрытого альфа-теста
Tarkov больше не нужен? Представлен геймплейный трейлер бесплатного хардкорного шутера Arena Breakout: Infinite
«У нас получится»: стало известно, кто будет снимать фильм о Романе Костомарове
Инсайдер: первая часть финала *Очень странных дел* выйдет в конце года
Через четыре моря навстречу восточной сказке — «Круиз Ретро FM 2024»
Топ-7 спектаклей, на которые можно попасть в мае
Days Gone вышла 5 лет назад: приключение в открытом мире отмечает свой юбилей
Издательство 2K представила релизный трейлер теннисного симулятора TopSpin 2K25
Скоро свадьба: Брэдли Купер готовится объявить о помолвке с Джиджи Хадид
Можно ли пользоваться iPhone без учетной записи Apple ID
Sony прислушалась к геймерам - коробочную версию Stellar Blade можно обновить до делюкс-издания
Бесплатный симулятор футбола eFootball был загружен 750 миллионов раз
В Steam началась распродажа от издателя Konami - скидки до 90%
Милый лис, будущая легенда и писатель-жертва: новые трейлеры недели
«Есть его вина»: Никиту Михалкова втянули в скандал с Пугачевой
Как сделать идеальный скриншот
Историческая стратегическая игра Manor Lords стала доступна в раннем доступе
В Steam началась распродажа от издателя Activision - скидки до 75%
Японская ролевая игра Reynatis, от сценариста Final Fantasy 7, получила новый трейлер
Lies of P получила три награды People*s Voice Awards на 28-й церемонии вручения наград Webby Awards
Двухмерный экшен Shadow of the Ninja - Reborn выйдет 29 августа
Манукян рассказал о встречах с Бузовой после совместных съемок — признал свои чувства
Глаз не оторвать: как сейчас выглядит готка Даша из «Папиных дочек»
THQ Nordic показала геймплей Biomutant на Nintendo Switch
Локации Припяти в новом трейлере S.T.A.L.K.E.R. 2: Heart of Chernobyl
Синдзи Миками рассказал, почему он решил покинуть Tango Gameworks в прошлом году
Бывший тех. директор Rockstar North раскрыл новые секреты разработки GTA 3

ePN © 2023 Все права защищены.