centos red5 rtmp 搭建 流媒体服务器
时间:2014-10-23 02:47 来源:linux.it.net.cn 作者:it
对于文字聊天室,以及多屏互动,我们了解的比较多了,我知道的有二种,socket协议和xmpp协议。
如果我们用red5,基于flash的流媒体服务器,在开发视频直播,或者语音聊天室,我们就可以用rtmp,rtsp。
一,什么是red5
Red5的主要功能和Macromedia公司的FMS类似,提供基于Flash的流媒体服务的一款基于Java的开源流媒体服务器。它由Java语言编 写,使用RTMP作为流媒体传输协议,这与FMS完全兼容。它具有流化FLV、MP3文件,实时录制客户端流为FLV文件,共享对象,实时视频播放、 Remoting等功能。用Red5替换FMS后,客户端不用更改可正常运行。
二,red5安装
1,下载地址:http://www.red5.org/downloads/red5/1_0_1/
2,安装java 1.6
# yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel
3, 安装red5
# tar zxvf red5-1.0.1.tar.gz
# mv red5-server-1.0 /usr/local/red5
# cd /usr/local/red5
# ./red5.sh
用的系统是centos 6.5,安装没问题
4,创建red5启脚本
[root@localhost red5-server-1.0]# cat /etc/init.d/red5
#!/bin/bash
# For RedHat and cousins:
# chkconfig: 2345 85 85
# description: Red5 flash streaming server
# processname: red5
# Created By: Sohail Riaz (sohaileo@gmail.com)
PROG=red5
RED5_HOME=/usr/local/red5
DAEMON=$RED5_HOME/$PROG.sh
PIDFILE=/var/run/$PROG.pid
# Source function library
. /etc/rc.d/init.d/functions
[ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5
RETVAL=0
case "$1" in
start)
echo -n $"Starting $PROG: "
cd $RED5_HOME
$DAEMON >/dev/null 2>/dev/null &
RETVAL=$?
if [ $RETVAL -eq 0 ]; then
echo $! > $PIDFILE
touch /var/lock/subsys/$PROG
fi
[ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup"
echo
;;
stop)
echo -n $"Shutting down $PROG: "
killproc -p $PIDFILE
RETVAL=$?
echo
[ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG
;;
restart)
$0 stop
$0 start
;;
status)
status $PROG -p $PIDFILE
RETVAL=$?
;;
*)
echo $"Usage: $0 {start|stop|restart|status}"
RETVAL=1
esac
exit $RETVAL
三,测试red5流媒体服务器
1,发布一个流媒体
我们可以下一个Adobe flash media encoder, 在FML里输入 rtmp://ip address/live, stream name自己起,比如111
我们也可以用red5自带的发布工具来发布一个流
a),打开http://localhost:5080/demos/publisher.html
b),连接red5流媒体服务器
连接red5流媒体服务器
如果右边出现19:56:05:873 - NetConnection.Connect.Success,说明red5正常启动,并且可以连接
c),发布一个red5流
创建一个red5流
在这里为什么要选audio,而不是video,是因为电脑没有摄像头。点start会出现以下内容
red5 flash授权
选择允许后,在点击Publish,如果在右边出现20:04:23:836 - Publish - NetStream.Publish.Start,就说明发布流成功了。
2,用swfobject多点连接,测试
加入以下代码, so.addVariable('file','rtmp://localhost/live/111');
rtmp://localhost/live流媒体服务器,111是其中的一个流的名称 。
我说话,别人就都可以听见了
(责任编辑:IT)
对于文字聊天室,以及多屏互动,我们了解的比较多了,我知道的有二种,socket协议和xmpp协议。 如果我们用red5,基于flash的流媒体服务器,在开发视频直播,或者语音聊天室,我们就可以用rtmp,rtsp。 一,什么是red5 Red5的主要功能和Macromedia公司的FMS类似,提供基于Flash的流媒体服务的一款基于Java的开源流媒体服务器。它由Java语言编 写,使用RTMP作为流媒体传输协议,这与FMS完全兼容。它具有流化FLV、MP3文件,实时录制客户端流为FLV文件,共享对象,实时视频播放、 Remoting等功能。用Red5替换FMS后,客户端不用更改可正常运行。 二,red5安装 1,下载地址:http://www.red5.org/downloads/red5/1_0_1/ 2,安装java 1.6 # yum install java-1.6.0-openjdk java-1.6.0-openjdk-devel 3, 安装red5 # tar zxvf red5-1.0.1.tar.gz # mv red5-server-1.0 /usr/local/red5 # cd /usr/local/red5 # ./red5.sh 用的系统是centos 6.5,安装没问题 4,创建red5启脚本 [root@localhost red5-server-1.0]# cat /etc/init.d/red5 #!/bin/bash # For RedHat and cousins: # chkconfig: 2345 85 85 # description: Red5 flash streaming server # processname: red5 # Created By: Sohail Riaz (sohaileo@gmail.com) PROG=red5 RED5_HOME=/usr/local/red5 DAEMON=$RED5_HOME/$PROG.sh PIDFILE=/var/run/$PROG.pid # Source function library . /etc/rc.d/init.d/functions [ -r /etc/sysconfig/red5 ] && . /etc/sysconfig/red5 RETVAL=0 case "$1" in start) echo -n $"Starting $PROG: " cd $RED5_HOME $DAEMON >/dev/null 2>/dev/null & RETVAL=$? if [ $RETVAL -eq 0 ]; then echo $! > $PIDFILE touch /var/lock/subsys/$PROG fi [ $RETVAL -eq 0 ] && success $"$PROG startup" || failure $"$PROG startup" echo ;; stop) echo -n $"Shutting down $PROG: " killproc -p $PIDFILE RETVAL=$? echo [ $RETVAL -eq 0 ] && rm -f /var/lock/subsys/$PROG ;; restart) $0 stop $0 start ;; status) status $PROG -p $PIDFILE RETVAL=$? ;; *) echo $"Usage: $0 {start|stop|restart|status}" RETVAL=1 esac exit $RETVAL 三,测试red5流媒体服务器 1,发布一个流媒体 我们可以下一个Adobe flash media encoder, 在FML里输入 rtmp://ip address/live, stream name自己起,比如111 我们也可以用red5自带的发布工具来发布一个流 a),打开http://localhost:5080/demos/publisher.html b),连接red5流媒体服务器 连接red5流媒体服务器 如果右边出现19:56:05:873 - NetConnection.Connect.Success,说明red5正常启动,并且可以连接 c),发布一个red5流 创建一个red5流
在这里为什么要选audio,而不是video,是因为电脑没有摄像头。点start会出现以下内容
red5 flash授权 选择允许后,在点击Publish,如果在右边出现20:04:23:836 - Publish - NetStream.Publish.Start,就说明发布流成功了。 2,用swfobject多点连接,测试 加入以下代码, so.addVariable('file','rtmp://localhost/live/111'); rtmp://localhost/live流媒体服务器,111是其中的一个流的名称 。 我说话,别人就都可以听见了 (责任编辑:IT) |