您的位置:首页 > 运维架构 > Nginx

fedora测试nginx-rtmp-module

2015-09-06 17:05 696 查看
编译m3u8-segmenter

https://github.com/johnf/m3u8-segmenter下载m3u8-segmenter,

执行:cd m3u8-segmenter

执行:gcc -Wall -g m3u8-segmenter.c -o segmenter -lavformat -lavcodec -lavutil

执行:cp segmenter /usr/bin/

测试:segmenter -i test.ts -n 30 -p sample_test -m stream-test.m3u8 -u ./

i表示输入文件,n表示切割30个,p表示切割文件的前缀。m表示生成的m3u8文件名,u表示这些切割后的文件处于web server的哪个目录下。

fedora搭建nginx1 安装PCRE,从http://sourceforge.net/projects/pcre/files/pcre/下载8.36版,解压,依次执行configure,make,make insatll。

2 编译openssl。

3 编译安装nginx

http://nginx.org/en/download.html下载nginx-1.8.0.tar.gz。

执行:tar zxf nginx-1.8.0.tar.gz

执行:cd /usr/src/nginx-1.0.8

执行:
#./configure --prefix=/usr/local/nignx --with-openssl=/home/zf/thirdpart/openssl-1.0.0t

# make && make install

//prefix:设定Nginx的安装目录

执行:make && make install

# cd /user/local/nginx/sbin

# ./nginx

到此,nginx已在后台运行。

4 客户端测试

在客户端打开浏览器,输入http://IP(如http://172.16.200.60),即可看到nginx的欢迎页面。
5点播测试

将TS切片及m3u8文件拷贝到hls下,打开VLC,输入http://172.16.200.60/hls/stream-test.m3u8,即可看到图像。

nginx-rtmp-module

nginx-rtmp-module一款NGINX的流媒体插件,除了直播发布音视频流之外具备流媒体服务器的常见功能

•比如推拉流媒体资源

•基于HTTP的FLV/MP4 VOD点播

•HLS (HTTP Live Streaming) M3U8的支持

•基于http的操作(发布、播放、录制)

•可以很好的协同现有的流媒体服务器以及播放器一起工作

•在线调用ffmpeg对流媒体进行转码

•H264/AAC音视频编码格式的支持

•linux/BSD/MAC系统的支持

https://github.com/arut/nginx-rtmp-module下载nginx-rtmp-module,并解压,重新编译nginx如下:

./configure --prefix=/usr/local/nginx --with-openssl=/home/zf/thirdpart/openssl-1.0.0t --add-module=/home/code/nginx-rtmp-module-master,

编译完成后,打开Nginx的配置文件nginx.conf进行配置,

首先在里面加入rtmp的配置

rtmp {

server {

listen 1935;

application myapp {

live on;

}

application hls {

live on;

hls on;

hls_path /tmp/hls; //此为linux下的绝对路径。

}

}

}

然后,针对hls,还需要在http里面增加一个location配置

location /hls {

types {

application/vnd.apple.mpegurl m3u8;

video/mp2t ts;

}

root /tmp;

add_header Cache-Control no-cache;

}

这是一个最简单,最基础的配置, rtmp监听1935端口,如果是hls的话用hls on开启hls,并且为hls设置一个临时文件目录hls_path /tmp/hls;

其它更高级的配置可以参看nginx-rtmp-module的readme。

保存完配置文件后,启动nginx,通过netstat -ltn命令可以看到增加了一个1935端口的监听.80是nginx默认的http监听端口.

测试RTMP点播

使用Adobe Flash Media Live Encoder向服务器推流,点播地址: rtmp://serverIp:1935/myapp/test1。

测试HLS点播

使用Adobe Flash Media Live Encoder向服务器推流,点播地址: http://172.16.200.60:80/hls/test1.m3u8。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: