Назад | Перейти на главную страницу

Программное обеспечение / оборудование для создания сервера потокового видео?

Я ищу решение для сервера потокового видео, что-то вроде сервера онлайн-телевидения, с возможностью вести прямые трансляции в Интернете.

Какое программное обеспечение вы могли бы порекомендовать для этого?

На каком оборудовании он должен работать, должно ли быть что-то особенное?

Я ищу решение, которое можно масштабировать как минимум до 1000 одновременных пользователей в сети с хорошим разрешением видео.

Думаю, хорошо иметь общий ответ, какое направление выбрать. Но вот подробности о моем конкретном случае:

Если у вас уже есть какой-то сервер потоковой передачи мультимедиа, просто опишите здесь его конфигурацию (оборудование, ОС, программное обеспечение), а также максимальное количество одновременно обслуживаемых пользователей. Думаю, это может помочь людям в решении этой задачи.

Похоже, у chopper3 эта область довольно хорошо покрыта за мои 0,02 доллара:

Мы транслируем лекции по запросу, которые продолжаются около 12 часов каждая (разбиты на часовые блоки). Мы используем Flash Media Server (но с лицензией только для потоковой передачи) от Adobe и специально разработанное приложение для отображения его в презентации в браузере пользователя (и связывания слайдов / видео / аудио вместе).

Мы запускаем сервер на двухъядерном процессоре Xeon 2.4Ghz с 4 Гб оперативной памяти, и мы никогда не сталкивались с какими-либо проблемами масштабирования, за исключением случаев нехватки оперативной памяти (FMS очень голодна). Мы запускаем ссылку с восходящим каналом 2 МБ, но наши медиа очень низкого качества (320x240, высокое сжатие, моно-звук). У нас никогда не было жалоб. Мы также используем протокол RMTPE, который зашифрован и требует дополнительных затрат на ЦП.

Мы можем масштабировать нашу ссылку с помощью звонка нашему интернет-провайдеру, и это делается в течение нескольких минут, поэтому, если он когда-либо будет пользоваться большим спросом, мы можем ускорить его на несколько часов, а затем снова сбросить его, чтобы сэкономить деньги.

FMS имеет возможность вести трансляцию с карт видеозахвата. Он поставляется с образцом приложения, которое передает поток с вашей веб-камеры, но нетрудно получить его из альтернативного источника в реальном времени (карты захвата и т. Д.).

Надеюсь, это проливает свет!

Для потоковой передачи видео у Microsoft есть отличное решение с Silverlight для клиентской стороны (или простой H.264) и IIS Smooth Streaming для серверной стороны, что позволяет автоматически и прозрачно настраивать качество (и многое другое). Это стандартный HTTP, поэтому его можно кэшировать с любым HTTP-прокси.

Вот витрина: http://www.microsoft.com/silverlight/iis-smooth-streaming/demo/

Пакет мультимедиа IIS: http://www.iis.net/media

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

Ах, наконец, вопрос, на который я должен ответить :)

Итак, 1000 пользователей, какой кодек / плеер / битрейт? сколько содержания? какая средняя длина контента? предположительно нет вариантов QoS / многоадресной рассылки? что обслуживает ваш интерфейс? какова ваша ожидаемая скорость усечения воспроизведения? Какая у вас ссылка на Интернет (как можно подробнее)?

Вы связаны с какими-либо конкретными поставщиками?

Ответьте на некоторые из этих вопросов, и я буду рад помочь.

Вы должны попробовать Wirecast из Telestream, это обязательно

Например, это установка, которую мы используем для потоковой передачи (и записи) лекций. У нас нет 1000 пользователей, но наше решение должно масштабироваться до этого числа.

Приобретение видео (~ 6000 $):

  • Тележка на колесиках с ПК и сенсорным экраном
  • Бытовая видеокамера (выход HDMI)
  • Карта приема HDMI (Blackmagic Intensity Pro)
  • 4 беспроводных микрофона для аудитории
  • 1 беспроводной нагрудный микрофон
  • Аудиомикшер и компрессор
  • Программное обеспечение Wirecast

Сервер потоковой передачи:

  • Сервер CRTMP в Ubuntu 12.04
  • Apache2

CRTMP Server обеспечивает отличную производительность (особенно в системах с ограниченными ресурсами) по сравнению с некоторыми пользовательскими серверами на базе Java. Существует также платное коммерческое предложение того же продукта с поддержкой.

Я пронумерую ваши пункты списка и рассмотрю их:

  1. Решение с нуля с использованием существующего видео. То, что я описал выше, является практически полным решением (дайте мне знать, если я что-то упустил). Wirecast может обрабатывать как видео в реальном времени, так и видеофайлы (а также легко комбинировать и переключаться между ними. Я согласен с @don - Wirecast - отличный продукт. Wirecast имеет встроенный потоковый сервер, но с 1000 пользователей вам понадобится внешний, например CRTMP-сервер.

  2. Не привязаны к конкретному поставщику: сочетание Linux, CRTMP Server и Wirecast - это подход, основанный на нескольких поставщиках. Вы можете заменить любую из этих частей предложениями других поставщиков.

  3. 24 часа потоковой передачи: я не тестировал Wirecast на утечки памяти, но его можно запрограммировать для переключения между любым количеством живых и записанных входов. Также CRTMP Server может принимать входные данные из Wirecast (или других потоков) или статических файлов.

  4. Регулярные прямые трансляции: Wirecast делает очень профессиональные прямые трансляции (с 3D-эффектами, похожими на те, что вы видите в основных презентациях Apple).

  5. Несколько качеств потока: Wirecast может предоставлять несколько одновременных потоков (с разным качеством). Однако, чтобы снизить нагрузку на вашу рабочую станцию ​​захвата, вы, вероятно, захотите, чтобы сервер CRTMP перекодировал один поток из Wirecast в несколько потоков.

  6. Термины иностранные и запутанные: Ага. Потоковое видео требует сложного обучения и знаний во многих дисциплинах. Извините, я не могу ответить на этот вопрос. :)

  7. Восходящий канал в Интернет: сервер CRTMP может принимать соединения из Интернета. Просто убедитесь, что вы надежно настроили свой сервер - это выше моих возможностей.

Вы можете вести прямые трансляции с Amazon EC2 с медиа-сервером wowza: http://www.wowzamedia.com/ec2.html

Это не такое удобное решение, которое может предоставить CDN (один URL-адрес для отправки потока, а другой - для извлечения потоков) и требует более глубокого понимания технологии, но является экономически эффективным для потоковой передачи периодических событий в реальном времени.

Еще один вариант - http://erlyvideo.org/ Сервер надежный и реальная альтернатива серверам Adobe и Wowza. У Erlyvideo есть как бесплатная версия с открытым исходным кодом (что достаточно хорошо), так и продвинутая коммерческая.

Еще один вариант сервера программного обеспечения с открытым исходным кодом - это модуль nginx rtmp. https://github.com/arut/nginx-rtmp-module Сервер требует гораздо меньше аппаратных ресурсов для потоковой передачи и поддерживает потоковую передачу iOS из коробки.

Я сделал это для одного из Telecom, используя Cent OS с проигрывателем VLC и TV Setup. Вам необходимо установить VLMa

http://studyhat.blogspot.com/2010/02/darwin-streaming-server-on-rhelfedora.html

http://wiki.videolan.org/VLM

http://www.videolan.org/vlc/streaming.html

http://www.videolan.org/projects/multicat.html

http://www.videolan.org/projects/dvblast.html