介绍

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

安装步骤

1.先安装brew:

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

如果要下载brew:

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

2.安装Niginx

增加对 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

4.启动Nginx

nginx

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

关闭Nsinx:

nginx -s stop

5.配置RTMP

打开nginx.conf, 找到/usr/local/etc/nginx/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.安装ffmpeg工具

brew install ffmpeg

7.安装支持RTMP播放的软件

VLC:http://rj.baidu.com/soft/detail/25680.html?ald

8.通过ffmpeg进行推流

ffmpeg -re -i /Users/****/Documents/Document/demo.mp4  -vcodec copy -f flv rtmp://localhost:1935/zbcs/room

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

9.在vlc中播放RTMP视频

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

rtmp://localhost:1935/zbcs/room

双击播放。

10.配置HLS

打开nginx.conf, 找到/usr/local/etc/nginx/nginx.conf 文件,找到http -> server,在花括号中增加:

 server {listen       8080;server_name  localhost;#charset koi8-r;#access_log  logs/host.access.log  main;location / {root   html;index  index.html index.htm;}#HLS配置开始,这个配置为了`客户端`能够以http协议获取HLS的拉流location /hls {# Serve HLS fragmentstypes {application/vnd.apple.mpegurl m3u8;video/mp2t ts;}root html;add_header Cache-Control no-cache;}#HLS配置结束#error_page  404              /404.html;# redirect server error pages to the static page /50x.html#error_page   500 502 503 504  /50x.html;location = /50x.html {root   html;}}

找到rtmp下的server,在花括号中增加:

#在http节点下面(也就是文件的尾部)加上rtmp配置:
rtmp {server {listen 1935;application zbcs {live on;record off;}#增加对HLS支持开始application hls {live on;hls on;hls_path /usr/local/var/www/hls;hls_fragment 5s; }#增加对HLS支持结束}
}

说明:

  1. live on; 开启实时
  2. hls on; 开启hls
  3. hls_path; ts文件存放路径
  4. hls_fragment 5s; 每个TS文件包含5秒的视频内容

11.保存配置文件,重新启动nginx

nginx -s reload

12.利用ffmpeg推流到Nginx

ffmpeg -re -i /Users/jiangys/Documents/Document/demo.mp4 -vcodec copy -f flv rtmp://localhost:1935/hls/movie

然后就可以在/usr/local/var/www/hls(html默认配置文件)路径下看到ts的切片文件和m3u8文件

13.播放hls

通过上面配置,可以通过rtmp和hls两种方式来播放

1)rtmp方式:

用VCL打开:

rtmp://192.168.1.100/hls/movie

2)hls方式:

用VCL或者Safari浏览器:

http://192.168.1.100:8080/hls/movie.m3u8

14.如果想把ts文件存放到指定路径下,比如"/tmp/hls"

  application hls {live on;hls on;hls_path /tmp/hls;}

那么,我们也需要在http-->server中对root 路径更改为:/tmp 。要不然,会拉不到流。

10.错误处理

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

