1、Linux环境准备
linux版的red5下载 https://github.com/Red5/red5-server/releases
nginx-rtmp下载 ,使用linux的git命令:git clone https://github.com/arut/nginx-rtmp-module.git
( 如果没有git进行安装,yum install git)
二者选一就可以了,网上说nginx比red5性能高,而且用的人比较多。nginx要把hls_fragment 调低一点,性能才好,不然会很卡
OBS去官网下载就可以了obs官网
jwplayer 上百度找,或者进入red5目录的/red5-server/webapps/oflaDemo下,会有一个jwplayer.js和player.swf文件。把它复制到自己的项目就能用。
websocket 后面再项目的pom文件中引入依赖即可(用来实时发送弹幕)。
2、red5/nginx-rtmp安装
red5安装教程有很多,网上找教程即可例如这个
注意的是:制作完启动脚本之后,我启动脚本成功但还是访问不了red5主页,这时,我直接到red5目录手动执行./red5.sh文件,就能访问到red5主页。但一退出red5就会关闭,所以可以使用后台启动 ./red5.sh &
nginx-rtmp教程也可以在网上找到。
先下载好nginx以及以下依赖(yum install gcc-c++、openssl、pcre、zlib)
新建一个nginx文件夹usr/local/nginx,并且在nginx使用命令
wget http://nginx.org/download/nginx-1.10.3.tar.gz
把nginx的压缩包下载下来(版本自选)
用git 下载好nginx-rtmp模块到linux(没git的使用yum install git下载)
git clone https://github.com/arut/nginx-rtmp-module.git
解压好nginx压缩包进入nginx-1.10.3文件夹。执行下面命令(按照自己nginx和nginx-rtmp路径修改)
./configure --prefix=/usr/local/nginx/nginx-1.10.3 --add-module=/usr/local/nginx/nginx-rtmp-module --with-http_ssl_module
make
make install
可能会报错:make: *** No rule to make target
build', needed by
default’. Stop.
解决办法:执行yum -y install openssl openssl-devel后再执行一次上面的操作。
新建一个hls文件夹保存视频
mkdir -p /usr/share/nginx/html/hls;
修改nginx配置文件
vi /usr/local/nginx/conf/nginx.conf
rtmp {
server {
listen 1935; #监听的端口
chunk_size 4096;
application hls { #rtmp推流请求路径
live on;
hls on;
hls_path /usr/share/nginx/html/hls;
hls_fragment 5s;
}
}
}
启动nginx
/usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf
3、OBS使用
如果使用red5服务器就填 rtmp://你的ip/oflaDemo
如果是用的是nginx 就填 rtmp://你的ip:1935/hls
串流码就类似一个名字,随便填。后面拉流的时候需要填一致的。
添加来源(可以是摄像头或者桌面、音频等)然后点击推流即可推流到服务器
4、用jwplayer来播放视频
red5可以直接在官方给的测试网页测试。我们也可以自己使用jwplayer插件来制作自己的播放页面。
新建一个html,然后引入jwplayer.js。jwplayer.js和player.swf
路径要填写正确,否则引入失败就用不了。
<div id="player" >
<script type='text/javascript'>
var player = jwplayer('player').setup({
'flashplayer': '/jwplayer/player.swf',
'file': 'feng',//刚刚的串流密钥
'streamer': 'rtmp://119.23.201.230/oflaDemo',//red5服务器的地址
// 'streamer': 'rtmp://119.23.201.230:1935/hls',//nginx的地址
'controlbar': 'bottom',
'width': videoWidth,
'height': videoHeight
});
</script>
</div>
如果一切正确打开html,就能播放了
弹幕在另一篇文章再写吧。
弹幕实现