在ubuntu 上搭建Nginx-RTMP 直播服务器
前言
近段时间在学习Android直播,那么毋庸置疑ffmpeg和WebRTC是音视频界的两个大佬。
ffmpeg的基本使用:https://blog.csdn.net/huangliniqng/article/details/81842273
看过很多教程讲解直播环境的搭建,大都是在mac环境上搭建的,对于windows用户来说搭建起来比较繁琐,昨天的这个时候我尝试了在windows本地搭建Nginx-rtmp直播服务器,最终可以成功运行。效果图如下所示。
不过我们今天不讲解如何在windows上搭建直播服务器,如果有问题的朋友可以一起探讨。今天来讲解如何在ubuntu服务器上搭建直播服务器。(此处不造轮子,完全为了以后搭建更加方便)
1.RTMP简介
RTMP全称是Real Time Messaging Protocol(实时消息传输协议),rmtp是一种通讯协议。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
2.环境搭建
如果对linux操作命令不熟悉,可以移步至我的linux系列文章:
https://mp.csdn.net/postedit/82469566
首先创建源码编译的目录然后进入。
$ mkdir nginx-src
$ cd nginx-src
下载源码
$ git clone https://github.com/nginx/nginx.git
$ git clone https://github.com/arut/nginx-rtmp-module.git
$ wget ftp://ftp.csx.cam.ac.uk/pub/software/programming/pcre/pcre-8.39.tar.gz
$ tar -xzvf pcre-8.39.tar.gz
$ cd nginx$ git checkout release-1.9.9
编译安装
#将configure的命令封装成脚本
$ vim cfg.sh
# cfg.sh文件的内容
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/
$ chmod a+x cfg.sh
$ ./cfg.sh
$ make
$ make install
3.配置服务环境
安装完成后修改配置文件执行下列操作:
进入 cd /usr/local/nginx/conf
编辑 nginx.conf,如果提示没有权限,可执行sudo chmod 777 nginx.conf即可取得所有权限
编辑nginx.conf文件,主要是添加rtmp服务
配置完成后,保存文件。
执行下列命令重启nginx:
sudo /usr/local/nginx/sbin/nginx -s stop
sudo /usr/local/nginx/sbin/nginx
如果没有出现错误,这时已经成功搭建好了rtmp流媒体,
那么我们使用工具来测试,你也可以使用webrtc-android端来测试,这里我们使用工具SmarterStreaming,下载地址:https://github.com/daniulive/SmarterStreaming
测试之前首先我们要推送一个视频流
我们使用命令 ffmpeg -re -i soft/2.mp4 -c copy -f flv rtmp://localhost:1935/live/film
soft/2.mp4 是服务器上的视频地址,运行如果出现下图所示,说明上述环境搭建的没有问题
我们使用测试工具测试,输入地址 rtmp://123.207.55.74:1935/live/film
效果如下图所示:
当推流结束后则播放结束(仔细想想像电视台一样推送之后结束再接着推送广告等)
欢迎关注技术公众号,微信号搜索ColorfulCode 代码男人
分享技术文章,投稿分享,不限技术种类,不限技术深度,让更多人因为分享而受益。
在ubuntu 上搭建Nginx-RTMP 直播服务器相关推荐
- 搭建Nginx+rtmp直播服务器
目录 安装搭建 lnmp 环境 安装 Nginx 的扩展模块 关闭 nginx.php-fpm 服务 查看 nginx 配置参数 重新编译 nginx Centos7 端口开放 查看防火墙状态 开启防 ...
- 宝塔 搭建 nginx rtmp 流媒体服务器
宝塔 搭建 nginx rtmp 流媒体服务器 安装环境说明 系统环境: Centos 7 机型: DELL R540 准备工作 nginx 添加模块,编译安装 nginx ,下载 nginx-rtm ...
- Ubuntu上搭建自己的ngrok服务器
Ubuntu上搭建自己的ngrok服务器 参考网站:http://www.sunnyos.com/article-show-48.html 上面的内容似乎是sunny大神本人写的,了解的越多,发现自己 ...
- 阿里云服务器搭建Nginx+rtmp推流服务器
title: 阿里云服务器搭建Nginx+rtmp推流服务器 categories:[Centos] tags:[音视频编程] date: 2021/11/16 一.前期准备 服务器操作系统:Cent ...
- Mac上搭建Nginx + rtmp
介绍 nginx是非常优秀的开源服务器,用它来做hls或者rtmp流媒体服务器是非常不错的选择,本人在网上整理了安装流程,分享给大家并且作备忘. 安装步骤 1.先安装brew: /usr/bin/ru ...
- mac搭建nginx+rtmp直播流
1.nginx安装 (1)克隆github的项目 brew tap denji/nginx (2)安装nginx+rtmp模块 brew install nginx-full --with-rtmp- ...
- Windows上搭建Nginx RTMP服务器并使用FFmpeg实现本地视频推流
场景 RTMP RTMP协议 (1)是流媒体协议. (2)RTMP协议是 Adobe 的私有协议,未完全公开. (3)RTMP协议一般传输的是 flv,f4v 格式流. (4)RTMP一般在 TCP ...
- win7系统搭建流媒体服务器,windows7 下 搭建 nginx + rtmp 流媒体服务器
成果分享:https://github.com/ziq358/Nginx-Rtmp 材料准备: 1.Microsoft Visual Studio 2010 下载安装. 2.MinGW 安装. 3.下 ...
- armlinux 搭建nginx + rtmp服务器
1 综合篇 点我 2 uboot移植 点我 3 uboot lcd驱动 点我 4 kernel移植 点我 5 kernel lcd驱动 点我 6 摄像头驱动 点我 7 ubuntu base移植 点我 ...
- linux 搭建nginx + rtmp服务器
linux 搭建nginx + rtmp服务器 一 环境准备 虚拟机ubuntu 装备,安装一些nginx 必要的依赖和服务 sudo apt-get install libpcre3 libpcr ...
最新文章
- selenium--driver.switchTo()
- ebs查看服务状态_Oracle EBS - 工单状态
- httpclient高频请求
- 自定义起始时间的时间戳计算(个人代码记录)
- Android开发中EditText获得焦点弹出输入框改变屏幕布局的问题
- 进程 线程 用户控件
- 消息称阿里腾讯考虑互相开放生态系统 淘宝能用微信支付了?
- HTML 上标题栏把右标题栏遮挡,如何编辑组件的样式(编辑样式)?
- 分布式系统关注点(6)——「负载均衡」到底该如何实施?
- 几种支持动作模型格式的比较(MD2,MD5,sea3d) 【转】
- 对话清华NLP实验室刘知远:NLP搞事情少不了知识库与图神经网络
- 【转】Java集合间的相互转换
- 【强烈推荐】Java入门基础笔记,超全!
- 自由曲面透镜设计matlab,led自由曲面准直透镜的优化设计方法.pdf
- 8051单片机实现与GSM通讯
- 百度、高德、谷歌、火星、wgs84(2000)地图坐标相互转换的JS实现
- lol 8.21服务器维护,《LOL》8.16版本维护到几点 8月21日更新维护内容汇总
- html canvas 遮罩蒙版,canvas生成遮罩图片
- python离线安装第三方库
- [UER #1] DZY Loves Graph