IIS Live Smooth Streaming для AWS EC2
Я пытаюсь транслировать потоковое видео с веб-камеры ноутбука на экземпляр Windows AWS EC2. Ниже ссылка подробно описывает шаги, которые я прошел: http://learn.iis.net/page.aspx/620/getting-started-with-iis-live-smooth-streaming/
Через несколько секунд после нажатия "START" на ExpressionsEncoder4 я получаю случайные всплывающие сообщения об ошибках типа "Произошла неизвестная ошибка", "Произошла сетевая ошибка, приводящая к остановке кодирования" и "Запрос не может быть понят сервер".
Время от времени эти ошибки не появляются, и я могу видеть захваченное видео на экране предварительного просмотра.
В любой момент я не могу зарегистрировать какие-либо потоки в точке публикации IIS.
Есть идеи? Спасибо за любую помощь!
1 ответ
Здесь есть несколько проблем, которые нужно решить. Давайте пройдемся по ним один за другим.
Неизвестные ошибки
Чаще всего "произошла неизвестная ошибка" происходит из-за обращений к API-интерфейсам DirectShow, которые терпят неудачу по любой неожиданной причине (странное устройство захвата, ЦП не успевает за кодированием и, в основном, любое событие, которое может прервать поток кадров графа DirectShow). Попробуйте другой источник захвата и посмотрите, изменятся ли ваши результаты. Кроме того, сделайте длинное кодирование со своего устройства в локальный файл Windows Media, чтобы убедиться, что все в порядке.
Ошибки сети / запрос не понят сервером
Сетевые ошибки в моем опыте были в основном связаны с пропускной способностью; однако "Запрос не понят" может означать, что вы что-то меняете в своих HTTP-запросах (промежуточный прокси и т. д.).
Сначала протестируйте по требованию
Сначала протестируйте поток по требованию с вашего сервера EC2. Загрузите Big Buck Bunny или закодируйте что-нибудь самостоятельно и убедитесь, что вы можете получить доступ к http://example.com/BigBuckBunny.ism/Manifest в своем браузере. Протестируйте его с помощью Smooth Streaming Health Monitor на стороне клиента и производительности серверного блока с помощью средства IIS Smooth Streaming Performance Testing Tool. Это проверит, что IIS Media Services работает должным образом.
Порядок запуска
Убедитесь, что вы запускаете прямой поток точек публикации в следующем порядке:
- На сервере EC2 перейдите к точке прямой публикации и запустите ее. Это переведет точку публикации в состояние, готовое принять поток.
- В Expression Encoder нажмите Connect после ввода URL точки публикации. На этом этапе вы должны увидеть успешное соединение, пока открыт порт 80.
- Нажмите Старт, и кодирование должно начаться. (Лучше всего начинать с 1 или 2 битрейтов при тестировании вашего потока; поддерживайте низкую пропускную способность.)
Альтернативная настройка
Если все остальное терпит неудачу, настройте Smooth Stream на вашем локальном хосте (выражение передает поток в IIS Media Services на localhost) и настройте точку публикации на локальном хосте, чтобы передать поток в ваш экземпляр EC2. Это также хороший метод для использования, если вам нужно более устойчивое к сетевому решению решение для долгосрочных потоков или если ваше соединение не такое надежное, как хотелось бы.
Удачи и, надеюсь, часть этой информации сузит ее.