Microsoft Smooth Streaming¶
Microsoft Smooth Streaming — это технология адаптивной потоковой передачи видео (adaptive bitrate streaming), разработанная корпорацией Microsoft, входящая в состав платформы IIS Media Services. Она позволяет доставлять медиаконтент (видео и аудио) через интернет в режиме реального времени, автоматически подстраивая качество воспроизведения под скорость интернет-соединения пользователя и производительность его устройства. Технология основана на формате контейнера ISO Base Media File Format (ISOBMFF) и использует протокол HTTP для передачи данных, что обеспечивает совместимость с существующей инфраструктурой веб-серверов и сетей доставки контента (CDN).
¶История
Технология была представлена Microsoft в 2008 году как часть пакета IIS Media Services 3.0. Она стала ответом на растущую потребность в качественной доставке видео высокого разрешения (HD) через интернет в условиях нестабильной пропускной способности каналов связи. В отличие от традиционных методов потоковой передачи, использующих протокол RTSP (Real-Time Streaming Protocol) или RTMP (Real-Time Messaging Protocol), Smooth Streaming работала поверх стандартного HTTP, что упрощало интеграцию с веб-серверами и позволяло обходить межсетевые экраны.
В 2009 году Microsoft передала спецификации технологии на рассмотрение в ISO/IEC в качестве основы для стандарта MPEG-DASH (Dynamic Adaptive Streaming over HTTP). Впоследствии Smooth Streaming стала одним из ключевых компонентов платформы Microsoft Silverlight, которая использовалась для воспроизведения контента на Windows, Mac и Xbox. С прекращением официальной поддержки Silverlight в 2021 году и переходом Microsoft на открытые веб-стандарты (HTML5, MSE, EME) технология Smooth Streaming утратила свою прежнюю популярность, однако её принципы легли в основу более современных решений.
¶Технические принципы
¶Адаптивная битрейтная передача
Smooth Streaming реализует концепцию адаптивной потоковой передачи. Исходный медиафайл (например, видео) кодируется в несколько версий (профилей) с разным битрейтом и разрешением. Эти версии нарезаются на небольшие сегменты (чанки) длительностью 2–4 секунды. Клиентское устройство (плеер) запрашивает эти сегменты через HTTP-запросы, при этом оно может динамически переключаться между профилями в зависимости от текущей пропускной способности сети и загрузки процессора.
¶Формат манифеста
Для описания доступных профилей, сегментов и их расположения используется файл манифеста (обычно с расширением .ism или .isml). Он содержит метаданные о видео: список битрейтов, разрешений, кодеков (H.264/AVC для видео, AAC или WMA для аудио), а также указания на временные метки и URL сегментов. Формат манифеста основан на XML и является частью спецификации IIS Smooth Streaming.
¶Протокол передачи
Данные передаются по протоколу HTTP/1.1. Каждый сегмент представляет собой отдельный HTTP-ресурс, который может быть кэширован на серверах CDN и в браузере пользователя. Это позволяет снизить нагрузку на исходный сервер и улучшить масштабируемость. Для защиты контента может использоваться шифрование (PlayReady DRM) или токенизация доступа.
¶Архитектура
¶Серверная сторона
Для работы Smooth Streaming требуется веб-сервер IIS (Internet Information Services) версии 7.0 или выше с установленным модулем IIS Media Services. Сервер выполняет функции:
- Упаковка (packaging): преобразование исходного видеофайла в сегментированный формат с несколькими битрейтами.
- Доставка (delivery): обслуживание HTTP-запросов клиентов, отдача сегментов и манифеста.
- Поддержка Live Smooth Streaming: для прямых эфиров используется технология кодирования в реальном времени, где сегменты создаются и публикуются по мере поступления.
¶Клиентская сторона
На стороне клиента воспроизведение обеспечивалось через плеер на основе Microsoft Silverlight (до 2021 года) или через сторонние реализации, поддерживающие протокол Smooth Streaming (например, на базе HTML5 через Media Source Extensions). Клиентский плеер выполняет:
- Загрузку и парсинг манифеста.
- Оценку пропускной способности сети и загрузки CPU.
- Выбор оптимального битрейта для следующего сегмента.
- Буферизацию сегментов для предотвращения прерываний.
¶Применение
¶Доставка видео по запросу (VoD)
Smooth Streaming широко использовалась для доставки фильмов, телепередач и другого контента через интернет. Например, сервисы Netflix и Hulu в ранние годы применяли эту технологию (до перехода на собственные решения или MPEG-DASH).
¶Прямые трансляции (Live Streaming)
Технология поддерживала прямые эфиры через Live Smooth Streaming. Она применялась для трансляции спортивных событий, концертов и новостей. Примеры: Олимпийские игры 2010 года (Ванкувер) транслировались с использованием Smooth Streaming.
¶Корпоративные решения
Smooth Streaming использовалась в корпоративных системах видеоконференций, обучения и внутренних коммуникаций, где требовалась надёжная доставка видео на устройства с разными характеристиками.
¶Сравнение с другими технологиями
| Параметр | Microsoft Smooth Streaming | Adobe Flash (RTMP) | Apple HLS | MPEG-DASH |
|---|---|---|---|---|
| Протокол | HTTP | RTMP/RTMFP | HTTP | HTTP |
| Формат сегментов | MP4 (ISOBMFF) | FLV/F4V | MPEG-TS | MP4 (ISOBMFF) |
| Адаптивность | Да | Частично (через динамическое переключение потоков) | Да | Да |
| Поддержка DRM | PlayReady | Flash Access | FairPlay | Widevine, PlayReady, FairPlay |
| Кроссплатформенность | Ограничена (Silverlight) | Ограничена (Flash) | Широкая (iOS, Apple TV) | Широкая (HTML5) |
| Стандартизация | Проприетарная (часть IIS) | Проприетарная | Проприетарная (Apple) | Открытый стандарт (ISO) |
¶Критика и недостатки
- Зависимость от Silverlight: Для воспроизведения требовался плагин Microsoft Silverlight, который не поддерживался на мобильных устройствах (iOS, Android) и в большинстве браузеров после 2015 года. Это ограничивало охват аудитории.
- Проприетарность: Технология была тесно привязана к серверному ПО Microsoft (IIS), что затрудняло развёртывание на других платформах (Linux, Apache, Nginx).
- Отсутствие поддержки на современных устройствах: С прекращением поддержки Silverlight в 2021 году возможность воспроизведения Smooth Streaming в браузерах исчезла. Для использования требуется конвертация в другие форматы (HLS или MPEG-DASH).
- Сложность настройки: Для развёртывания требовались глубокие знания IIS и медиасерверов, что делало технологию менее доступной для малых и средних проектов.
¶Интересные факты
- Smooth Streaming стала одной из первых коммерчески успешных реализаций адаптивной потоковой передачи через HTTP, предшествуя HLS и DASH.
- В 2010 году Microsoft выпустила открытую спецификацию Smooth Streaming для передачи на рассмотрение в ISO, что впоследствии повлияло на разработку MPEG-DASH.
- Технология поддерживала до 10 одновременных битрейтов в одном манифесте, что позволяло охватывать устройства от мобильных телефонов до Smart TV.
- Microsoft использовала Smooth Streaming в своей облачной платформе Azure Media Services до 2018 года, после чего заменила её на поддержку MPEG-DASH и HLS.
¶Источники
- Microsoft IIS Media Services Documentation (2010–2015)
- «Smooth Streaming: Adaptive Streaming for the Web» — MSDN Magazine, 2009
- «Understanding Adaptive Bitrate Streaming» — IEEE Transactions on Multimedia, 2012
- «MPEG-DASH: The Standard for Adaptive Streaming» — ISO/IEC 23009-1, 2014
- «Silverlight End of Support» — Microsoft Support, 2021