zoukankan      html  css  js  c++  java
  • 如何搭建RTMP视频流媒体推流服务器

    大家知道我们的视频直播点播服务器是可以结合我们研发的RTMP推流平台一起使用,EasyRTMP推流平台将手机录像进行实时的直播。

    那么为了演示直播推流工程,我来架设一个简易的RTMP服务器,用OBS推流,并在播放器中播放,基于Nginx和rtmp模块。

    其实步骤比较简单,首先安装Homebrew包管理器,以便安装Nginx,然后配置服务器的rtmp端口和路径。使用OBS来推流,安装VLC播放器来播放rtmp串流。

    详细步骤

    1.安装Homebrew包管理器

    ① 如果你安装过cocoapods,就应该会安装好Homebrew,那就跳过此步。如果不确定是否已经安装,可以在终端用man homebrew命令来确定,如果回馈一堆使用说明,那就是安装好了。 否则请用以下命令安装:

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

    卸载Homebrew:

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

    ② 下载Homebrew上的Nginx项目到本地:

    brewtaphomebrew/nginx
    

    ③ 安装rtmp模块:

    brewinstallnginx-full--with-rtmp-module
    

    ④ 启动Nginx服务器:

    ⑤验证启动,在浏览器中打开网址http://localhost:8080。如果看到 Welcome to nginx字样,说明是服务器已经成功启动。

    注:第一个步骤内可能有权限不够,可以按照命令失败的提示修正一下。

    2.配置

    ① 显示nginx的的使用说明:

    brewinfonginx-full
    

    ② 搜索服务器的配置文件所在目录:

    按Command + F输入nginx.conf, 最后一个匹配的,后面接 to 8080 字样的就是,一般是

    /usr/local/etc/nginx/nginx.conf
    

    ③ 配置rtmp,用任意的文本编辑器打开

    /usr/local/etc/nginx/nginx.conf
    

    在文件的末尾加上以下并保存:

    rtmp{
    
       server{
    
              listen1935;
    
            applicationrtmplive{
    
            liveon;
    
          }
    
    }
    
    }
    

    这是一个最小化配置的,在端口1935监听的rtmp服务,名叫rtmplive,启用了直播(live on)。

    ④ 重启服务器使配置生效:

    /usr/local/Cellar/nginx-full/1.10.2/bin/nginx-sreload
    

    3.安装OBS Mac版本

    ① 在 设置 > 串流 > 自定义流媒体服务器 > URL 中填入:

    rtmp://192.168.166.172:1935/rtmplive/

    确定后退出设置。设置直播场景后,点击“开始串流”,这时OBS状态栏应该可以看到连接状态和推流速率。

    ② 安装Mac版本的VLC。

    ③ 菜单File > Open Network… > 输入:

    rtmp://192.168.166.172:1935/rtmplive/

    把这里的192.168.166.172替换成你自己电脑对外的IP,也就是其他电脑可以访问的IP。

    不仅OBS可以用来推流,iPhone/安卓机也可以利用这个自建服务器来推流了。不过这只是一套简易的推流流程,如果要达到视频流实时传输的目的,最好使用专业的RTMP视频推流软件。

    RTMP推流至视频直播点播平台播放效果:

  • 相关阅读:
    js在当前时间上加分钟数得到新的时间
    (转)@Autowired(required=false)注入注意的问题
    Java代替if和switch的方法(记录一下)
    windows下RocketMQ的安装部署
    RocketMQ在windows环境下的安装(转)
    简单说下二维数组
    JAVA-单例模式的几种实现方式
    (转)mybatis一级缓存二级缓存
    MySql安装后在服务管理器里边找不到MySql服务项的解决办法(win10)
    JAVA字符串的替换replace、replaceAll、replaceFirst的区别解析。
  • 原文地址:https://www.cnblogs.com/TSINGSEE/p/12848688.html
Copyright © 2011-2022 走看看