Mac上搭建Nginx + rtmp相关推荐

  1. nginx mac 服务器 html,Mac上搭建 nginx 服务器

    因为需要做一个自己的内测分发平台,所以需要搭建一台自己的服务器,于是我选择了使用它 nginx 来搭建服务器,很方便,很简单. 本文主要讲一下如何在 mac 上搭建 nginx 服务器,已经一些简单的 ...

  2. Windows上搭建Nginx RTMP服务器并使用FFmpeg实现本地视频推流

    场景 RTMP RTMP协议 (1)是流媒体协议. (2)RTMP协议是 Adobe 的私有协议,未完全公开. (3)RTMP协议一般传输的是 flv,f4v 格式流. (4)RTMP一般在 TCP ...

  3. 教你如何在Mac上搭建自己的服务器——Nginx

    教你如何在Mac上搭建自己的服务器--Nginx WHAT 本篇主要是基于Nginx在Mac上搭建自己的服务器. 我相信很多朋友肯定是第一次听到Nginx,关于它具有怎样的传奇,这儿肯定说不完也说不透 ...

  4. mac搭建网站服务器,Mac上搭建Web服务器--Apache

    局域网搭建 Web 服务器测试环境,因为Mac OS X 自带了 Apache 和 PHP 环境,我们只需要简单的启动它就行了. 1.命令:sudo apachectl start Apache服务器 ...

  5. 宝塔 搭建 nginx rtmp 流媒体服务器

    宝塔 搭建 nginx rtmp 流媒体服务器 安装环境说明 系统环境: Centos 7 机型: DELL R540 准备工作 nginx 添加模块,编译安装 nginx ,下载 nginx-rtm ...

  6. 树莓派搭建nginx+rtmp服务器

    树莓派搭建nginx+rtmp服务器 http://bbs.eeworld.com.cn/thread-506444-1-1.html 1.安装依赖包 sudo apt-get install bui ...

  7. [转] 在Mac上搭建React Native开发环境

    原文链接: http://blog.csdn.net/xiangzhihong8/article/details/53914336 概述 前面我们介绍过在window环境下开发React Native ...

  8. Mac上使用nginx访问本地文件夹报403的问题

    Mac上使用nginx访问本地文件夹报403的问题 就是没有权限访问你配置的文件夹在 nginx.conf头行加入下面配置 user root wheel; 不过我的电脑在启动nginx访问的时候会发 ...

  9. python数据分析开发环境_在MAC上搭建python数据分析开发环境

    最近工作转型到数据开发领域,想在本地搭建一个数据开发环境.自己有三年python开发经验,马上想到使用numpy.scipy.sklearn.pandas搭建一套数据开发环境. ubuntu的环境,百 ...

最新文章

  1. 网页、网站规划与设计1
  2. 小学计算机ppt课教案,小学信息技术公开课教案《让幻灯片变得更加漂亮》教学设计与反思...
  3. flask接收前台的form数据
  4. python位运算符_NumPy按位运算符解析和实例详解
  5. vue函数如何调用其他函数?_编程|如何简单理解函数的传参、返回、调用
  6. laravel created_at 时间戳_Laravel 单行为控制器设计的魅力
  7. 2018今日头条春招面试题
  8. 幽默度识别第一名解决方案代码及说明
  9. 人工智能机器学习模型构建数据集猫狗数据集(cats_and_dogs_filtered.zip)数据集百度网盘下载地址
  10. 盒子科技刘恒:聚合支付系统演讲
  11. oracle共享池使用率,oracle调优之--共享池使用问题(摘自文平书)
  12. 5分钟学会Python爬虫神器autoscraper——自动化爬虫必备
  13. 正在通过app store进行鉴定解决方案
  14. 电脑服务器修改穿越火线不卡,windows10玩穿越火线画面不流畅怎么办
  15. python安装不了turtle,三种错误都一一解决
  16. [MySQL/初学者]数据完整性约束
  17. spring boot 2.1学习笔记【异常】lombok.javac.apt.LombokProcessor could not be initialized
  18. java验证xml格式是否正确的是_java判断文件是否为xml格式的方法
  19. 深入理解常见的二十三种设计模式
  20. 赛况激烈!2022 OceanBase数据库大赛50强诞生

热门文章

  1. Data - 深入浅出学统计 - 下篇
  2. OOP 面向对象 七大原则 (一)
  3. Alpha冲刺 - (5/10)
  4. bzoj 3598 [ Scoi 2014 ] 方伯伯的商场之旅 ——数位DP
  5. MySQL更新命令_UPDATE
  6. 2.4G高频PCB天线设计
  7. static关键字和内存使用
  8. MyEclipse中的快捷键
  9. 分布式计算开源框架Hadoop入门实践
  10. CentOS的Gearman安装与使用无错版