前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >专栏 >Ubuntu 安装nginx 来搭建推流服务器

Ubuntu 安装nginx 来搭建推流服务器

作者头像
LinXunFeng
发布于 2018-06-29 07:27:44
发布于 2018-06-29 07:27:44
2.5K10
代码可运行
举报
文章被收录于专栏:LinXunFeng的专栏LinXunFeng的专栏
运行总次数:0
代码可运行

安装nginx

安装两个依赖库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install autoconf automake
sudo apt-get install libpcre3 libpcre3-dev

安装zlib库

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo apt-get install openssl
sudo apt-get install libssl-dev

如果安装命令回车之后出现如下信息,请参考【Ubuntu “无法获得锁”解决方案】解决,但是我亲测对我没用,直接重启搞定

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
E: 无法获得锁 /var/lib/dpkg/lock - open (11: 资源暂时不可用)
E: 无法锁定管理目录(/var/lib/dpkg/),是否有其他进程正占用它?

进入家目录,新建一个文件夹,这里以lxf为例

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd ~
mkdir lxf

下载所需源码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 下载nginx-rtmp源码
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
// 修改压缩包的名字
mv master.zip module.zip
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 下载nginx
wget https://github.com/nginx/nginx/archive/master.zip
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 下载nginx的依赖pcre源码
wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz

下载完成之后使用unzip命令进行解压

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
unzip master.zip 
unzip module.zip
tar -zxvf pcre-8.39.tar.gz

配置编译文件,准备编译安装

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 先进入nginx-master目录
cd nginx-master/

在nginx-master目录下有一个auto文件夹,里面有一个名为configure的配置文件,我们先来�通过它进行一些配置

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// prefix:指定安装目录
// add-module:指定模块文件夹
auto/configure --prefix=/usr/local/nginx --with-pcre=../pcre-8.39 --with-http_ssl_module --with-http_v2_module --with-http_flv_module --with-http_mp4_module --add-module=../nginx-rtmp-module-master/

配置好之后会多出一个Makefile文件(一种配置文件,定义了一系列的规则来指定编译操作)与objs文件夹

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 编译
make
// 安装
sudo make install

当你make后,看到则�代表编译成功

make成功

再执行【sudo make install】,看到这个则代表安装完成

�安装完成

现在我们去测试一下

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
 cd /usr/local/nginx/sbin/
sudo ./nginx -t

看到successful说明配置文件正确!,如果是failed的话看看你是不是没加sudo

配置文件正确

启动nginx服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo ./nginx

默认端口是80,所以直接到浏览器中直接敲入本地地址 127.0.0.1,显示【Welcome to nginx!】就代表nginx已经成功安装

配置nginx

创建推流存放文件夹

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 为里以 /usr/local/var/www/hls 为例
cd /usr/local
sudo mkdir -p var/www/hls

进入nginx的conf目录,使用vim编辑nginx.conf文件

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/local/nginx/conf
sudo vim nginx.conf

配置Nginx,支持http协议拉流

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
location /hls {
  types {
    application/vnd.apple.mpegurl    m3u8;
    video/mp2t ts;
  }
  root /usr/local/var/www;
   add_header Cache-Control    no-cache;
}

配置Nginx,支持rtmp协议推流

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
rtmp {
    server {
        listen 1935;
        application rtmplive {
            live on;
            max_connections 1024;
        }
        application hls{
            live on;
            hls on;
            hls_path /usr/local/var/www/hls;
            hls_fragment 1s;
        }
    }
}

hls

rtmp

重启nginx服务器

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
cd /usr/local/nginx/sbin/
sudo ./nginx -s reload

如果执行【sudo ./nginx -s reload】出现下面这个问题

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nginx: [error] open() "/usr/local/nginx/logs/nginx.pid" failed (2: No such file or directory)

就使用nginx -c的参数指定nginx.conf文件的位置,接着再reload一下就好了

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
sudo /usr/local/nginx/sbin/nginx -c /usr/local/nginx/conf/nginx.conf

Ubuntu地址为192.168.123.191

推流至RTMP到服务器 rtmp://192.168.123.191:1935/rtmplive/lxf

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ffmpeg -re -i 异形.契约.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://192.168.123.191:1935/rtmplive/lxf

推流至HLS到服务器 http://192.168.123.191/hls/lxf.m3u8

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
ffmpeg -re -i 异形.契约.mp4 -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 rtmp://192.168.123.191:1935/hls/lxf

如果出现如下错误说明你的电脑没安装ffmpeg

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
-bash: ffmpeg: command not found

