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

    xiaoxiao2021-03-25  90

    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/swap chmod 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目录下 新建一个目录下需要有的东西:

    最后效果:

    转载请注明原文地址: https://ju.6miu.com/read-25468.html

    最新回复(0)