Потоковое видео в браузере (с низкой задержкой)
Я хочу транслировать видео в реальном времени в браузер с низкой задержкой.
насколько я понял, есть два клиента:
- HTML5 Видео тега
- Flash-видео-плеер
существует несколько способов отправки потока:
- TCP / IP с использованием HTTP, используя прогрессивные загрузки (и HTML5 диапазон-запрос)
- UDP (который использует Flash)
и есть несколько решений для трансляции поток:
- использование HTTP Live Stream от Apple (который предоставляет m3u-плейлист небольших сегментов файлов)
- ...?
и существует проблема публикации и распространения потока через интернет.
Мне нужно
- синхронизация видео контента с javascript
- низкая латентность accros страна / мир для многих зрителей
- media server: (пользовательское) настольное приложение (или браузерное решение) для загрузить веб-камеру поток
-
другие существующие программные решения для обслуживания носителей?
- будет ли HTTP Live Stream вызывать высокую задержку, потому что поток должен быть сегментирован и загружен в небольшие файлы? (Исключая html5-решения?)
- что нужно Flash player для ввода (т. е. веб-адрес, файл на сервере?)
- что нужно Flash player для сервера? (кроме того, распространять его для многих зрителей?)
- как я загрузить видео на флэш? (т. е. существующие программные решения / можно ли написать пользовательское приложение, которое загружает веб-камеры трансляция?)
большое спасибо за ответ на этот сложный вопрос!!
2 ответов
3 лет более поздно, в 2014, WebRTC приобретает больше и больше принятие и популярность. Хотя он ограничен только современными браузерами, его преимущества по качеству и производительности намного перевешивают устаревшие Flash или ограниченные HTML5-решения.
Google Hangouts использует технологию WebRTC, и есть сторонние службы, которые предоставляют библиотеки и серверы, необходимые для потоковой передачи, трансляции и подключения видео.
Если вам нужно рассмотреть проблемы с производительностью в сценарии приложения, как вы уже упоминали, вам придется использовать истинную потоковую передачу. Поэтому необходимо настроить потоковый сервер и потоковый клиент-потребитель. Один из широко доступных вариантов-использовать Red5 с открытым исходным кодом streaming server [http://www.red5.org/] для ваших потоковых сервисов. С другой стороны, вы можете использовать Flex sdk [http://flex.org/] для вашего веб-клиента. Обычный способ-использовать flash builder, который полностью интегрирован с eclipse для создания ваших проектов на основе flash / flex только с плагином red5.
хороший стартовый учебник можно найти здесь:
Adobe Flex: запись видеопотока с помощью Red5 [http://simplyolaf.blogspot.de/2009/07/adobe-flex-recording-video-stream-with.html]
Учебники: Начало Работы С Сервером Red5 [ http://www.red5tutorials.net/index.php/Tutorials:Getting_Started_With_Red5_Server ]
Как только вы закончите с шагом, вы можете попытаться изменить свойства потоковой передачи в соответствии с вашими потребностями (размер буфера, задержка и т. д.).