Добрый день всем жителям Хабра! Напомню, что в прошлый раз я описал работу с облачными мультимедиа сервисами: Windows Azure Media Services и Amazon Elastic Transcoder. Естественно механизм работы с помощью SDK, описанный мной, не единственный. Конечно есть еще возможность работы через REST API, UI или CLI, но объять все в одной статье невозможно. Поэтому я надеюсь начало «инвестигейшена» этих сервисов положено. Мне же осталось только привести сравнение этих сервисов между собой. Поехали!
Следует заметить, что как я уже отмечал в описании Amazon Elastic Transcoder, несмотря на релиз SDK для этого сервиса, в нем есть несколько ошибок, которые необходимо будет обойти при работе с ним. Кроме этого в отличие от Windows Azure Media Services облачный сервис от Amazon находится в beta режиме. Соответственно никто не гарантирует его стабильную работу.
Тем не менее, давайте попробуем составить таблицу возможностей облачных мультимедиа сервисов.
Рассмотрим возможности каждого из сервисов подробнее.
Windows Azure Media Services поддерживает так называемый Dynamic Packaging. Если в кратце, то вы кладете на storage файл, только в одном формате и задаете описание (asset) в каких форматах этот файл будет доступен. При запросе такого файла на просмотр он будет автоматически кодироваться в нужный клиенту формат, таким образом снижая стоимость на storage (см. детальное описание).
Amazon Elastic Transcoder позволяет при кодировании видео вставлять так называемые watermarks («водяные» метки). В качестве изображений может выступать любой JPEG или PNG файл.
К сожалению, оба сервиса, на данный момент, не поддерживают возможность склеивания нескольких входных файлов в один (конкатенация).
Для защиты контента Windows Azure Media Services предлагает технологию DRM, которая, как известно, поддерживается не на всех устройствах.
Ну и наконец самое интересное – сравнение цен. Однако здесь тоже надо отметить несколько отличий. Windows Azure Media Services берет деньги за кодирование видео (encoding) и за его трансляцию в режиме Live (on-demand streaming), а 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 заточен на обработку больших файлов.
На этом у меня все. Спасибо всем, кто следил за ходом публикаций и хорошего всем дня!
Возможности
Следует заметить, что как я уже отмечал в описании 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 берет деньги за кодирование видео (encoding) и за его трансляцию в режиме Live (on-demand streaming), а 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 заточен на обработку больших файлов.
На этом у меня все. Спасибо всем, кто следил за ходом публикаций и хорошего всем дня!