文档章节

在局域网内使用OBS将视频推向nginx-rtmp流媒体服务器

SunwardTree
 SunwardTree
发布于 2016/11/10 13:08
字数 1240
阅读 6685
收藏 3

最近参加一个小项目的开发,要求实现直播功能,因此就采纳了师兄的建议,搭建nginx-rtmp服务,这篇博文算是一篇技术可行性的探索,下面首先介绍开发环境。

开发环境

Win10 x64,OBS推流所在的系统;

Ubuntu 14.04 x64,nginx-rtmp服务器所在的系统,内核版本(Linux version 4.2.0-27-generic)最近实测Debian系统完全按照这种方法也是可以实现的;

OBS版本是0.16.3,这一项当然是越新越好,不用保持版本的一致;

nginx的版本是1.10.2,目前的最新稳定版,http://nginx.org/download/nginx-1.10.2.tar.gz;

nginx的插件nginx-rtmp-module,是有arut维护的github开源项目,https://github.com/arut/nginx-rtmp-module/archive/master.zip。

(nginx安装在linux系统下,为了方便解决依赖问题,我们需要在linux系统下安装aptitude,具体用法稍后介绍;同时为了解压zip的包,需要安装unzip,这两个都可以在根用户模式通过apt-get来安装)

步骤简述

[在Ubuntu下]

1、安装nginx和nginx-rtmp-module的依赖环境(用aptitude install);

2、在nginx的解压目录下配置./configure,并用make和make install安装带有nginx-rtmp-module的nginx;

3、用nano配置nginx的文件,增加rtmp支持;

4、注册并启动nginx服务;

[在Win10下]
1、安装OBS,直接使用网上的安装包完成;

2、配置推流服务,测试推流效果。

详细步骤(图文)

[在Ubuntu下]

1、安装nginx和nginx-rtmp-module的依赖环境(用aptitude install)

使用aptitude命令,自动解决依赖问题,aptitude是Debian系linux解决依赖问题的神器,它会自动生成解决方案,用户只用做出选择即可,完美解决依赖问题。做这些系统操作之前,最好开启根用户权限,具体方法其他博主有详细介绍,请读者自行查找,以下命令,默认在su下运行。

aptitude install build-essential libpcre3 libpcre3-dev libssl-dev

获取了最新系统和软件的机器可以不用这种方法,直接用atp-get。(“最新”定义:最近使用过atp-get update 和 apt-get upgrade)。

2、在nginx的解压目录下配置./configure,并用make和make install安装带有nginx-rtmp-module的nginx

首先,我在/opt目录下创建了/nginx-rtmp目录,并将实现下载好的压缩包解压到目录下,用到的指令如下所示,解压zip要用到unzip;(此处那两个压缩包也可以用 wget 加下载地址下载,下载地址在环境中给出了)

然后,配置./configure

cd /opt/nginx-rtmp/nginx-1.10.2
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
make
make install

上面的指令都是分别执行的,按照上面的步骤来,不会报错。

3、用nano配置nginx的文件,增加rtmp支持

nano /usr/local/nginx/conf/nginx.conf

打开nginx的配置文件,用nano将下面的配置参数添加到文件末尾,这里创建了live这个rtmp应用,监听的端口是1935。

rtmp {    
    server {    
            listen 1935;           
            application live {    
                live on;    
            }  
     }    
}

4、注册并启动nginx服务

wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
chmod +x /etc/init.d/nginx
update-rc.d nginx defaults

在shell界面,输入上述命令,完成服务的注册,然后,启动服务。

#启动
service nginx start

至此,nginx服务配置完成。

[在Win10下]
1、安装OBS,直接使用网上的安装包完成

我的版本是0.16.3,安装好后的启动界面如下图:

2、配置推流服务,测试推流效果

这里先要在左下角创建场景,然后配置来源,点击“+”号,我添加的是“媒体源”,然后新建,指向一个自己有的视频文件,点击确定然后就自动开始播放了。

接下来,配置串流,点击最右边的“设置”,配置串流,新建自定义流媒体服务器,在路由器设置中,查看Ubuntu系统的IP,并将刚刚设置好的rtmp服务的地址记牢,我的服务器IP是192.168.1.105,端口号1935,服务地址是/live,因此,我的推流URL是“rtmp://192.168.1.105:1935/live”,点击确定完成配置。

