nginx配合rtmp模块搭建流服务器

来源:互联网 发布:医疗器械软件研究文档 编辑:程序博客网 时间:2024/06/06 09:46

linux设置swap大小(虚拟内存)

修改Linux服务器虚拟内存Swap大小方法执行以下命令:dd if=/dev/zero of=/home/swap bs=1M count=1024以上命令在home目录创建了一个1G大小的文件,将用于添加虚拟内存。接下来将/home/swap格式化为Swap格式:mkswap /home/swap启用Swap:swapon /home/swap查看是否生效:free需要注意,重启系统后就失效了,如果希望重启系统后仍然有效,请编辑文件fstab:vi /etc/fstab加入一行:/home/swap swap swap defaults 0 0注意,该文件如果编写不正确可能导致无法开机,编辑完成执行以下命令测试一下:mount -a没有提示什么就表示正确了。最后,还应该设置一下文件权限:chown root:root /home/swapchmod 0600 /home/swap如果后悔了,想要删掉,请先执行:swapoff /home/swap然后删除swap文件:rm /home/swap

nginx配合rtmp模块搭建流服务器

1.先下载安装 nginx 和 nginx-rtmp 编译依赖工具
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
2. 创建一个工作目录,并切换到工作目录
mkdir /usr/jason/nginx
cd /usr/jason/nginx

3.下载 nginx 和 nginx-rtmp源码(wget是一个从网络上自动下载文件的自由工具)
wget http://nginx.org/download/nginx-1.7.5.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip

4.安装unzip工具,解压下载的安装包
sudo apt-get install unzip

5.解压 nginx 和 nginx-rtmp安装包
tar -zxvf nginx-1.7.5.tar.gz
-zxvf分别是四个参数
x : 从 tar 包中把文件提取出来
z : 表示 tar 包是被 gzip 压缩过的,所以解压时需要用 gunzip 解压
v : 显示详细信息
f xxx.tar.gz : 指定被处理的文件是 xxx.tar.gz
unzip master.zip

6.切换到 nginx-目录
cd nginx-1.8.1

7.添加 nginx-rtmp 模板编译到 nginx
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master

8.编译安装
- make
- sudo make install

9.安装nginx init 脚本(让nginx开机启动)
下面这个命令是:把这个目标文件下载下来,然后放到指定目录下,-O是目标的意思

sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx

sudo chmod +x /etc/init.d/nginx
开机启动命令
sudo update-rc.d nginx defaults
10. 启动和停止nginx 服务,生成配置文件
sudo service nginx start
sudo service nginx stop

注意:默认端口是80,如果有端口冲突,那就在nginx安装的目录下进行修改。
cd /usr/local/nginx/
配置文件在/usr/local/nginx/conf
在这里文件夹中有nginx.conf 在里面有server下lisisten里面有监听
11. 安装 FFmpeg
(1)下载ffmpeg-2.8.9.tar
(2)解压
(3)进入ffmpeg-2.8.9目录
(4)检测环境./configure –disable-yasm
(5)然后执行make
(6)最后进行make install

make
make install
12. 配置 nginx-rtmp 服务器
打开 /usr/local/nginx/conf/nginx.conf
在末尾添加如下 配置

下面这段话说明:
推流监听的端口是1935,地址是rtmp://localhost/live/$name(localhost是推给本地,$name为随便命名)

复制代码

rtmp {    server {            listen 1935;            chunk_size 4096;            application live {                    live on;                    record off;                    exec ffmpeg -i rtmp://localhost/live/$name -threads 1 -c:v libx264 -profile:v baseline -b:v 350K -s 640x360 -f flv -c:a aac -ac 1 -strict -2 -b:a 56k rtmp://localhost/live360p/$name;            }            application live360p {                    live on;                    record off;        }    }}

复制代码
13. 保存上面配置文件,然后重新启动nginx服务
sudo service nginx restart
14. 如果你使用了防火墙,请允许端口 tcp 1935
15: 使用 客户端,使用 rtmp协议进行视频实时采集
- Field 1: rtmp://your.vultr.ip/live/
- Field 2: stream-key-your-set

服务器配置测试播放器:
将播放器复制到目录:/usr/local/nginx/html/,然后修改播放地址
用ffplay播放RTMP直播流:
ffplay "rtmp://pub1.guoshi.com/live/newcetv1 live=1"

最后推流地址为:

rtmp://ip/live/wang

注意:
修改直播首页index.html页面,在/usr/local/nginx/html目录下
新建一个目录下需要有的东西:

这里写图片描述
最后效果:
这里写图片描述

0 0
原创粉丝点击