Adobe Flash Media Server 4.5

This post is also available in: Английский

flash media server

От версии к версии поклонники любой http://bizzaslife.com/  программы ожидают от своего любимого пакета каких-то новшеств, а зачастую и кардинальных изменений. Разумеется, данное правило справедливо также и в отношении серверов доставки контента. Ну а какие требования у пользователя стриминогового сервера есть сейчас? Хочу «быстро, безопасно, удобно и на все устройства сразу» — собственно, этими критериями и руководствовалась компания Adobe при разработке новой версии Flash Media Server 4.5. В этой статье мы рассмотрим основные нововведения и улучшения нового медиа сервера анонсированного несколько часов назад. Пресс релиз можно найти здесь.

Прежде всего стоит отметить, что продукт теперь выспускается лишь для 64 битных платформ. В текущих реалиях это не так страшно, ведь ключом к успеху является не только хороший софт но и отличная аппаратная платформа. На этом «минусы» заканчиваются, дальше начинается то, чего мы все ждали. Adobe, при разработке новой версии сконцентрировало своё внимание на мультиплатформенности, в первую очередь на мобильных и планшетных устройствах. Новые платформы и классы устройств появляются с завидной регулярностью, и этим уже нельзя пренебрегать. Пользователь хочет получать контент везде и сразу. Утром запустить проигрывание фильма на домашнем ТВ, потом продолжить его просмотр в метро на на своём любимом планшете, а придя на работу, доглядеть в обеденный перерыв на своём рабочем PC.

Одно из основных нововведений это конечно поддержка Apple HTTP Live Streaming (далее HLS). Поддержка HLS осуществлена как для live так и для vod контента. При доставке используется адаптивный стриминг (adaptive bitrate), опционально контент может шифроваться при помощи алгоритма AES-128.
Что это даёт пользователю? Теперь сможет пользоваться видео сервисом на базе Flash Media Server 4.5 со всех своих устройства на базе Apple iOS (iPad/iPhone/iPod)
Что это даёт создателям сервисов? Маркетологам в первую очередь то, что они могут смело заявлять про поддержку устройств на базе iOS, а это в свою очередь может привлечь большую аудиторию. Инженерам, при построении системы доставки контента, нет необходимости устраивать «зоопарк» из различных медиа-серверов, или каким-то образом предусматривать различные способы доставки контента для i-устройств. Так как доставка осуществляется по HTTP, способы кеширования контента, также в разы упрощаются.
Надо заметить что для доставки контента по HLS нет необходимости заранее подготавливать контент. В качестве исходника используется mp4/flv файл, закодированный кодеками, поддерживаемыми устройством, на котором будет проигрываться данный контент. Плейлист (*m3u8) при этом, также генерируется динамически.

Довольно часто при построении сервисов онлайн кинотеатров встаёт вопрос подготовки контента. Для реализации этого звена уходят определённые аппаратные мощности, а также это вносит необходимость дополнительного резервирования данного сервиса. Вслед за этим встают вопросы защиты контента, появляется дополнительное звено, которое также необходимо дублировать. Множество точек отказа во всем комплексе, увеличивает трудоёмкость и стоимость его эксплуатации. Adobe сделала серьёзный шаг в сторону повышения скорости подготовки контента, не забыв при этом про его защиту и возможность доставки на множество платформ. Новый подход, позволяет снизить затраты на дополнительных сервисах и сделать вцелом платформу проще и более устойчивой. Но нужно понимать что аппаратных ресурсов не потребуется в разы меньше, и средняя нагрузка на сервера доставки контента конечно же возрастёт. Но при использовании эффективной системы кеширования, это будет не так заметно, а отказоустойчивость системы вцелом за счёт увеличения количества пула edge delivery серверов существенно возрастёт.

Ещё одна новая и приятная функция, это возможность пакования контента для доставки по протоколу HTTP Dynamic Streaming (далее HDS), на лету. Это в свою очередь упрощает процесс подготовки контента для доставки при помощи HDS, полностью устраняя необходимость предварительной упаковки контента при помощи f4fpackager. Вцелом это нас избавляет от целого звена во всей инфраструктуре подготовки и доставки контента.

