Плавная потоковая передача IIS Live на AWS EC2

Я пытаюсь транслировать видео в реальном времени с веб-камеры моего ноутбука на экземпляр Windows AWS EC2. Ниже по ссылке подробно описаны шаги, которые я выполнил: http://learn.iis.net/page.aspx/620/getting-started-with-iis-live-smooth-streaming/

Через несколько секунд после нажатия кнопки «СТАРТ» на ExpressionsEncoder4 я получаю случайные всплывающие сообщения об ошибках, такие как «Произошла неизвестная ошибка», «Произошла сетевая ошибка, вызвавшая остановку кодирования» и «Запрос не может быть понят сервер".

Время от времени эти ошибки не появляются, и я могу видеть захваченное видео на экране предварительного просмотра.

В любой момент мне не удается зарегистрировать какие-либо потоки в IIS Publishing Point.

Любые идеи? Спасибо за любую помощь!


person ngzhongcai    schedule 07.08.2011    source источник
comment
Я могу это сделать на своем ноутбуке через локальный хост   -  person ngzhongcai    schedule 07.08.2011
comment
Похоже, что у вас не открыт порт 80 на брандмауэре EC2. Вы можете подтвердить или опровергнуть?   -  person Brandon    schedule 08.08.2011


Ответы (1)


Здесь нужно решить несколько проблем. Давайте пройдемся по ним один за другим.

Неизвестные ошибки

Чаще всего «произошла неизвестная ошибка» возникает из-за вызовов API-интерфейсов DirectShow, которые завершаются сбоем по любой неожиданной причине (странное устройство захвата, процессор не справляется с кодированием и, в основном, любое событие, которое может прервать поток кадров графа DirectShow). Попробуйте другой источник захвата и посмотрите, изменятся ли ваши результаты. Кроме того, выполните длительное кодирование со своего устройства в локальный файл Windows Media, чтобы убедиться, что здесь все в порядке.

Ошибки сети/запрос не понят сервером

Сетевые ошибки, по моему опыту, в основном связаны с пропускной способностью; однако «запрос не понят» может означать, что вы что-то меняете в своих HTTP-запросах (прокси-сервер между ними и т. д.).

Сначала протестируйте по запросу

Сначала протестируйте поток по требованию с вашего сервера EC2. Загрузите Big Buck Bunny или закодируйте что-нибудь самостоятельно и убедитесь, что у вас есть доступ к http://example.com/BigBuckBunny.ism/Manifest в браузере. Протестируйте его с помощью Smooth Streaming Health Monitor на стороне клиента и производительности сервера. с помощью инструмента тестирования производительности IIS Smooth Streaming. Это позволит убедиться, что службы мультимедиа IIS работают правильно.

Порядок запуска

Убедитесь, что вы запускаете прямую трансляцию точки публикации в следующем порядке:

  1. На сервере EC2 перейдите к Live Publishing Point и запустите его. Это переведет точку публикации в состояние готовности к приему потока.
  2. В Expression Encoder нажмите Подключить после ввода URL-адреса точки публикации. На этом этапе вы должны увидеть успешное соединение, если порт 80 открыт.
  3. Нажмите Старт, и кодирование должно начаться. (Лучше всего начать с 1 или 2 битрейтов при тестировании вашего потока; держите полосу пропускания низкой.)

Альтернативный вариант

Если ничего не помогает, настройте Smooth Stream на локальном хосте (Expression отправляет поток в IIS Media Services на локальном хосте) и настройте точку публикации на локальном хосте для отправки потока на ваш экземпляр EC2. Это также хороший метод, который можно использовать, если вам нужно более устойчивое к сбоям в сети решение для долгосрочных потоков или когда ваше соединение не такое надежное, как вам хотелось бы.

Удачи, и, надеюсь, часть этой информации сузит круг поиска.

person Brandon    schedule 09.08.2011
comment
Привет RouteNPingMe, спасибо за совет. Я могу отображать поток по запросу из экземпляра EC2. Не удается передать файл BigBuckBunny.isml с ноутбука на EC2. Не удалось передать файл BigBuckBunny.isml с локальной точки публикации на точку публикации EC2. Пункт публикации IIS на EC2 просто не регистрирует входящий поток. В дополнение к порту 80 я также открыл порт 8172, согласно learn.iis.net/page.aspx/820/ - person ngzhongcai; 09.08.2011
comment
Да, попробовал альтернативную настройку, которую вы рекомендовали. Теперь я пробую случайные вещи, например, отключаю службы ролей ASP.NET, как это рекомендовано в руководстве IIS Smooth Streaming Deployment. - person ngzhongcai; 11.08.2011
comment
Получение нового сообщения об ошибке Невозможно транслировать потоки с текущей пропускной способностью. Пожалуйста, уменьшите количество потоков или уменьшите битрейт или размер потоков. Не уверен, что это связано с тем, что я отключил службы ролей ASP.NET - person ngzhongcai; 11.08.2011
comment
Журнал с сервера: 202.65.245.6, -, 11.08.2011, 15:23:46, W3SVC1, IP-0A8A0BA6, 10.138.11.166, 0, 246, 126, 200, 0, POST, /test.isml, - , 202.65.245.6, -, 11.08.2011, 15:23:46, W3SVC1, IP-0A8A0BA6, 10.138.11.166, 0, 225, 1467, 404, 1168, GET, /test.isml, manifest, - person ngzhongcai; 11.08.2011
comment
comment
Если брандмауэр Windows вообще включен на вашем экземпляре, полностью отключите его и используйте только брандмауэр Amazon. Любое изменение? - person Brandon; 14.08.2011