Можно ли транслировать потоковое видео из Windows Azure?
Я смотрю в проект, где они хотят, чтобы поток входных данных от нескольких камер на центральный сервер. Камеры наблюдают за производственным предприятием, и мы должны иметь возможность генерировать оповещения (смс / почта) операторам (потенциальным за пределами предприятия), чтобы быстро подключиться к камерам и рассмотреть проблему.
Пользователи должны иметь возможность выбирать камеру и иметь прямой поток видео с выбранной камеры. Конечный пользователь может использовать ПК (например, браузер + silverlight), смартфон (android, iphone, wp7) или планшет (android, ipad, win8)
Мне также нужно хранить видеопоток (пр камера) в течение настраиваемого промежутка времени для "воспроизведения по требованию"
Я надеялся, что для решения этой проблемы можно использовать API Windows Azure + IIS Smooth Streaming + Expression Encoder 4.0.
Мне интересно, правильно ли я здесь думаю, или нам следует выбрать какое-то другое решение...
Вот несколько сообщений в блоге, описывающих, как использовать Expression Encoder в Azure, но я ничего не видел о потоковой трансляции.
- http://msdn.microsoft.com/en-us/library/ff728356.aspx
- http://www.wadewegner.com/2011/01/using-expression-encoder-4-in-a-windows-azure-worker-role/
- http://www.wadewegner.com/2010/08/using-the-expression-encoder-sdk-to-encode-lots-of-videos/
Идеи?
2 ответа
Хотя это технически возможно, у меня есть ощущение, что связанные с этим пропускная способность и затраты на хранение сделают транскодирование для такого типа приложений в облаке неэкономичным.
Я бы посоветовал лучше подойти к тому, чтобы кодировать видеопотоки локально на локальном сервере, а затем передавать их прямо с этого локального сервера на клиентские браузеры.
Вы захотите сделать математику: с одной стороны, рассмотрите стоимость полосы пропускания и вычислительных ресурсов в Azure по сравнению со стоимостью сервера на месте (вместе с его обслуживанием и подачей).
Если ваше требование к воспроизведению по требованию покрывает ситуации, когда производственный сайт недоступен, тогда может оказаться целесообразным сохранить исторические видеоролики в хранилище BLOB-объектов в Azure. Входящий трафик данных в Azure бесплатный, поэтому вы будете платить только за исходящий трафик данных с локального сервера; если видео было перекодировано в разумный формат, это не должно быть слишком дорого.
Heisann, Ronny:) Одним из способов (без центрального сервера - разъединенные клиенты) является использование ретрансляции служебной шины Azure для установления связи между клиентами и последующей потоковой передачи видео непосредственно между клиентами по служебной шине Azure. Но я не думаю, что вы получите адаптивную потоковую передачу таким образом, не добавляя ее самостоятельно. Кроме того, я думаю, что есть ограничение в 16 клиентов?