接下来,先后点击右侧的,“开始录制”和“开始串流”,直播就配置完成了,我们接下来可以在浏览器中输入上述URL地址,浏览器会打开流媒体播放器,播放正在录制的直播,效果如下所示:

为了保证声音的效果,建议只保留“媒体源”,关闭其他声音,排除干扰。这样,就大功告成了。

参考博客

https://www.vultr.com/docs/setup-nginx-rtmp-on-ubuntu-14-04

http://blog.csdn.net/xdwyyan/article/details/43198985

http://www.cnblogs.com/wainiwann/p/3866254.html

http://man.linuxde.net/nano

http://blog.sina.com.cn/s/blog_4ad7c2540101duql.html

在此向上述博客博主致谢。

© 著作权归作者所有

SunwardTree
粉丝 1
博文 10
码字总数 6625
作品 0
武汉
程序员
私信 提问
EasyDSS高性能RTMP、HLS(m3u8)、HTTP-FLV、RTSP流媒体服务器和EasyDSS云平台异同

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。 https://blog.csdn.net/xiejiashu/article/details/93890570 背景分析 不同于EasyDSS流媒体服...

xiejiashu
06/27
0
0
使用nginx-rtmp-module搭建直播流媒体服务器

先下载nginx-rtmp-module nginx-rtmp-module的官方github地址:https://github.com/arut/nginx-rtmp-module 使用的详细wiki https://github.com/arut/nginx-rtmp-module/wiki/Directives 安装......

cp3_1dbc
2018/06/03
0
0
windows 下 hls 的点播和直播

Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件(可选)。 常用的流媒体协议主要有 HTTP 渐进下载和基于 RTSP/R...

mlianghua
2015/06/05
1K
0
Nginx学习之配置RTMP模块搭建推流服务

写在开始 小程序升级实时音视频录制及播放能力,开放 Wi-Fi、NFC(HCE) 等硬件连接功能。同时提供按需加载、自定义组件和更多访问层级等新特性,增强了第三方平台的能力,以满足日趋丰富的业务...

小柒2012
2018/01/04
0
0
Nginx学习之配置RTMP模块搭建推流服务

写在开始 小程序升级实时音视频录制及播放能力,开放 Wi-Fi、NFC(HCE) 等硬件连接功能。同时提供按需加载、自定义组件和更多访问层级等新特性,增强了第三方平台的能力,以满足日趋丰富的业务...

小柒2012
2018/01/04
0
0

没有更多内容

加载失败,请刷新页面

加载更多

前端面试题汇总

一. HTML常见的兼容性 1.HTML5 标签在低版本浏览器不兼容 解决办法:使用html5shiv库,引入下列语句 <!--[if lte IE 8]> <script src="https://cdn.bootcss.com/html5shiv/r29/html5.js"></sc......

蓝小驴
40分钟前
10
0
OSChina 周四乱弹 —— 我气的脸都黑了!

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 小小编辑推荐《Red Battle》- 高橋李依 / 豊崎愛生 《Red Battle》- 高橋李依 / 豊崎愛生 手机党少年们想听歌,请使劲儿戳(这里) @丶Lion ...

小小编辑
53分钟前
677
23
找OSG教程, B站就有

https://www.bilibili.com/video/av64849038?from=search&seid=11632913960900279653

洛克人杰洛
今天
6
0
学习记录(day07-Vue组件、自定义属性、自定义事件)

[TOC] 1.1.1什么是组件 一个vue文件就是一个组件 组件将html标签/css样式/对应JS打包成一个整体,也可以理解钻进一个具有样式和特效的自定义标签。 一、编写组件(提供方)<template> <di...

庭前云落
今天
5
0
使用Prometheus监控SpringBoot应用

通过之前的文章我们使用Prometheus监控了应用服务器node_exporter,数据库mysqld_exporter,今天我们来监控一下你的应用。(本文以SpringBoot 2.1.9.RELEASE 作为监控目标) 编码 添加依赖 使...

JAVA日知录
今天
9
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部