【环境搭建】在Ubuntu16.04上搭建Nginx-rtmp流媒体服务器
【环境搭建】在Ubuntu16.04上搭建Nginx-rtmp流媒体服务器
- 关于流媒体
- 搭建Nginx-rtmp流媒体服务器
- 使用obs将本地视频推流到Nginx-rtmp流媒体服务器
- 在Nginx-rtmp流媒体服务器上使用VLC media player测试获取到的视频流
- 结语
关于流媒体
流媒体(streaming media)是指将一连串的媒体数据压缩后,经过网上分段发送数据,在网上即时传输影音以供观赏的一种技术与过程,此技术使得数据包得以像流水一样发送;如果不使用此技术,就必须在使用前下载整个媒体文件。流式传输可传送现场影音或预存于服务器上的影片,当观看者在收看这些影音文件时,影音数据在送达观看者的计算机后立即由特定播放软件播放。
搭建Nginx-rtmp流媒体服务器
- Nginx:Nginx (engine x) 是一个高性能的HTTP和反向代理web服务器,同时也提供了IMAP/POP3/SMTP服务。
- rtmp:RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
- 安装依赖
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
- 下载Nginx源码包和Nginx-rtmp源码包
wget http://nginx.org/download/nginx-1.7.5.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
- 解压两个源码包后,进入到Nginx源码包目录内
./configure --with-http_ssl_module --add-module=解压后的Nginx-rtmp源码包路径
- 编译、编译安装
make
sudo make install
- 下载Nginx初始化脚本,并更改权限,设置Nginx开机自启动
sudo wget https://raw.github.com/JasonGiedymin/nginx-init-ubuntu/master/nginx -O /etc/init.d/nginx
sudo chmod +x /etc/init.d/nginx
sudo update-rc.d nginx defaults
移除开机自启动的方法:
sudo update-rc.d -f nginx remove
- 安装ffmpeg
从源码编译安装ffmpeg的方法在【环境搭建】在ubuntu16.04上编译安装ffmpeg和opencv中 - 更改nginx配置文件
sudo cp /usr/local/nginx/conf/nginx.conf /usr/local/nginx/conf/nginx.conf.bak
sudo rm /usr/local/nginx/conf/nginx.conf
sudo vim /usr/local/nginx/conf/nginx.conf
添加内容如下:
#user nobody;
worker_processes 1;
error_log logs/rtmp_error.log debug;
pid logs/nginx.pid;
events {worker_connections 1024;
}
http {server {listen 80;server_name localhost;location /hls {# Serve HLS fragments# CORS setupadd_header 'Access-Control-Allow-Origin' '*' always;add_header 'Access-Control-Expose-Headers' 'Content-Length';# allow CORS preflight requestsif ($request_method = 'OPTIONS') {add_header 'Access-Control-Allow-Origin' '*';add_header 'Access-Control-Max-Age' 1728000;add_header 'Content-Type' 'text/plain charset=UTF-8';add_header 'Content-Length' 0;return 204;}types {application/vnd.apple.mpegurl m3u8;video/mp2t ts;}root /tmp;add_header Cache-Control no-cache;}}
}
rtmp {server {listen 1935;chunk_size 8192;application hls {live on;meta copy;hls on;hls_path /tmp/hls;}}
}
- 添加crossdomain.xml文件
sudo vim /usr/local/nginx/html/crossdomain.xml
添加内容如下:
<?xml version="1.0"?>
<!DOCTYPE cross-domain-policy SYSTEM "http://www.adobe.com/xml/dtds/cross-domain-policy.dtd">
<cross-domain-policy>
<allow-access-from domain="*"/>
</cross-domain-policy>
- 启动nginx服务
cd /etc/init.d
./nginx start
- 查看nginx运行状态
systemctl status nginx.service
- 停止nginx服务
cd /etc/init.d
./nginx stop
使用obs将本地视频推流到Nginx-rtmp流媒体服务器
为了便于测试,在一台windows电脑下载obs客户端
https://obsproject.com/
- 服务选择自定义
- 服务器地址填写为让rtmp://nginx服务器的ip地址:1935/hls/
- 串流密钥自定义任意值
在Nginx-rtmp流媒体服务器上使用VLC media player测试获取到的视频流
下载VLC media player
sudo apt-get install vlc
串流密钥和obs端设置的串流密钥一致
结语
如果您有修改意见或问题,欢迎留言或者通过邮箱和我联系。
如果我的文章对您有帮助,转载请注明出处。
【环境搭建】在Ubuntu16.04上搭建Nginx-rtmp流媒体服务器相关推荐
- Ubuntu16.04下配置nginx + RTMP流媒体服务器
目录 前言 1.安装nginx需要的环境 1.1 查看gcc版本 gcc -v 1.2 pcre.pcre-devel安装 1.3 zlib安装 1.4 安装openssl 2.开始安装 2.1 创建 ...
- ubuntu16.04上搭建stm32f4开发环境
ubuntu16.04上搭建stm32f4开发环境 工程源码的地址 https://github.com/txson/ubuntu-stm32 欢迎大家参与修改 搭建交叉编译环境 stm32 属于ar ...
- 在ubuntu16.04上搭建svn服务器
本文介绍在如何在ubuntu16.04 的系统上搭建svn服务器以及可能遇到的问题.下面的操作都以root用户进行. 1.安装svn服务器软件subversion. // 安装完成后的svn版本为 1 ...
- 宝塔 搭建 nginx rtmp 流媒体服务器
宝塔 搭建 nginx rtmp 流媒体服务器 安装环境说明 系统环境: Centos 7 机型: DELL R540 准备工作 nginx 添加模块,编译安装 nginx ,下载 nginx-rtm ...
- 如何在Ubuntu 18.04上使用Nginx与MySQL服务器一起部署ASP.NET Core应用程序
The author selected the Open Source Initiative to receive a donation as part of the Write for DOnati ...
- ubuntu上搭建php,ubuntu10.04上搭建php网站运行环境
ubuntu 10.04下搭建php网站运行环境 ubuntu 10.04下搭建php网站运行环境 前提: 要打开root权限 sudo password [这里填写root密码] 1.第一步安装ub ...
- hadoop搭建在Ubuntu16.04上
一.环境 Ubuntu16.04.Hadoop2.7.3.java8 系统安装完成后建议先更新一下 apt源 1.复制原文件备份 sudo cp /etc/apt/source.list /etc/a ...
- 在ubuntu16.04上搭建samba文件共享服务器
需求: 有两个用户abo和abu; 有三个文件夹: /samba_workspace/abo/ : 用户abo可访问,拥有读写权限 /samba_workspace/abu/ : 用户abu可访问,拥 ...
- Windows nginx + rtmp 流媒体服务器搭建(uniapp可用)
准备: 所有文件目录请不要中文命名,请使用英文 nginx服务 官网下载 niginx服务 视频推流版 3. 配置文件 nginx-rtmp-module 4. 推流文件 ffmpeg 5. 拉流工具 ...
- win7系统搭建流媒体服务器,windows7 下 搭建 nginx + rtmp 流媒体服务器
成果分享:https://github.com/ziq358/Nginx-Rtmp 材料准备: 1.Microsoft Visual Studio 2010 下载安装. 2.MinGW 安装. 3.下 ...
最新文章
- 如何对正在运行的进程,进行heap profile
- Asp.Net MVC2.0 Url 路由入门---实例篇
- HTML在线编辑器控件
- 为没有源码的DLL文件添加强名称
- 数据类型,隐式类型转换
- 【数据结构与算法】之深入解析“二叉树的最小深度”的求解思路与算法示例
- SDNU 1103.买彩票(水题)
- 【LiveVideoStack线上分享】— FreeSWITCH核心架构与流程控制
- linux tr命令完整,linux tr命令详解
- oracle安装后新建数据库实例及配置
- springmvc整合mybatis之准备阶段与文件配置
- SQL——联接分类和本质
- Java Web学习总结(10)——Session详解
- 如何计算虚拟化vcpu_【科普】CPU和内存虚拟化
- 查看ip命令 linux centos7,如何centos7查看ip(地址)命令?
- 菜鸟写Python-Scrapy:Spider源码分析
- 红外遥控风扇改手机APP远程控制杂记
- mavlink协议从入门到放弃(二)
- 一个外包仔的自我救赎,偷偷写了10万行代码的电商系统,横扫offer!
- 创维30周年庆典举行,中国制造业标杆向千亿目标加速冲刺