Совместно, две эти функции дают ещё такой плюс как, устранение проблемы потерянных манифестов. Ранее, при утрате манифеста, необходимо было заново запаковывать контент, теперь такой проблемы нет. В комплекте FMS 4.5 идёт небольшое приложение Adaptive Bitrate File Generator, которое позволяет создавать плейлисты и файлы манифестов для multi-bitrate streaming, их принято называть adaptive bitrate manifest.
Что это даёт? В первую очередь это дает возможность создать манифест, содержащий битрейт, кодек и источник опционально (разный) для каждого потока.
Самое тривиальное применение этой возможности, это конечно adaptive streaming и возможность переключения качества. Изучив возможные варианты входных и выходных данных, вы без труда сможете на своём сервисе создать аналогичную систему, которая будет генерировать такие манифесты на лету и отдавать их пользователю.

При всём этом остаётся один вопрос. А как же тогда защищать контент?
Ответ прост: всё также — на лету. Для этого в Just In Time модули HDS/HLS встроили возможность шифрования контента на лету. Для HDS предусмотрены 2 варианта защиты.
Первый, это классический вариант с использованием Flash Access (далее FAXS). Фактически в настройках модуля мы указываем все теже самые настройки что и при шифровании контента с помощью f4fpackager.
Второй вариант предусматривает встраивание лицензии в поток видео. По умолчанию, в FMS предусмотрены 2 встроенных политики unlimited play и 24-hour expired.
Unlimited policy – эта анонимная политика разрешает проигрывание контента всегда.
24-hour — данная политика используется по умолчанию. Эта политика также анонимная, но позволяет воспроизводить контент только в течении 24 часов после того как контент был упакован.
Что даёт нам этот функционал? В аварийных ситуациях, при выходе из строя серверов лицензий FA мы стоим перед выбором: либо отдавать незащищенный контент, а это может грозить серьёзными штрафами от крупнейших студий правообладателей, либо останавливать сервис до тех пор, пока не восстановится работоспособность FA, а это в свою очередь может влиять на репутацию сервиса. Данная функция позволяет нам в аварийных ситуациях (выход из строя FA), шифровать контент, и при этом предотвратить обращение пользователей к FA. Так как политика «24hour» предусматривает проигрывание контента только в течении следующих суток, мы можем не опасаться за то, что после ввода в строй FA, пользователи смогут продолжать использовать данную лицензию для проигрывания контента. Всё это позволяет временно перейти на резервную схему отдачи контента, сохранив работоспособность сервиса и защиту контента на должном уровне.

Теперь перейдём к шифрованию контента при использовании HLS.
Тут всё гораздо проще. У нас есть один ключ, с помощью которого мы шифруем на лету контент и доставляем пользователю. Ключ этот, должен быть доступен для скачивания пользователю (по http), пользователь скачивая его, расшифровывает контент. Не совсем безопасно, но увы, большего протокол HTTP LS не позволяет. Как безопасно доставить ключ до пользователя решаете вы.

Из дополнительных возможностей следует отметить новую возможность во встроенном приложении livepkgr. Напомним, что livepkgr это одно из приложений FMS, идущее с ним в комплекте. Оно позволяет на лету паковать Live контент для доставки по HDS/HLS, используя в качестве источника, поступающий на него RTMP поток. То есть, на приложение мы вещаем несколько RTMP потоков, с разными именами, приложение их группирует определенным образом (указывается в конфигурационном файле приложения), и выдаёт в виде нескольких групп событий, по протоколам HDS/HLS. В новой версии появилась возможность на одно и тоже событие вещать 2 потока, один из которых содержит только аудио канал. Фактически мы получаем возможность «вшивать» аудиодорожку в наше live событие. То чего так не хватает VOD’у, но надеемся в ближайшее время Adobe что-нибудь придумает и в этом направлении.

Ещё одно интересное нововведение, это Flash Media Gateway (ранее был в Labs разделе). Абсолютно новый продукт от Adobe, представляющий собой SIP-шлюз из Flash-плеера в сторону SIP-сервера (к примеру Asterisk). Это открывает широкие возможности по интеграции и увеличению интерактивности ваших приложений, самый тривиальный пример — звонок по SIP напрямую из Flash приложения. К сожалению, это приложение доступно пока только для Windows.

Из ключевых технических изменений и нововведений это пожалуй всё. Осталось отметить лишь изменение политики лицензирования. Теперь Flash Media Server лицензируется по серверам, а не по процессорам как ранее.

Успехов в доставке контента и Интернет вещании вашим проектам!