Описание нововведений IIS Media Services 4.1
В новом выпуске IIS Media Services были представлены новый REST API для управления точками публикаций и улучшения в производительности для всех сценариев публикации: загрузка видео по требованию и живое вещание. Функции REST API предлагают следующие возможности:
- создание и удаление точек публикации;
- перечисление всех точек публикации веб-сайта;
- запрос и обновление настроек точек публикации и их состояния;
- запрос статистики точки публикации.
Полное описание API можно найти на специальной странице MSDN.
Expression Encoder 4 SP2, который был выпущен неделей ранее IIS Media Services 4.1 уже поддерживает REST API предлагаемый IIS Media Services, так что вы можете легко управлять точками публикации напрямую из Expression Encoder.
Теперь с помощью проекта Live Broadcasting Project вы можете:
создать новую точку публикации
- после указания точки публикации, Expression Encoder теперб предлагает новую кнопку “Create”, которая позволяет легко создать новую точку публикации (рисунок ниже)
- после указания точки публикации, Expression Encoder теперб предлагает новую кнопку “Create”, которая позволяет легко создать новую точку публикации (рисунок ниже)
перезапустить точки публикации как автоматически, так и вручную
- после подсоединения к существующей точке публикации, вы можете обнаружить новую кнопку “Restart” и пункт “Restart Automaticly” для перезапуска
- после подсоединения к существующей точке публикации, вы можете обнаружить новую кнопку “Restart” и пункт “Restart Automaticly” для перезапуска
дублировать настройки публикации одной точки для другой точки
Этот функционал Expression Encoder предлагает значительно больше возможностей, чем просто дублирование настроек от одной точки к другой. После того, как вы подсоединитесь к IIS Media Services 4.1, пункт “Copy Settings” будет содержать список с полным перечислением всех доступных точек публикации, ассоциированных с сайтом. Когда вы наведете мышью на выбранную точку, вы можете получить основные данные о точке публикации.
оценить статус каждой отдельной точки публикации
- на рисунке ниже показана точка публикации со статусом “Starting”
- на рисунке ниже показана точка публикации со статусом “Starting”
Обратите внимание, что новые функции и возможность использования нового REST API IIS Media Services 4.1 доступны только в Pro-версии Expression Encoder 4.
Все вызовы к REST-сервисам аутентифицируются через методы аутентификации, которые поддерживает IIS. Так что для начала использования, вам необходимо включить в IIS необходимые методы аутентификации. Может быть использован любой метод аутентификации IIS, кроме анонимного доступа.
Самый простой способ тестирования возможностей нового REST API – это использовать бесплатный инструмент веб-отладки Fiddler вместе с пользовательским интерфейсом Expression Encoder. Код ниже показывает пример данных отправленных в ответ на запрос HTTP GET https://akucer-server/the first concert.isml/settings из Expression Encoder. Этот запрос возвращает настройки для первой точки публикации “concert.isml”.
<?xml version="1.0" encoding="UTF-8"?>
<entry xmlns="https://www.w3.org/2005/Atom">
<id>https://akucer-server:80/the first concert.isml/settings</id>
<author>
<name />
</author>
<updated>2011-11-09T03:19:30Z</updated>
<link href="https://akucer-server/the first concert.isml/settings" rel="self" type="application/atom+xml" title="Settings" />
<link href="https://akucer-server/the first concert.isml/state" rel="related" type="application/atom+xml" title="State" />
<link href="https://akucer-server/the first concert.isml/statistics" rel="related" type="application/atom+xml" title="Statistics" />
<content type="application/xml">
<SmoothStreaming xmlns="https://schemas.microsoft.com/iis/media/2011/03/streaming/management">
<Settings>
<Title />
<SourceType>Push</SourceType>
<AutoStart>false</AutoStart>
<AutoRestartOnEncoderReconnect>false</AutoRestartOnEncoderReconnect>
<LookAheadChunks>2</LookAheadChunks>
<Archive enabled="true">
<Path useEventIdOnPath="false" />
</Archive>
<ClientConnections enabled="true">
<ClientManifestVersion>2.0</ClientManifestVersion>
</ClientConnections>
<ServerConnections enabled="true">
<SendEndOfStreamOnStop>true</SendEndOfStreamOnStop>
</ServerConnections>
<Modules>
<Module id="hls" type="sink" name="HTTP Live Streaming">
<HLS>
<SegmentLength>PT10S</SegmentLength>
<MaxBitRate>1600000</MaxBitRate>
<AllowCaching>false</AllowCaching>
<BackwardCompatible>true</BackwardCompatible>
<IncludeCodecs>false</IncludeCodecs>
<Encryption enabled="false" />
</HLS>
</Module>
</Modules>
</Settings>
</SmoothStreaming>
</content>
</entry>
Обратите внимание на дополнительные URL, которые возвращаются в ответе на запрос. Они могут использоваться для получения состояния или получения статистики точки публикации. С помощью функции построения запросов Fiddler вы можете легко сформировать HTTP-запрос, который использует REST API. На примере ниже Fiddler используется для отправки запроса HTTP GET для перечисления всех точек публикации на сайте.
Перед выполнением этого запрос убедитесь, что в IIS включена поддержка аутентификации Windows Authentication и функция “Automatically Authenticate” включена в настройках Fiddler.
В ответ на этот запрос мы можем получить перечисление всех точек публикации на сайте:
<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="https://www.w3.org/2005/Atom">
<author>
<name></name>
</author>
<title>Publishing Point Collection</title>
<updated>2011-11-09T04:13:21.505Z</updated>
<entry>
<id>https://akucer-server:80/new publishing point.isml/settings</id>
<updated>2011-11-09T02:57:17Z</updated>
<link href="https://akucer-server/new publishing point.isml/settings" rel="related" type="application/atom+xml" title="Settings" />
<link href="https://akucer-server/new publishing point.isml/state" rel="related" type="application/atom+xml" title="State" />
<link href="https://akucer-server/new publishing point.isml/statistics" rel="related" type="application/atom+xml" title="Statistics" />
</entry>
<entry>
<id>https://akucer-server:80/the final concert.isml/settings</id>
<updated>2011-11-09T02:23:03Z</updated>
<link href="https://akucer-server/the final concert.isml/settings" rel="related" type="application/atom+xml" title="Settings" />
<link href="https://akucer-server/the final concert.isml/state" rel="related" type="application/atom+xml" title="State" />
<link href="https://akucer-server/the final concert.isml/statistics" rel="related" type="application/atom+xml" title="Statistics" />
</entry>
<entry>
<id>https://akucer-server:80/the first concert.isml/settings</id>
<updated>2011-11-09T03:19:30Z</updated>
<link href="https://akucer-server/the first concert.isml/settings" rel="related" type="application/atom+xml" title="Settings" />
<link href="https://akucer-server/the first concert.isml/state" rel="related" type="application/atom+xml" title="State" />
<link href="https://akucer-server/the first concert.isml/statistics" rel="related" type="application/atom+xml" title="Statistics" />
</entry>
<entry>
<id>https://akucer-server:80/the second concert.isml/settings</id>
<updated>2011-11-09T02:22:44Z</updated>
<link href="https://akucer-server/the second concert.isml/settings" rel="related" type="application/atom+xml" title="Settings" />
<link href="https://akucer-server/the second concert.isml/state" rel="related" type="application/atom+xml" title="State" />
<link href="https://akucer-server/the second concert.isml/statistics" rel="related" type="application/atom+xml" title="Statistics" />
</entry>
</feed>
--
Это перевод оригинальной статьи IIS Media Services 4.1 released