快速搭建linux下视频点播,直播网站。
本文将指导用户如何在linux下面使用nginx快速搭建一个rtmp流服务器,同时也会介绍http伪流。
http伪流,即使用http协议实现流媒体点播快速seek。相对rtmp方式,http协议更稳定,因为大家都不会去屏蔽http协议。
但是伪流毕竟不是真正的流传输,点播开始需要等到比较长的时间去读取meta信息,一般都需要2M以上。(当然有办法可以解决这个问题,不是这次重点内容,就不废话了)
开始正题了。
首先下载nginx源码以及rtmp模块源码。
wget http://nginx.org/download/nginx-1.2.6.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
tar zxf nginx-1.2.6.tar.gz
unzip master.zip
cd nginx-1.2.6
./configure --prefix=/opt/nginx --with-http_mp4_module --with-http_flv_module --add-module=../nginx-rtmp-module-master/
make && make install
至此编译完成了。下面开始进行配置。
在/opt/nginx/conf/nginx.conf配置文件下面添加下面配置信息
rtmp {
??? server {
??????? listen 1935;
??????? chunk_size 4000;
??????? application vodcms {
??????????? # 启用直播
??????????? live on;
??????????? record all;
??????????? record_path /tmp/av;
??????????? record_max_size 1K;
??????????? # append current timestamp to each flv
??????????? record_unique on;
??????????? # 允许发布直播流的IP
??????????? allow publish 127.0.0.1;
??????????? deny publish all;
??????????? #allow play all;
??????? }
application haohaizi {
#点播文件目录
??????????? play /var/mp4s;
??????? }
}
}
保存成功后重启下nginx(需要注意,必须重启nginx.reload是不会生效的)
/opt/nginx/sbin/nginx -s stop
/opt/nginx/sbin/nginx
查看1935端口是否在监听
netstat -antp|grep 1935
如果能看见类似下面的信息就说明成功了
tcp??????? 0????? 0 0.0.0.0:1935??????????????? 0.0.0.0:*?????????????????? LISTEN????? 302/nginx
然后就可以rtmp://www.vodcms.com/haohaizi/test.mp4文件进行点播。
还可以推送直播流到rtmp://www.vodcms.com/vodcms 。ffmpeg就可以模拟推送。
nginx功能非常强大,涉及视频点播,直播方面还有很多模块,比如限速,限制线程,防盗链,用户验证等。
VOD视频管理源码下载http://www.vodcms.com/soft/vodcms6.0.xRelease.gbk.zip
?