http://blog.csdn.net/longji/article/details/54865358
00 ubuntu14.04 ecs 配置Nginx-rtmp-module
参考:http://www.cnblogs.com/cocoajin/p/4353767.html
01 安装 Nginx 和 Nginx-rtmp 编译依赖工具
- 1
02 创建工作目录
1
03 下载Nginx 和Nginx-rtmp源码
2
wget http://Nginx.org/download/Nginx-1.10.3.tar.gz
wget https://github.com/arut/Nginx-rtmp-module/archive/v1.1.10.gz
04 解压
2
tar -zxvf Nginx-.gz
tar -zxvf v1.gz
05 切换目录
1
cd Nginx-1.10.3
06 编译Nginx-rtmp模块到Nginx
./configure --with-http_ssl_module --add-module=../Nginx-rtmp-module-1.1.10
07 编译安装
2
make
sudo make install
08 安装Nginx init脚本
2
09. 启动和停止Nginx 服务,生成配置文件
sudo service Nginx start
sudo service Nginx stop
10. 安装 FFmpeg
3
sudo add-apt-repository ppa:kirillshkrogalev/ffmpeg-next
sudo apt-get update
sudo apt-get install ffmpeg
11. 配置 Nginx-rtmp 服务器
打开 /usr/local/Nginx/conf/Nginx.conf
在末尾添加如下 配置
3
12. 保存上面配置文件,然后重新启动Nginx服务
sudo service Nginx restart
13. 如果你使用了防火墙,请允许端口 tcp 1936
14 配置obs-studio
设置->串流->
串流类型->自定义流媒体服务器
URL rtmp://118.178.128.20:1936/live
流密钥:test01
点击[开始串流]按钮,开始串流,该按钮变成[停止串流]
15 使用vlc播放推流
本测试中的vlc是自己从源码编译的,并且修改了部分资源。
注意播放地址是:rtmp://118.178.128.20:1936/live/test01
不带文件名称后缀.m3u8
播放效果
16 android上 vlc播放
vlc下载地址:http://www.videolan.org/vlc/download-android.html
在网络地址输入:rtmp://118.178.128.20:1936/live/test01
播放效果如图:
17 Nginx上配置对hls的支持
17
使用hls方式推流
推流URL:rtmp://118.178.128.20:1936/hls
流密钥:test01
18 在android上使用vlc播放
vlc地址栏输入:http://118.178.128.20:8080/hls/test01.m3u8
或者 rtmp://118.178.128.20:1936/hls/test01
可以直接播放。
19 在android上使用html5播放
用自己编译的chromium浏览器直接访问test01.m3u8可以正常播放。
http://118.178.128.20:8080/hls/test01.m3u8
在服务端测试hls的html5播放方式,没有成功。
14
sudo vim /usr/local/Nginx/html/html5.html
<!DOCTYPE html>
<html>
head>
Meta http-equiv="content-type" content="text/html; charset=utf-8">
title>HLS Player</title>
head>
body>
video poster="poster.png" height="720" width="1280" controls>
source src="/hls/test01.m3u8" type="application/vnd.apple.mpegurl" />
p class="warning">Your browser does not support HTML5 video.p>
video>
html>
然后在android上面用浏览器打开http://118.178.128.20:8080/html5.html
无法正常播放。
20 浏览器播放
默认android或者苹果系统的浏览器可以播放。PC浏览器机会不支持hls方式。可以采用js库处理hls视频播放。jwplayer、flowplayer、HLSPlayer、video-js等库都可以处理。
20.01 jwplayer
把jwplayer的基本库文件上传到服务端/usr/local/Nginx/html目录下。
jwplayer/jwplayer.flash.swf
jwplayer/jwplayer.html5.js
jwplayer/js
jwplayer/player-tools-license.txt
jwplayer/README.txt
编写使用jwplayer访问hls流的html文件。
27
sudo vim /usr/local/Nginx/html/jwplayer.html
title>
script "text/javascript" "jwplayer/jwplayer.js">script>
body>
div id="test01player">test01player....div>
"text/javascript"> jwplayer("test01player").setup({ playlist: [{ sources: [{ file: 'rtmp://118.178.128.20:1936/hls/test01' },{ file: 'http://118.178.128.20:8080/hls/test01.m3u8' }] }],height: 360,primary: "flash",width: 640 }); html>
用pc客户端浏览器访问,IE能正常访问直播流。
可以看到直播时,右上角有JWPlayer透明字样,应该是非授权版本带的水印。
IE:
chrome:(安装了flash的ppapi插件)
firefox:(不安装flash插件,无法播放,安装后可以)