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


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

Стало известно имя монарха, который вскоре сменит Карла III на троне
Топ-10 полезных товаров с АлиЭкспресс из моего личного рейтинга
В WhatsApp появится функция передачи файлов без интернета

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

В предыдущих сериях цикла я делал комплименты формату файлов 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 Общее Происшествия 👀 442 просмотров

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

Топ-10 удивительных фактов о собаках, о которых вы не зналиТоп-10 удивительных фактов о собаках, о которых вы не знали
🕑 10.04.2024 Развлечения Мой Дом Семья 👀 164 просмотров

Сожжение ретроградного Меркурия: знаки зодиака, которые разом избавятся от проблем 11 апреляСожжение ретроградного Меркурия: знаки зодиака, которые разом избавятся от проблем 11 апреля
🕑 10.04.2024 Развлечения Гороскопы Гороскоп 👀 159 просмотров

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

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


Стало известно имя монарха, который вскоре сменит Карла III на троне
Топ-10 полезных товаров с АлиЭкспресс из моего личного рейтинга
В WhatsApp появится функция передачи файлов без интернета
«На воре и шапка горит»: Михайлов не стал молчать о предательстве Пугачевой
Вышел дублированный трейлер Максин XXX
Графическая производительность PlayStation 5 Pro должна быть на 45% больше, чем у PlayStation 5, чтобы работать в 60 fps
Анонсирована VR-версия MudRunner для Meta Quest 2, 3 и Pro
Караулова перестала скрывать пластику — не была довольна своим лицом
Анонсирована эротическая фигурка главной героини Stellar Blade
Шах и мат: Муцениеце одолела Прилучного в суде
Сериал «Кибердеревня» продлили на второй сезон
Примет вместе с двумя детьми: Киркоров собрался жить с известной артисткой
Примет вместе с двумя детьми: Киркоров собрался жить вместе с известной артисткой
Xiaomi 15 Pro – переворот на рынке, iPhone 16 Pro всех удивит, ...
Точно в цель: средства, без которых вам не обойтись весной
Может коснуться каждого: почему авиакомпании будут высаживать людей из самолета
Имя возлюбленной на руке: Манукян рассекретил личную татуировку
Какой робот-пылесос с влажной уборкой, Алисой и станцией самоочистки купить за 20 000 рублей
Новый процессор Snapdragon 8 Gen 4 мощнее Apple M2 для макбуков. Когда он выйдет и какие смартфоны его получат
Gas Station Simulator продалась тиражом более 1 миллиона копий и заработала в Steam более 10 миллионов долларов
Впервые после 30-летнего перерыва в Москве выступит Государственный балет на льду Санкт-Петербурга
Каждый третий автор не начинает писать книгу или сценарии из-за страха критики
Легендарные *Черепашки-ниндзя* снова в деле: состоялся релиз обновленной аркады Wrath of the Mutants
Тихая и с покрытой головой: Прилучный окончательно довел Брутян
Опубликована архитектура программы пространства Urban Hub на ПМЭФ-2024
Cyberpunk 2077 запустили на смартфоне Lenovo Legion Y70
В PUBG вернётся оригинальная карта Erangel со старой механикой
Александр Жаров выступил на международном форуме «Мир возможностей» в Дубае
Не вывозит: проблемам Брухуновой нашли объяснение
СМИ: главную роль в экранизации *Нейроманта* сыграет Каллум Тернер
Слух: игроки Fortnite смогут угонять друг у друга транспорт
Ravenswatch получила обновление The Fall of Avalon и скидку -30% в связи с ним. Также была опубликована дорожная карта
Remnant 2 получила поддержку кроссплея и технологий NVIDIA DLSS 3.7 и Intel XeSS 1.3
3 нескучных завтрака с йогуртом
Сериал Fallout стал самой популярной экранизацией игр в России, обойдя The Last of Us, *Аркейн* и *Киберпанк*
Утечка: в Helldivers 2 появится новое транспортное средство
Перезагрузка Perfect Dark для Xbox будет поддерживать режим 60 кадров в секунду
Smalland: Survive the Wilds получила крупное обновление # 12: Обновление крафта
Адвенчура Tintin Reporter: Cigars of the Pharaoh получила обновление 1.0.7
Названы самые аварийные машины из Китая — что с ними не так?
Холодный расчет: вот почему Харламов воссоединился с Ковальчук
Dead Island 2 стала самой продаваемой игрой в Steam после выхода
СМИ: во втором сезоне *Уэнсдей* сыграет звезда *Мира Дикого запада*
Новые игроки в Fallout: New Vegas столкнулись с троллингом от ветеранов серии
Хардкорная Lords of the Fallen получает обновление с новой бронёй, оружием и другими улучшениями
Новое фото принца Луи: чего не хватает на снимке, сделанном Кейт Миддлтон
Гордон Фримен все сломал: в Team Fortress 2 обнаружили необычный баг
Топ-12 концертов, на которые можно сходить в мае
JEDEC обновила стандарт DDR5 для повышения безопасности, скорости и поддержки DDR5-8800
В трейлере *Дэдпул и Росомаха* нашли приятную отсылку на первый фильм про Человека-паука с Тоби Магуайром
Ефремов нарушил режим в колонии — адвокат дал комментарий об отказе в УДО
Baldur*s Gate 3 получила еще одну награду и признание от немецкого правительства
Создатели Opera GX уже неделю троллят разработчиков Payday 3 из-за низкого онлайна
Эпические битвы на новых скриншотах Warhammer 40,000: Space Marine 2
«Отказалась от врачей и денег»: Кудрявцева сообщила о смертельном недуге
*Просто наслаждайтесь*: директор Stellar Blade рассказал, для кого была сделана игра
Сериал Fallout стал самой популярной экранизацией игры в России, обойдя The Last of Us, *Аркейн* и *Киберпанк*
Розовая Луна перемен: знаки зодиака, жизнь которых изменится к лучшему после Полнолуния 24 апреля
Приключенческий экшен Tomb Raider: Definitive Edition неожиданно стал бесплатным в Microsoft Store
Genshin Impact была обновлена до версии 4.6, в игру добавили Арлекино, новые задания и многое другое

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