nginx搭建流媒体服务器
1、安装PCRE库
到www.pcre.org 下载pcre-8.37.tar.gz
tar -zxvf pcre-8.37.tar.gz
cd pcre-8.37
./configure
make
make install
2、安装zlib库
到www.zlib.net 下载zlib-1.2.8.tar.gz
tar -zxvf zlib-1.2.8.tar.gz cd zlib-1.2.8
./configure
make
make install
3、安装SSL
到www.openssl.org下载openssl-1.0.2g.tar.gz
tar -zxvf openssl-1.0.2g.tar.gz
./config
make
make install
4、到nginx.org 下载nginx
到https://github.com/arut/nginx-rtmp-module 下载:nginx-rtmp-module
解压缩
进入解压后的nginx
依次执行以下命令运行:
./configure --prefix=“安装目录” --add-module=“nginx-rtmp-module解压后的路径” --with-http_ssl_module
make -f objs/Makefile
make -f objs/Makefile install
5、配置
#推流配置,与http配置同级
rtmp {
server {
listen 2017;
publish_time_fix on;
application live {
live on;
allow publish all;
allow play all;
}
#用于HLS拉流
application vod {
live on;
hls on;
hls_path “推流目录”;
hls_fragment 5s;
}
#用于RTMP拉流
application app {
live on;
#record all;
#record_path /alidata/server/nginx/www;
}
}
#拉流配置,与http下server同级
server{
listen 8080;
location / {
types{
application/vnd.apple.mpegurl m3u8;
video/mp2t ts;
}
root “推流目录”;
add_header Cache-Control no-cache;
}
}
6、html拉流关键代码
//HLS拉流
<video controls autoplay>
<source src="http://192.168.1.104:8080/qq.m3u8" type="application/vnd.apple.mpegurl" />
<p class="warning">Your browser does not support HTML5 video.</p>
</video>
//RTMP拉流和推流网址一致
rtmp://192.168.1.104:2017/app/qq
7、ffmpeg模拟推流工具的安装
到http://ffmpeg.org/ 官网下载压缩包并解压缩
tar -xjvf ffmpeg-3.3.1.tar.bz2
到http://yasm.tortall.net/Download.html下载yasm并解压缩
tar -xvzf yasm-1.3.0.tar.gz
cd yasm-1.3.0/
./configure
make
make install
进入解压缩后的ffmpeg
./configure --enable-shared --prefix=/monchickey/ffmpeg
make
make install
vim /etc/ld.so.conf.d/ffmpeg.conf
添加一行内容: /monchickey/ffmpeg/lib 之后保存并退出,然后执行 ldconfig 使配置生效
然后cd /monchickey/ffmpeg/查看版本./ffmpeg -version正常
为了方便可以在/etc/profile文件中将ffmpeg命令添加进PATH中
sudo vim /etc/profile
找到export行,在下面一行添加
export PATH=/usr/local/ffmpeg/bin/:$PATH
保存后执行
source /etc/profile
8、模拟推流
ffmpeg -re -i aaa.mp4 -c copy -f flv rtmp://192.168.1.104:2017/vod/qq
9、参考网址
https://www.cnblogs.com/qazwsxwtc/p/5384967.html
https://www.cnblogs.com/freeweb/p/6897907.html
http://blog.csdn.net/enweitech/article/details/52485535
https://github.com/arut/nginx-rtmp-module
http://blog.csdn.net/redstarofsleep/article/details/45092147
http://www.360doc.com/content/15/0618/10/597197_478933808.shtml
nginx搭建流媒体服务器的更多相关文章
- nginx搭建流媒体服务器的方法详解
一.FLV视频发布方式简介 FLV视频有两总发布方式 1. HTTP方式 这种方式要下载FLV视频文件到本地播放,一旦FLV视频文件下载完成,就不会消耗服务器的资源和带宽,但是拖动功能没有RTM ...
- 【Nginx】如何使用Nginx搭建流媒体服务器实现直播?看完这篇我会了!!
写在前面 最近几年,直播行业比较火,无论是传统行业的直播,还是购物.游戏.教育,都在涉及直播.作为在互联网行业奋斗了多年的小伙伴,你有没有想过如果使用Nginx搭建一套直播环境,那我们该如何搭建呢?别 ...
- ubuntu下使用nginx搭建流媒体服务器,实现视频点播
首先我们看如何实现视频点播,视频点播支持flv文件及H264编码视频,ACC编码音频的mp4文件: 第一步,创建单独的目录(因为软件较多,容易混乱),下载需要的软件: 我们需要下载nginx,pcre ...
- centos 7下nginx搭建流媒体服务器【动态添加模块】
1.安装nginx依赖包 yum install gcc gcc-c++ openssl-devel zlib-devel pcre pcre-devel yamdi 2.下载解压nginx_mod_ ...
- Ubuntu下使用nginx和nginx-rtmp-module搭建流媒体服务器的正确姿势
之前在使用nginx和nginx-rtmp-module搭建流媒体服务器的时候遇到一个很尴尬的问题,就是在把nginx-rtmp-module模块添加到nginx中去的时候,我最开始采取的做法是先卸载 ...
- nginx + rtmp 搭建流媒体服务器
一.安装nginx服务器 1.路径说明: 路径:/usr/local/src 2.下载nginx-rtmp-module (我这里的目录是在/usr/local/src/下面) cd /usr/loc ...
- centos7+nginx+rtmp+ffmpeg搭建流媒体服务器(保存流目录与http目录不要随意配置,否则有权限问题)
搭建nginx-http-flv-module升级代替rtmp模块,详情:https://github.com/winshining/nginx-http-flv-module/blob/master ...
- 使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器
参考: 1,使用nginx+nginx-rtmp-module+ffmpeg搭建流媒体服务器笔记(一)http://blog.csdn.net/xdwyyan/article/details/4319 ...
- nginx的rtmp搭建流媒体服务器实现直播流
最近自己搞了一个用nginx的rtmp来搭建流媒体服务器,从而实现直播的过程,参考了网上很多资料,有些资料对于初学者来说比较难以理解,在此将我搭建的过程记录下来,分享给大家. 1.下载nginx-rt ...
随机推荐
- SQL Server列属性修改
0.创建表 create table Users(Id int,Name nvarchar(32) not null,Phone nvarchar(16),Email nvarchar(128)) 1 ...
- superset 错误解决
访问superset localhost:8088 securety->list Role 报错 xxxxxxxxxxxxxxxxxxxxxxx xxxxxxxxxxxxxxxxxxxxxx ...
- Boost Python学习笔记(二)
你将学到什么 如何在Python中调用C++代码 如何在C++中调用Python代码 在Python中调用C++代码 首先定义一个动物类(include/animal.h) #pragma once ...
- 用python实现杨辉三角
def yanghui(lines): currentlst,lastlst,n=[],[],1 if lines<1: return while n<=lines: lastlst=cu ...
- boost asio one client one thread
总结了一个简单的boost asio的tcp服务器端与客户端通信流程.模型是一个client对应一个线程.先做一个记录,后续再对此进行优化. 环境:VS2017 + Boost 1.67 serve ...
- 点击对应的a标签返回相应的第几个
面试中遇到的问题,前两天一直没有解决,今天想想还是得要想办法才行,其实仔细想的话很简单,惭愧啊,面试的时候没有做出来! 题目是这样的,如果一个body中有5个a标签,当我们点击对应的a标签时,aler ...
- sublime text的一些插件
http://naotu.baidu.com/file/57a3154312a7c7a444353202a4e06cd2 Package Control 作为安装 Sublime Text 插件的必备 ...
- sortable结合angularjs实现拖动排序
记录拖动排序 <!DOCTYPE html> <html lang="en"> <head> <meta charset="UT ...
- vue实现复制功能(项目使用)
安装依赖 npm install --save vue-clipboard2 用法: import Vue import VueClipboard from 'vue-clipboard2' Vue. ...
- Python爬取天气预报
实现爬取一天的天气预报 非常简单的一个小爬虫,利用的也是基本的request.BeautifulSoup.re库,算是简单的上手一个小测试吧 from urllib.request import ur ...