Mac搭建Nginx流媒体服务器,进行推流,拉流

搭建nginx流媒体服务器

简介

Nginx 是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择

下面介绍如何在Mac上搭建流媒体服务器,以便后续的自己研究的项目或者demo向服务器上进行推流

首先需要安装brew,brew是一款管理软件的第三方平台,安装的方式也很简单,请自行查阅安装方式

安装

执行下面2句命令,即可安装rtmp推流的nginx服务器

brew tap denji/nginx 

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

执行完后,可以查看ngix安装在哪里

brew info nginx-full
image.png

可以看到M1 是安装在这个目录下/usr/local/etc/nginx

打开这个目录,可以看到有个nginx.conf文件,这里就是服务器的一个配置文件,如果支持rtmp,则里面的内容会有一个rtmp的json

image.png
image.png

这个json说明:

1.你本地的nginx服务器会监听1935端口号,

2.服务器会创建一个mytv的程序

后续你可以向这个地址进行推流,并且进行拉流播放

后面我们会使用ffmpeg向这个地址推流
rtmp://localhost:1935/mytv/room

并且用vlc拉取这个地址的流进行播放

启动nginx服务

执行命令,即可启动nginx服务器

nginx

验证是否启动成功,只需要在浏览器中访问下以下链接

在浏览器地址栏输入:http://localhost:8080

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

image.png

配置rtmp

打开配置文件 /usr/local/etc/nginx/nginx.conf

http {
    ……
}

#在http节点下面(也就是文件的尾部)加上rtmp配置:
rtmp {
    server {
        listen 1935;
        application abcs {
            live on;
            record off;
        }
    }
}
  • rtmp 是协议名称
  • server 说明内部中是服务器相关配置
  • listen 监听的端口号, rtmp协议的默认端口号是1935
  • application 访问的应用路径是 abcs
  • live on; 开启实时
  • record off; 不记录数据

4、 保存文件后,重新加载nginx的配置文件

nginx -s reload

推流

1.安装ffmpeg

$ brew install ffmpeg

2、通过ffmepg命令进行推流

 ffmpeg -re -i  /Users/bojiang/Downloads/test1.flv  -vcodec copy -f flv rtmp://localhost:1935/mytv/room

这里推的是flv流,可以正常推,这里需要注意的是服务器地址一定要写正确,我的nginx.conf里application配置的是mytv,所以路径就是mytv,room则是随便写都行,代表向程序mytv下的room文件推流

拉流

1、 验证视频

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

rtmp://localhost:1935/mytv/room

验证时,推流的文件最好搞大点,不然一下推完了,你才去拉取播放,则播放不了,因为这是实时的

vlc使用如下

  1. open network


    image.png
  1. 输入url


    image.png

3.点击播放即可

image.png

可以看到左边是画面,右边是ffmpeg在推流

image.png

参考:https://www.jianshu.com/p/cf74a34af15d

你可能感兴趣的:(Mac搭建Nginx流媒体服务器,进行推流,拉流)