Red5 Media Server – это медиасервер написанный на Java который умеет транслировать потоковое видео по протоколу RTMP (Real Time Messaging Protocol), в основном используется для создания веб-кастов и онлайн-видеотрансляций.
Моя задача была, сделать внутренний корпоративный веб-сайт с обучающим видео, которое можно смотреть, но нельзя легким движением руки сохранить на флешку и унести домой, а на будущее сделать онлайн трансляцию обучений для регионов. Никто конечно не отменяет RTMP-грабберов, правда с установкой и использованием граббера в корпоративной среде справится отнюдь не каждый продвинутый менеджер, кроме того можно доработать ограничения на использование софта с помощью групповой политики.
Устанавливать Red5 Media Server будем на CentOS 6.3 i386.
1. Установка Red5
Сначала установим все необходимые пакеты
[root@rtmpsrv ~]# yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel subversion ant make
Забираем последнюю версию Red5 из репозитория SVN. Я пробовал ставить из архива на сайте, но сервер так и не завелся, а SVN-овская версия запустилась почти с первого раза.
[root@rtmpsrv ~]# svn export http://red5.googlecode.com/svn/java/server/trunk/ red5
Переходим в директорию с исходниками, собираем и устанавливаем.
[root@rtmpsrv ~]# cd red5 [root@rtmpsrv red5]# make [root@rtmpsrv red5]# make install
Теперь нужно чуть-чуть доработать напильником, по каким-то причинам в Makefile пропущено копирование директории plugins, а без нее сервер не запускается.
[root@rtmpsrv red5]# cp -r dist/plugins /usr/lib/red5
Для запуска Red5 нужно чтобы имя хоста правильно разрешалось в IP-адрес, проверяем и в случае чего вносим изменения в /etc/hosts или на DNS-сервере.
Делаем пробный запуск в активном режиме, если все ок – Red5 выведет кучу логов и повиснет ожидая подключений, завершить его можно при помощи Ctrl+C.
[root@rtmpsrv red5]# cd /usr/lib/red5 [root@rtmpsrv red5]# ./red5.sh
2. Автозагрузка
У Red5 «из коробки» нет скрипта для запуска его в качестве службы, и этот скрипт нам придется сделать самостоятельно. Создаем в папке /etc/init.d файл red5 следующего содержания.
#!/bin/sh ### BEGIN INIT INFO # Provides: red5 # Required-Start: red5 # Required-Stop: red5 # Default-Start: 3 4 5 # Default-Stop: 0 1 2 6 ### END INIT INFO export RED5_HOME=/usr/lib/red5 . /etc/rc.d/init.d/functions pidfile=/var/run/red5.pid exec=/usr/lib/red5/red5.sh start() { echo -n $"Starting red5: " [ -e $pidfile ] && { echo; exit 0; } $exec > /dev/null 2> /dev/null & [ $? -eq 0 ] && { success $"Starting red5"; echo $! > $pidfile; } || { failure "Starting red5"; } echo return 0 } stop() { echo -n $"Stopping red5: " [ -e $pidfile ] || { echo; exit 0; } kill -KILL `cat $pidfile` > /dev/null 2> /dev/null [ $? -eq 0 ] && { success "Stopping red5"; } || { failure "Stopping red5"; } rm -f $pidfile; echo return 0 } status() { [ -e $pidfile ] && { echo "Red5 server (pid `cat $pidfile`) is running"; } \ || { echo "Red5 server is not running"; } return 0 } case "$1" in start) start ;; stop) stop ;; restart) stop start ;; status) status ;; *) echo $"Usage: red5 {start|stop|status|restart}" exit 2 esac exit $?
Даем права на запуск этого файла.
[root@rtmpsrv ~]# chmod a+x /etc/init.d/red5
Добавляем в автозагрузку и запускаем сервис.
[root@rtmpsrv ~]# chkconfig --add red5 [root@rtmpsrv ~]# chkconfig red5 on [root@rtmpsrv ~]# service red5 start Starting red5: [ OK ]
3. Заключение
Установка – это всего лишь небольшая часть процесса, дальше идет более сложная часть настройки. Что бы заставить сервер отдавать mp4 в RTMP видеопоток достаточно взять идущую в комплекте демку oflaDemo и исправить ее под свои нужды, но что бы сделать что-то более сложное придется изрядно попотеть.
Red5 Media Server удивил меня полным отсутствием документации, при попытке открыть их Вики на wiki.red5.org браузер автоматом выбрасывает на пустую страницу Apache, а все остальное – обрывки мыслей и ничего полноценного. Если в этой области ничего не изменится – думаю есть смысл уходить на nginx-rtmp или еще какой-нибудь сервер.
5 Коммент. : “Установка Red5 Media Server”
http://red5.org/downloads/docs/red5-reference-1.0.pdf
Спасибо, за ссылку
А я что-то рыскал-рыскал по сайту – Wiki не открывается, форум не открывается, в нете обрывки мыслей и тд.
Спасибо за инструкцию. Пробую установить. Также думаю насчет установки других медиа серверов http://itmultimedia.ru/media-servera-flash-media-server-wowza-erlyvideo-red5/
Александр, привет.
Я пробовал и Red5 и ErlyVideo – оба варианта рабочие, но на практике лучше всего себя показал nginx с модулем rtmp. Да и ставиться он на порядок проще
Спасибо за ответ. Почитаю об этом решении тоже.