Будущее медиа-технологий сегодня (ч.1)

Напечатать страницу
29.10.2009 12:59 | deeper2k

Тема доставки медиа-контента является достаточно актуальной на сегодняшний день. Не так давно были выпущены расширения IIS Media Services, которые позволяют по-другому посмотреть на способы доставки медиа-контента. Этой заметкой я бы хотел открыть серию статей, посвященных этой теме.

Развитие телекоммуникацонной среды позволило всерьез говорить о воспроизведении аудио- и видео-контента через Интернет. При этом необязательно ограничиваться низкокачественным потоком. С другой стороны существует большое количество сценариев, где использование медиа-контента является очень благоприятным. Однако, несмотря на то, что на сегодняшний день в различных частях планеты доступен надежный, высокоскоростной и дешевый доступ в Интернет, разработчики подобных приложений до сих пор испытывают различные трудности. Они связаны с различными аспектами функционирования медиа-приложений. Одной из основных проблем является интерактивность приложения и время его реакции на действия пользователя. Кроме того, разработчики подобных приложений очень часто задаются вопросом оптимизации инфраструктуры для размещения таких приложений и повышения её эффективности. Особенно это справедливо для высоконагруженных приложений. Эти и другие проблемы являются достаточно серьезным ограничением для дальнейшего развития медиа-приложений в Интернет.

Разработчики Microsoft попытались решить эти и другие проблемы в своем новом продукте IIS Media Services. По сути, он является набором расширений для Internet Information Services (IIS), сервера приложений, который входит в состав Windows Server 2008. Поскольку IIS и IIS Media Services являются бесплатными продуктами, они открывают широкие возможности по доставке медиа-контента конечному пользователю. На протяжении этой серии статей мы рассмотрим основные вопросы, связанные с разработкой медиа-приложений, использующих IIS Media Services.

Прежде чем рассматривать особенности IIS Media Services, давайте разберемся с существующими подходами к доставке медиа-контента. Это необходимо для более четкого понимания текущего состояния технологий. В основном мы будем рассматривать видео-контент, поскольку основные проблемы связаны именно с доставкой именно этого типа содержимого.

На сегодняшний день существует два основных подхода к доставке медиа-контента - это традиционное вещание и прогрессивная загрузка. Давайте более подробно разберемся в каждом из этих подходов.

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

У этого подхода безусловно есть несколько сильных сторон. Во-первых, при использовании традиционного стриминга канал передачи данных используется достаточно эффективно. Это объясняется тем, что в данный момент времени загружается только та часть медиа-контента, которая непосредственно должна быть проиграна. Медиа-контент, который будет проигрываться позже не загружается. Таким образом, на клиент не будет загружена часть информации, которая не нужна в данный момент. Другой сильной стороной этого подхода является возможность построения отзывчивого пользовательского интерфейса. Поскольку канал передачи данных используется только для передачи контента, воспроизводимого в данный момент, то операции перемотки или возобновления воспроизведения могут быть обработаны за короткий промежуток времени. Кроме того, использование такого подхода позволяет отслеживать активность пользователя на серверной стороне. Поскольку клиент пересылает команды перемотки, остановки и возобновления воспроизведения, можно собирать эту информацию на сервере для последующего анализа. Эта информация может быть очень полезна для владельцев медиа-контента.

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

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

Использование прогрессивной загрузки обладает рядом преимуществ перед традиционным вещанием. Основное преимущество представленного подхода заключается в том, что становится возможным использовать существующую инфраструктуру размещения контента. Т.е. медиа-контент можно разместить в Интернет используя обычный веб-сервер по протоколу HTTP. Кроме того, становится возможным масштабировать подобное решение используя уже существующие механизмы (например, кэширование HTTP).

Тем не менее прогрессивная загрузка также обладает рядом недостатков. Поскольку этот подход эквивалентен обычной загрузке файла, то появляется такое явление как буферизация. Если скорость соединения клиента с сервером ниже, чем размер атомарной порции медиа-контента, то в какой-то момент времени клиент не сможет загрузить нужное количество информации. В этот момент воспроизведение приостанавливается и клиент загружает нужное количество информации. Этот отрицательный эффект не будет заметен, если у клиента высокоскоростное соединение с Интернет. Однако, если соединение недостаточно быстрое, то буферизация будет происходить периодически. По этой причине в этом случае пользовательский интерфейс будет не очень дружественным и пользователь может испытывать некоторый дискомфорт. Кроме того, при подобном подходе практически невозможно получить аналитическую информацию о просмотре медиа-контента. Поскольку проигрыватель загружает содержимое как обычный файл, сервер не в состоянии отследить что именно из этого файла просмотрел пользователь.

Еще более серьезной проблемой, с которой сталкиваются поставщики медиа-контента на основе прогрессивной загрузки, является излишнее потребление трафика. Это справедливо для пользователей с высокоскоростным каналом доступа в Интернет. В тот момент, когда пользователь открывает страницу с медиа-контентом и начинает просматривать видео, за счет высокой скорости соединения видео загружается очень быстро. Однако, после нескольких секунд пользователь может решить, что просматриваемое видео для него не представляет интереса и закрыть страницу. В данной ситуации пользователь загрузил весь видео-файл, однако посмотрел только первые несколько секунд. Поэтому остальная часть трафика была потрачена впустую.

Подводя итог можно выделить основные преимущества и недостатки обоих подходов:

  • Традиционное вещание
    Преимущества

    • Отзывчивый пользовательский интерфейс
    • Эффективное использование канала передачи данных
    • Отслеживание действий пользователя


    Недостатки

    • Отсутствие возможности масштабирования классическими средствами (например, кэширование)
    • Необходимость организации специфичной инфраструктуры



  • Прогрессивная загрузка
    Преимущества

    • Работа в рамках обычного веб-сервера
    • Простота построения инфраструктуры
    • Возможность масштабирования, используя средства HTTP


    Недостатки

    • Ограниченный пользовательский интерфейс
    • Невозможность отслеживания действий пользователя
    • Неэффективное использование канала передачи данных


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


sergey.swezdin, TheVista.Ru Team,
Октябрь 2009

Комментарии

Комментариев нет...
Для возможности комментировать войдите в 1 клик через

По теме

Акции MSFT
160.23 0.00
Акции торгуются с 17:30 до 00:00 по Москве
Мы на Facebook
Мы ВКонтакте
В сервисе IPANN.NET купить прокси для SEO и SMM
Все права принадлежат © MSInsider.ru (ex TheVista.ru), 2019
Сайт является источником уникальной информации о семействе операционных систем Windows и других продуктах Microsoft. Перепечатка материалов возможна только с разрешения редакции.
Работает на WMS 2.34 (Страница создана за 0.04 секунд (Общее время SQL: 0.01 секунд - SQL запросов: 32 - Среднее время SQL: 0.00032 секунд))