Китай |
Deep Zoom и Deep Zoom Composer
Smooth Streaming и Expression Encoder
Smooth Streaming - система динамического изменения качества видео изображения в зависимости от состояния интернет канала и загрузки процессора. Smooth Streaming- это расширения Microsoft IIS Server 7.0 (IIS Media Services 2.0). Служба доступна для бесплатного скачивания с сайта Microsoft.
В настоящее время используются три способа передачи видео от сервера пользователю (см рис. 5.11). Традиционный поток (Traditional Streaming) работает следующим образом: клиент указывает серверу, какой отрезок нужно проигрывать сейчас, командует перемоткой, паузой и т.д. Очевидны преимущества данной техники: проигрывается только тот участок записи, который необходим клиенту. С помощью традиционного потока удобно реализовать рекламные проекты. Например, до тех пор, пока не будет просмотрен рекламный ролик, невозможно начать просмотр видео. Минусы таковы, что отсутствует кэширование на клиентской стороне и используется не HTTP протокол. Это усложняет серверное оборудование.
RTSP (Real-Time Streaming Protocol) - хороший пример традиционного потока. RTSP - протокол с сохранением состояния, т.е. с момента подключения к видео серверу и до момента отключения клиента сервер хранит данные о пользовательской сессии. После установления сессии сервер посылает клиенту небольшие пакеты размером 1452 байта. В такой пакет вмещается 11 миллисекунд видео, кодируемого со скоростью 1 Мб/сек. В случае, если пакет не доставлен, он пересылается до тех пор, пока не будет доставлен клиенту. Если файрвол блокирует пакеты, то передача прервется.
Прогрессивная загрузка (Progressive Download) работает проще: на сервере хранится простой файл и, чтобы его просмотреть, клиент скачивает его полностью. Т.е. прогрессивная загрузка - это обычное скачивание файла с веб сервера. Минус очевиден: зачастую пользователь просматривает первые минуты видео, ему не нравится, он уходит со страницы. Но файл качается полностью. Другими минусами можно считать отсутствие управления потоком, отсутствие реакции на состояние канала связи, загрузку процессора. Плюсы в данной технике: простое серверное оборудование и ПО, протокол HTTP, возможность кэширования на клиенте без установки дополнительного ПО.
Прогрессивная загрузка поддерживается большинством плееров и платформ, включая Adobe Flash и Windows Media Player. Такие популярные видео ресурсы, как YouTube, MySpace и другие используют исключительно прогрессивную загрузку.
В отличие от потоковых видео серверов, которые редко посылают более 10 секунд видео клиенту за раз, веб сервера передают данные до тех пор, пока загрузка не будет завершена. Вы можете нажать паузу в самом начале загрузки и подождать, пока весь файл не скачается в локальный кэш. Тогда можно смотреть плавное видео без рывков и остановок.
- Технология Smooth Streaming объединяет плюсы обоих подходов и устраняет их недостатки и использует адаптивное вещание на базе протокола HTTP:
- Гибридный метод доставки видео, который работает по принципу потокового вещания, но состоит из серии мелких прогрессивных загрузок
- Кэширование HTTP в браузере
- Прозрачное изменение качества видео, подстройка под технические возможности клиента и его канала связи
Принцип работы кратко показан на рис. 5.12
На рисунке показано, как сервер посылает куски видео более низкого разрешения клиенту с плохим каналом Интернета и более высокого качества клиенту с хорошим каналом. Параллельно происходит кэширование, если установлен кэширующий сервер. Сложность состоит в том, что сервер хранит несколько видеофайлов с различным разрешением. Например, скорость потока видео в одном случае не превышает 300 кбит/сек, в другом составляет в среднем 2.5 Мбит/сек. Могут быть несколько промежуточных значений, например, 600 кбит/сек и 1.2 Мбит/сек. Качество транслируемого видео в Smooth Streaming версии 2.0 может достигать качества HD видео 1280x720p (High Definition - высокая четкость). Скорость потока в динамичных сценах может достигать значения 10 Мбит/сек. На рис. 5.13 показано как меняется скорость потока и число кадров в секунду (качество видео) в зависимости от состояния канала и загрузки процессора.
При адаптивном вещании видео источник разделен на множество мелких "кусочков" (" chunks ") по 2-4 секунды длиной. С точки зрения видеокодека, например mpeg-2, этот кусочек является набором кадров, начинающийся с ключевого кадра. Последующие кадры определяются по алгоритму, заданному кодеком, но на основе ключевого кадра. Начало кусочка с ключевого кадра дает возможность декодировать его вне зависимости от остальных кусочков.
Закодированные кусочки хранятся на веб-сервере. По клиентскому запросу кусочки с веб сервера последовательно загружаются клиенту, используя технику прогрессивной загрузки. Благодаря тому, что кусочки закодированы без пробелов и наложений, можно видеть результирующее видео непрерывным, плавным, как будто бы сделанным из одного куска.
При изготовлении такого адаптивного видео источник кодируется со множеством битрейтов и создается множество кусочков длиной несколько секунд. Клиент может выбирать между кусочками разного размера. Т.к. веб сервер обычно доставляет кусочек с той скоростью, которая определяется каналом интернета, клиент легко может рассчитать кусочек какой длины ему следует загружать в следующий момент времени. Размер буфера можно задать.
Обобщая вышесказанное можно сказать следующее. Для пользователя плюсом использования Smooth Streaming является:
- быстрое начало загрузки видео
- быстрая перемотка
- трансляция в наивысшем качестве при данных условиях, автоматическая подстройка качества видео под состояние канала и компьютера
- экономия трафика
Для серверов плюсом использования Smooth Streaming является:
- служба IIS Media Services является дополнением к IIS и не требует изменения инфраструктуры сервера
- одновременный охват всех пользователей, как хорошо технически оснащенных, так и плохо