Добрый день всем жителям ! Напомню, что в прошлый раз я описал работу с облачными мультимедиа сервисами: Windows Azure Media Services и Amazon Elastic Transcoder. Естественно механизм работы с помощью SDK, описанный мной, не единственный. Конечно есть еще возможность работы через REST API, UI или CLI, но объять все в одной статье невозможно. Поэтому я надеюсь начало «инвестигейшена» этих сервисов положено. Мне же осталось только привести сравнение этих сервисов между собой. Поехали!
Возможности
Следует заметить, что как я уже отмечал в описании Amazon Elastic Transcoder, несмотря на релиз SDK для этого сервиса, в нем есть несколько ошибок, которые необходимо будет обойти при работе с ним. Кроме этого в отличие от Windows Azure Media Services облачный сервис от Amazon находится в beta режиме. Соответственно никто не гарантирует его стабильную работу.
Тем не менее, давайте попробуем составить таблицу возможностей облачных мультимедиа сервисов.
Рассмотрим возможности каждого из сервисов подробнее.
Amazon Elastic Transcoder
- Сервис поддерживает кодирование видео в форматы H.264 и VP8.
- В качестве выходного формата аудио могут использоваться AAC, MP3 и OGG Vorbis, чего нет у Microsoft.
- В качестве контейнера могут выступать MP4, MPEG2-TS и открытый WebM.
- Стриминг видео осуществляется в формате HLS.
- Для генерации «превьюшек» есть встроенная возможность при создании Job (см. описание работы с Amazon Elastic Transcoder, свойство ThumbnailPattern).
- Для доставки контента в регионы может использоваться сервис CloudFront.
Windows Azure Media Services
- Сервис поддерживает кодирование видео в форматы H.264 и VC1.
- В качестве выходного формата аудио могут использоваться AAC и, естественно, собственный формат Microsoft – WMA.
- В качестве контейнера могут выступать MP4 и собственные форматы: WMV, Smooth Streaming.
- Стриминг видео осуществляется в формате HLS и Smooth Streaming.
- Для генерации «превьюшек» необходимо создать отдельный task (см. здесь).
- Для доставки контента в регионы может использоваться сервис CDN.
Отличия
Windows Azure Media Services поддерживает так называемый Dynamic Packaging. Если в кратце, то вы кладете на storage файл, только в одном формате и задаете описание (asset) в каких форматах этот файл будет доступен. При запросе такого файла на просмотр он будет автоматически кодироваться в нужный клиенту формат, таким образом снижая стоимость на storage (см. детальное описание).
Amazon Elastic Transcoder позволяет при кодировании видео вставлять так называемые watermarks («водяные» метки). В качестве изображений может выступать любой JPEG или PNG файл.
К сожалению, оба сервиса, на данный момент, не поддерживают возможность склеивания нескольких входных файлов в один (конкатенация).
Для защиты контента Windows Azure Media Services предлагает технологию DRM, которая, как известно, поддерживается не на всех устройствах.
Цены
Ну и наконец самое интересное – сравнение цен. Однако здесь тоже надо отметить несколько отличий. Windows Azure Media Services берет деньги за кодирование видео и за его трансляцию в режиме Live, а Amazon Elastic Transcoder – только за кодирование.
Еще одним отличием является то, что Microsoft берет деньги и за входные мультимедиа данные (input data) и за кодирование в выходные (output data) форматы, в то время как Amazon только за выходные. Здесь имеется в виду сам процесс кодирования, а не storage. Что касается storage оба провайдера берут плату за использование его как на вход, так и выход.
Что касается кодирования видео, то Amazon Elastic Transcoder берет плату в зависимости от длительности видео выходного формата (output duration). В тоже время Windows Azure Media Services нацелен на размер видео в гигабайтах и берет плату за количество гигабайт обработанного видео в месяц. Кстати, в случае с Amazon Elastic Transcoder длительность видео всегда округляется до минут. То есть допустим видео длительностью 4 минуты 38 секунд будет стоить столько же, сколько и 5 минутное и 4 минуты 54 секунды и т.д.
Сравнение
Таким образом видно, что сравнение сервисов в связи с различным ценообразованием нетривиальная задача. Однако давайте попробуем создать соответствующую таблицу.
Что ж, достаточно интересные результаты мы видим. Как видно главную роль в сравнении Elastic Transcoder vs. Media Services играет парочка длительность/размер файла. Рискну предположить, что Windows Azure Media Services более привлекательны, с позиции цены при процессинге видео небольших размеров, в то время как Amazon Elastic Transcoder заточен на обработку больших файлов.
На этом у меня все. Спасибо всем, кто следил за ходом публикаций и хорошего всем дня!
Автор: RisingStar