• Mac上搭建直播服务器Nginx+rtmp


    简介

    nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘。

    步骤安装

    1、安装Homebrow

    Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get、yum神器

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    如果已经安装过,而想要卸载:

    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)"

    2、安装Nginx服务器

    增加对 nginx 的扩展;也就是从github上下载,home-brew对ngixnx的扩展

    brew tap homebrew/nginx

    3、安装Nginx服务器和rtmp模块

    brew install nginx-full --with-rtmp-module

    这个安装,耗时相对来说比较长。通过操作以上步骤nginx和rtmp模块就安装好了,下面开始来配置nginx的rtmp模块。

    首先来看看我们的nginx安装在哪里

    brew info nginx-full

    执行上面的命令后我们可以看到信息

    • nginx安装所在位置  /usr/local/Cellar/nginx-full/1.10.1/bin/nginx
    • nginx配置文件所在位置  /usr/local/etc/nginx/nginx.conf
    • nginx服务器根目录所在位置  /usr/local/var/www

    执行命令 ,测试下是否能成功启动nginx服务

    nginx

    命令行如下图所示

    在浏览器地址栏输入:http://localhost:8080 (直接点击)

    出现Welcome to nginx ,代表nginx安装成功了。

    4、配置rtmp

    用Xcode打开nginx.conf, 找到/usr/local/etc/nginx/nginx.conf 文件,拖入到Dock中的Xcode,就可以打开.

    或者打开Finder Shift + command + G前往,用记事本工具打开nginx.conf.

    http {
        ……
    }
    #在http节点下面(也就是文件的尾部)加上rtmp配置:
    rtmp {
        server {
            listen 1935;
            application zbcs {
                live on;
                record off;
            }
        }
    }

    说明:

    1. rtmp是协议名称
    2. server 说明内部中是服务器相关配置
    3. listen 监听的端口号, rtmp协议的默认端口号是1935
    4. application 访问的应用路径是 zbcs
    5. live on; 开启实时
    6. record off; 不记录数据

    5. 保存文件后,重新加载nginx的配置文件(这一步很重要

    nginx -s reload

    6. 安装ffmepg工具

    brew install ffmpeg

    安装这个需要等一段时间, 这时你可以准备一个视频文件作为来推流,然后安装一个支持rtmp协议的视频播放器.Mac下可以用 VLC(点击下载)

    7、通过ffmepg命令进行推流

    ffmpeg -re -i 你的视频文件的绝对路径(如/Users/lideshan/Downloads/Demo.mp4)  -vcodec copy -f flv rtmp://localhost:1935/zbcs/room
    // 如:ffmpeg -re -i /Users/jiangys/Documents/Document/demo.mp4  -vcodec copy -f flv rtmp://localhost:1935/zbcs/room

    这里zbcs是上面的配置文件中,配置的应用的路径名称;后面的room可以随便写。

    推流界面:

    8. 验证视频

    然后电脑上打开vlc这个播放器软件 点击File---->Open Network 在弹出来的框中选择Network然后输入URL:

    rtmp://localhost:1935/zbcs/room

    双击播放

    播放界面

    报错处理

    1.ffmepg命令推流的时候,提示连接失败。[tcp @ 0x7ff162504b60] Connection to tcp://localhost:1935 failed (Connection refused), trying next address

    出现这个错,是因为配置了nginx.conf后,需要重启nginx。输入命令重启后就没有问题了

    nginx -s reload

    2.安装完nginx后,在浏览器地址栏输入:http://localhost:8080 显示打不开网页

    解决方式:由于安装后nginx服务器,有时需要等上几分钟才生效。如果还不生效,测试下是否能成功启动nginx服务,命令

    nginx

    具体请参考“步骤安装”第三点。

    另:当前只支持rtmp拉流,如果想要支持HLS ,请参考下一篇文章:

    Mac直播服务器Nginx配置对HLS的支持

    参考:Mac上搭建直播服务器Nginx

  • 相关阅读:
    HDU3336 Count the string —— KMP next数组
    CodeForces
    51Nod 1627 瞬间移动 —— 组合数学
    51Nod 1158 全是1的最大子矩阵 —— 预处理 + 暴力枚举 or 单调栈
    51Nod 1225 余数之和 —— 分区枚举
    51Nod 1084 矩阵取数问题 V2 —— 最小费用最大流 or 多线程DP
    51Nod 机器人走方格 V3 —— 卡特兰数、Lucas定理
    51Nod XOR key —— 区间最大异或值 可持久化字典树
    HDU4825 Xor Sum —— Trie树
    51Nod 1515 明辨是非 —— 并查集 + 启发式合并
  • 原文地址:https://www.cnblogs.com/jys509/p/5649066.html
Copyright © 2020-2023  润新知