Метафайлы в стриминге
Архив
"Метафайл" — одно из слов, часто употребляющихся в мире потокового медиа. Но не пугайтесь его непонятности: метафайл — это всего лишь текст, который содержит информацию, описывающую или специфицирующую определенный файл или файлы.
В стриминг-индустрии метафайлы также описывают файлы, объединяя разрозненную информацию в единый поток. Примеры метафайлов: ASX-файлы платформы Windows Media или RAM- и SMI-файлы платформы Real, — но это не единственные метафайлы в потоковом мире. Эксперты, ссылаясь на метафайлы, обычно говорят о файлах, склеивающих аудио- и видеоинформацию потока с событиями, привязанными к контенту.
Технология Windows Media использует файлы ASX для соединения вебстраницы с потоковым сервером.
Вебстраница ссылается на метафайл стандартным href-линком:
<href = “startshow.ASX”>
Один из примеров того, что делают ASX-файлы, — указание на потоковые ASF-файлы на стрим-сервере, например:
<.ASX VERSION=”3.0"> <ENTRY>
<REF HREF=”http://samples.microsoft.com/media.asf”></ENTRY>
</.ASX>
Это выглядит почти как HTML, в действительности это XML. ASX-файл обитает на HTTP-сервере вместе с вебстраничками и загружается на машину клиента, когда тот кликает линк href.
ASX-файл, представленный выше, можно принимать за основу. В него можно добавить любые типы информации, включая автора, название и копирайт. Также можно объединить ASF-файлы в плей-лист, задать действия, которые должны произойти при определенных изменениях, или размещение рекламных банеров.
Все это делается при помощи языка XML, которому несложно научиться, особенно если у вас есть опыт работы с HTML. Редактура метафайлов осуществляется подобно редактуре HTML-документов. Метафайл обрабатывается в любом текстовом редакторе, а затем ему присваивается метафайл-расширение (ASX, RAM или SMI).
История метафайлов Real Networks еще более занятна: начало было положено RAM-файлом, весьма похожим на ASX-файл от Windows. RAM-файл находился на HTTP-сервере и описывал путь соединения с потоковым сервером, также он мог содержать плей-лист RM-потоков.
Простейшего текстового редактора вполне хватало для создания метафайлов со следующей структурой :
pnm://www.yourserver.com/path/streamingfilename1,
где www.yourserver.com — DNS-имя железки, обслуживающей ваши потоки, path указывает на местонахождение файла, а streamingfilename1 обозначает необходимый тип медиа (например, RM, RA).
Если вам необходимо создать список файлов Real для проигрывания в тот момент, когда пользователь щелкает по ссылке, просто напишите метафайл, содержащий несколько URL на различных строках.
pnm://www.yourserver.com/path/streamingfilename1
pnm://www.yourserver.com/path/streamingfilename2
pnm://www.yourserver.com/path/streamingfilename3
После того, как пользователь «делает линк», файлы проигрываются в указанном порядке.
Real Networks добавила интерактивности с созданием языка SMIL (Synchronized Multimedia Integration Language).
SMIL
Фирма Real Networks оказала решающее влияние на развитие SMIL 1.0, ставшего стандартом WWW-консорциума (W3C). Она предложила свою версию SMIL совместно с представлением платформы G2; Quicktime 4.1 от Apple, вышедший в конце прошлого года, обеспечивал поддержку SMIL 1.0. Таким образом, приложения SMIL начинают завоевывать место под солнцем. К сожалению, версии от Real и Apple Quicktime включают унаследованные расширения, препятствующие полной взаимосовместимости.
Корпорация Microsoft — еще один крупный игрок на поле потокового медиа, рассматривая проблемы медиа-интеграции в совершенно особом ключе, отказалась включать SMIL 1.0 в свою технологию Windows Media. Мы еще вернемся к Microsoft и к будущему SMIL после рассмотрения некоторых основ языка.
Основы SMIL
SMIL — язык текстовой разметки, позволяющий установить специфическую область на дисплее для отображения медиа-информации и координировать временную привязку медиа с несколькими последовательными и параллельными треками. Например:
<smil>
<head> <meta name=”author” content=”Andy Covell”/>
<meta name=”title” content=”Sample Video With Ad”/>
<layout>
<root-layout width=”180" height=”190"/>
<region id=”advertisement” top=”10" left=”10" width=”160" height=”40"/>
<region id=”video” top=”60" left=”10" width=”160" height=”120"/>
</layout> </head>
<body> <seq> <par>
<img region=”advertisement” src=”ad.gif” fill=”freeze”/>
<audio src=”advert.rm”/>
</par>
<video region=”video” src=”quickvideo.rm”/>
</seq>
</body>
</smil>
Разметочная секция <layout> описывает местоположение двух фрагментов на дисплее: одного — для рекламы, другого — для потокового видео. Секция <body> определяет, что реклама, включающая GIF-картинку и аудиотрек, передаваемые параллельно, играется первой. Вслед за рекламой идет видеопоток.
SMIL 1.0 — мощный, устремленный в будущее язык для спецификации синхронизированного мультимедийного контента. Он также позволяет привязывать медиа-элементы к другим медиа или к вебстраницам. Если вы владеете HTML, несложно научиться «программному» использованию SMIL. Это простой язык, который могут использовать как новички, так и медиа-специалисты.
То, что SMIL является простой текстовой спецификацией, означает, что SMIL-файлы могут генерироваться автоматически и динамически при помощи стандартного Web-ориентированного программирования и инструментов для работы с базами данных. Более ранние попытки медиа-интеграции означали добавление событийных триггеров в содержание файлов потокового медиа (например, использование RM-событий в файлах Real Media и ASF-индексирование в ASF-файлах в технологии Microsoft Windows Media). Такой подход не давал необходимой гибкости в работе с предложением потокового медиа.
Новые возможности творческого использования динамически генерируемого SMIL включают составление аудио-плей-листов, целевую вставку рекламы, клипы обзора спортивных событий для определенного пользователя, а также задаваемый пользователем набор обучающих инструкций. SMIL также вполне пригоден для решения самых насущных задач по применению потокового медиа, основанного на различной пропускной способности разных участков веба. Вы можете просчитать общие требования ширины канала для успешного предложения вашего контента и настроить SMIL-файлы на разные каналы приема-передачи, что обеспечит надежное и четкое представление вашего содержимого на компьютерах пользователей.
SMIL-кодировка вручную, как и написание HTML-кода, отнимает немало времени, в связи с чем появился разнообразный выбор GUI SMIL-редакторов, позволяющих интегрировать и редактировать содержимое мультимедийного потока с использованием «тайм-лайна» (привязки ко времени). Эти инструменты варьируются от функционально ограниченного RealSlideshow, предназначенного для быстрого и упрощенного создания основанных на SMIL слайдовых последовательностей с закадровым текстом, до обладающего действительно богатыми возможностями T.A.G. (от компании Extend Media), который позволяет производить «навороченную» редактуру, генерировать SMIL-код, включает логику для автопросчета необходимой ширины канала, а также обеспечивает качественное воспроизведение потоков синхронизированного медиа.
К вопросу о Microsoft и о будущем SMIL
Microsoft, как уже было сказано, решила не поддерживать SMIL 1.0, потому что рассматривает эту спецификацию как ограниченный, неполный ответ на требования синхронизации организованного во времени вебконтента и интеракций. Компания проводит изыскания с целью создания браузероцентричного синхронизирующего языка и направляет свои усилия на разработку альтернативной спецификации — HTML+TIME, которую и представила W3-консорциуму. Но HTML+TIME пока не достигла статуса «рекомендованной» (окончательная стандартизационная версия W3C-спецификации).
Теперь Microsoft объединила усилия с Real Networks и некоторыми другими компаниями для работы над модификацией SMIL 1.0. Сия новая версия, названная SMIL Boston, добавит новые синхронизационные возможности (например, улучшенные переходы между информацией разных типов) и расширит SMIL-спецификацию для осуществления основанной на браузере синхронизации вебэлементов — таких, как Javascript, и других динамических HTML-компонентов — то, чего Мicrosoft добилась при разработке HTML+TIME.
SMIL Boston пока находится в стадии разработки, и Microsoft уже включила кое-какие предварительные SMIL-спецификации в бета-версию IE 5.5.
Real Networks также включает применения SMIL Boston в свои потоковые продукты. И пока основным направлением развития Real Networks является работа с потоковым мультимедиа многие в мире IT полагают, что Real в действительности будет включать возможности браузера в Real Player для поддержки все возрастающей интерактивности и работы с приложениями e-commerce — предположение, которое логично вытекает из расширившихся возможностей SMIL Boston. Компания недавно создала клиентскую версию своего плейера для корпорации Global Media со встроенной поддержкой HTML на базе открытого исходного кода Mozilla. Правда, на словах представители Real Networks отрицают любые планы полной поддержки HTML в своем плейере.
SMIL уже проявил себя как мощное средство интеграции содержимого потокового медиа и определенно имеет большое будущее, которое позволит медиа-энтузиастам улыбаться (от smile — улыбка) на протяжении довольно долгого времени.