直播技术总结(一)流媒体服务器搭建,进行推流

喜你入骨 提交于 2019-12-04 21:20:20

转载请把头部出处链接和尾部二维码一起转载,本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/54425531

前言:直播技术,近年来,相当火,先且不说Codec部分,那它到底复杂么? 服务端推流,客户端进行拉流,两者结合,变成直播,应该说如何优化直播的实时性中的问题,才是复杂部分,如网络原因,如视频卡顿等。今天介绍直播技术总结中流媒体服务器搭建,进行推流,用Mac搭建nginx+rtmp服务器。

简介

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

步骤安装

1、安装Homebrow

Homebrew简称brew,是Mac OSX上的软件包管理工具,能在Mac中方便的安装软件或者卸载软件,可以说Homebrew就是mac下的apt-get、yum神器 ,因为Mac 本身也是基于unix内核的。

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

这里写图片描述

安装Homebrow中

这里写图片描述

安装Homebrow好了,如下:

这里写图片描述

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

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

这里写图片描述

一些ngnix命令:

  • ngnix -s reload:表示重新加载配置文件
  • ngnix -s reopen: 再次打开日志文件
  • ngnix -s stop : 停止服务器
  • ngnix -s quit : 退出服务器

nginx文件目录:

  • 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 ,就可以看到如下界面:

这里写图片描述

4、配置rtmp

我们先进入nginx目录下,用ls,看下其文件,并用 cat 读取下nginx.conf文件:

这里写图片描述

用notepad++打开nginx.conf, 找到/usr/local/etc/nginx/nginx.conf 文件,就可以打开.

或者打开Finder, 执行快捷键: Shift + command + G前往,用记事本工具打开nginx.conf.

这里写图片描述

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

参数说明下:

  • rtmp是协议名称
  • server 说明内部中是服务器相关配置
  • listen 监听的端口号, rtmp协议的默认端口号是1935
  • application 访问的应用路径是 zbcs
  • live on; 开启实时
  • record off; 不记录数据
    本文出自逆流的鱼yuiop:http://blog.csdn.net/hejjunlin/article/details/54425531

这里写图片描述

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

nginx -s reload

6、安装ffmepg工具

brew install ffmpeg

这里写图片描述

安装ffmepg中,可以看到各种慢,引起的中断,因为被墙的原因:

这里写图片描述

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

7、通过ffmepg命令开始进行推流

ffmpeg -re -i /Users/mac/Downloads/田埂上的梦.mp4  -vcodec copy -f flv rtmp://localhost:1935/test/live

这里test是上面的配置文件中,配置的application名称;后面的live,根据自己需要去写

这里写图片描述

最后我们用VLC工具来,看下效果,本来想写一个Android mediaplayer来播放这个,就变成了在手机上看直播了,觉得都一样,就用VLC来演示了:

这里写图片描述

第一时间获得博客更新提醒,以及更多android干货,源码分析,欢迎关注我的微信公众号,扫一扫下方二维码或者长按识别二维码,即可关注。


这里写图片描述

如果你觉得好,随手点赞,也是对笔者的肯定,也可以分享此公众号给你更多的人,原创不易

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!