Разработка на коленке

"тут должна быть красивая цитата о программировании"

Streaming video и видео-чат

2010-06-28 12:12

Разрабатываем интранет-систему. Есть сервер, за ним сидит оператор. Есть куча клиентов, за ними сидят обычные люди. Нужно наладить между ними видео-чат. На всех машинах стоит линукс.

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

  • RED5 + flash. Поставили, настроили, написали даже своё приложение
    для RED5. Запустили. Не влазим по ресурсам, так как флеш на линуксе жрёт немеряно ресурсов.
  • VLC. Делаем трансляцию потокового видео при помощи VLC, показываем
    собеседника им же. VLC запускаем как веб-сервер, когда приходит время показывать - дёргаем его сервер и передаём ему линк на видео. Снова не влазим по ресурсам, так как VLC при трансляции жрёт кучу памяти (вероятно, что из-за утечек).
  • ffmpeg, ffserver, VLC. Едем дальше :) На этот раз трансляцию делаем
    при помощи ffmpeg + ffserver, а смотрим на собеседника при помощи vlc, который также запускаем как сервер. Из всех форматов более-менее безглючную работу показал RealMedia. Одна проблема - огромная задержка при передачи данных. Т.е. собеседник услышит мои слова на пару секунд позже, чем я их произнёс. Пока что это считаем вариантом для релиза.

В качестве эксперимента начал тесты erlyvideo. По описанию вещь просто замечательная :)

comments powered by Disqus