使用Homebrew来安装FFmpeg

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
// 安装Homebrew
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
// 安装FFmpeg
brew install ffmpeg

开始推流,终端上就开始不断的刷新推流信息

开始推流

我们可以用电脑上的VLC这个软件来测试是否推流成功

VLC

�打开流

OK,rmtp打开正常,hls就不演示了,一样的

rmtp打开成功

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017.07.23 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
1 条评论
热度
最新
用OBS推流怎么要啥推流码啊,不输入不行吗
用OBS推流怎么要啥推流码啊,不输入不行吗
回复回复点赞举报
推荐阅读
编辑精选文章
换一批
在ubuntu 上搭建Nginx-RTMP 直播服务器
近段时间在学习Android直播,那么毋庸置疑ffmpeg和WebRTC是音视频界的两个大佬。
黄林晴
2019/01/10
3.3K0
简单的 H5 视频推流解决方案
作者:周超 导语 随着直播平台爆发式增长,直播平台从 PC 端转战移动端,紧跟着直播的潮流,自己学习实现了一套简单的 H5 视频推流的解决方案,下面就给小伙伴们分享一下自己学习过程中的经验。 环境部署 1、 配置、安装 Nginx; # ./configure --sbin-path=/usr/local/nginx/nginx --conf-path=/usr/local/nginx/nginx.pid --with-http_ssl_module --with-pcre=/usr/local/src/
腾讯云开发者社区
2018/01/15
10K5
简单的 H5 视频推流解决方案
一文搞定Nginx配置RTMP!
在这篇教程中,我们将详细介绍如何在云服务器上配置 Nginx 服务器和 Nginx-RTMP 模块,并使用 FFmpeg 实现视频推流。通过这些步骤,你将能够轻松地在自己的服务器上搭建一个视频推流服务。
Echo_Wish
2024/09/07
7310
一文搞定Nginx配置RTMP!
Nginx + RTMP + nginx-http-flv-module 环境搭建(CentOS 7)
实时消息传输协议(RTMP)是一种设计用于实时数据传输的协议,广泛用于流媒体服务。本文将介绍如何在CentOS 7上搭建一个基于Nginx的RTMP服务器,并使用nginx-http-flv-module模块实现HTTP-FLV流媒体服务。
IT_陈寒
2023/12/14
1.2K0
Nginx + RTMP + nginx-http-flv-module 环境搭建(CentOS 7)
Nginx添加rtmp模块搭建rtmp推流服务器
前言 搭建基于rtmp协议的推流服务器。 环境Centos 7 + Nginx 我这里默认nginx是用yum安装的 所以这篇文章最大可能和yum安装的nginx保持相同的配置 yum安装目录介绍 /usr/sbin/nginx 执行文件 /usr/lib64/nginx/modules/ 依赖模块目录 /etc/nginx 配置文件路径 /usr/share/nginx 默认的站点目录 安装Nginx和相关依赖 0、查看Nginx的版本和依赖 nginx -V 1、安装Nginx及其依赖库: #
码客说
2019/10/22
8K1
【Nginx】如何使用Nginx搭建流媒体服务器实现直播?看完这篇我会了!!(文末有福利)
作者个人研发的在高并发场景下,提供的简单、稳定、可扩展的延迟消息队列框架,具有精准的定时任务和延迟队列处理功能。自开源半年多以来,已成功为十几家中小型企业提供了精准定时调度方案,经受住了生产环境的考验。为使更多童鞋受益,现给出开源框架地址:
冰河
2020/10/29
2K0
【Nginx】如何使用Nginx搭建流媒体服务器实现直播?看完这篇我会了!!(文末有福利)
ubuntu搭建推流服务器Nginx+rtmp
****前言**** 最近这两年直播平台及其流行,然而我呢? 也要玩玩推流服务器~~~ 实现服务器推流/PC客户端观看/浏览器客户端查看 ---- ****简介**** 对于Nginx的优点呢就不多说了,两句话: 1)并发量高 2)可负载均衡 重点谈谈rtmp吧! RTMP全称是Real Time Messaging Protocol(实时消息传输协议),rmtp是一种通讯协议。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种
AlicFeng
2018/06/08
4.2K0
【Android RTMP】RTMP 直播推流服务器搭建 ( Ubuntu 18.04.4 虚拟机 )
① 数据采集 : 使用 Camera 相机采集图像数据 , 使用 AudioRecord 采集声音 ;
韩曙亮
2023/03/27
9.6K0
【Android RTMP】RTMP 直播推流服务器搭建 ( Ubuntu 18.04.4 虚拟机 )
用FFmpeg+nginx+rtmp搭建环境实现推流
链接:https://pan.baidu.com/s/1c2LmIHHw-dwLOlRN6iTIMg 提取码:g7sj 2、解压文件:
JQ实验室
2022/02/09
1.4K0
Qt显示视频流——nginx+rtmp搭建直播服务器(二)
上次介绍的是使用ffmpeg推流,这次介绍的是使用nginx + rtmp搭建直播服务器。
用户5908113
2019/08/23
3K0
Qt显示视频流——nginx+rtmp搭建直播服务器(二)
OSSRS搭建rtmp推流服务器
文中测试视频:https://pan.baidu.com/s/1Cs9bULQ26zmDjbNqiIyUow 密码:q839
西里国际站
2023/04/18
3.9K0
Nginx直播服务器搭建及推拉流测试
方便后面进行直播项目的实战练习,本文实现在 linux 下搭建 Nginx 直播服务器。
Gnep@97
2023/12/28
6500
Nginx直播服务器搭建及推拉流测试
Nginx 搭建RTMP视频点播 直播 HLS服务器
安装Nginx --下载nginx-rtmp-module模块 git clone https://github.com/arut/nginx-rtmp-module.git --安装依赖 yum install -y wget gcc gcc-c++ make pcre pcre-deve zilib zlib-devel openssl-devel --下载Nginx源码包并解压 wget http://nginx.org/download/nginx-1.18.0.tar.gz tar zxvf
剧终
2020/12/15
5.2K0
Nginx 搭建RTMP视频点播 直播 HLS服务器
3、搭建rtmp视频推流服务器
一般我们都需要先装pcre, zlib,前者为了重写rewrite,后者为了gzip压缩。
全栈程序员站长
2022/11/01
4.1K0
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
百度百科: 流媒体指以流方式在网络中传送音频、视频和多媒体文件的媒体形式。相对于下载后观看的网络播放形式而言,流媒体的典型特征是把连续的音频和视频信息压缩后放到网络服务器上,用户边下载边观看,而不必等待整个文件下载完毕。由于流媒体技术的优越性,该技术广泛应用于视频点播、视频会议、远程教育、远程医疗和在线直播系统中。作为新一代互联网应用的标志,流媒体技术在近几年得到了飞速的发展。
DS小龙哥
2022/01/12
4.9K0
Linux下使用Nginx搭建Rtmp流媒体服务器,实现视频直播功能
Ngnix 搭建视频直播服务器[通俗易懂]
受疫情推迟开学影响,这段时间全国如火如荼推广网络教学,前段时间搭建了edx慕课平台,但还缺点什么,就是网络直播教学,花一天时间,搭建成功,记录备用。
全栈程序员站长
2022/08/13
4.9K0
Ngnix 搭建视频直播服务器[通俗易懂]
FFmpeg推流到Nginx并使用播放器播放
如今直播很火,下面就简单分享下我是如何直播的。必备工具:FFmpeg,Nginx,还有一个播放器。之前在实例解析中分享过如何用FreeSWITCH来做直 播,这次分享下如何用FFmpeg配合Nginx做直播。
杜金房
2020/12/21
1.9K0
centos7上通过nginx+ffmpeg搭建rtsp直播流转rtmp视频服务器
大部分视频直播平台使用的协议都是RTMP,Nginx也有RTMP的扩展模块,所以我也选用RTMP进行服务器的搭建。
全栈程序员站长
2022/08/05
1.2K0
centos7上通过nginx+ffmpeg搭建rtsp直播流转rtmp视频服务器
iOS直播app之Mac搭建nginx+rtmp服务器
前言 今年移动直播行业的兴起,很多公司都在做直播,转眼间过了大半年了,直播的各种技术相对成熟了起来。今天我们公司也追赶潮流,索性我也转战直播,下面从第一步开始,Mac环境下如何搭建nginx+rtmp服务器。 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择。
s_在路上
2018/09/11
4.1K1
iOS直播app之Mac搭建nginx+rtmp服务器
openresy+nginx-rtmp-module搭建点播直播服务器
一般点播或者直播服务器都是使用nginx-rtmp-module作为服务器,然后使用ffmpeg或者obs来进行推流,客户端使用rtmp、http-flv、hls或者dash协议拉取转码后的数据,进行播放。
golangLeetcode
2024/04/10
5520
openresy+nginx-rtmp-module搭建点播直播服务器
推荐阅读
相关推荐
在ubuntu 上搭建Nginx-RTMP 直播服务器
更多 >
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文