环境搭建

(一)下载源代码

nginx,地址:http://nginx.org/可以选择需要的版本下载

nginx_mod_h264_streaming-2.2.7.tar.gz ,支持MP4流,具体的说明在下面的这个网页

ffmpeg:媒体编解码工具,这里做为HLS 直播流的发布工具

(二)安装nginx

tar -zxvf nginx_mod_h264_streaming-2.2.7.tar.gz

tar -zxvf nginx-1.4.4.tar.gz

cd nginx-1.4.4

./configure  --prefix=/usr/local/nginx-stream --with-debug  --with-http_dav_module  --with-http_gzip_static_module  --with-http_ssl_module   --with-ipv6 --with-sha1=/usr/include/openssl  --with-md5=/usr/include/openssl  --add-module=../nginx_mod_h264_streaming-2.2.7  --with-http_flv_module  --with-http_mp4_module

如果没有出现错误

make

如果出现错误类似:‘ngx_http_request_t’ 没有名为 ‘zero_in_uri’ 的成员,则进入 nginx_mod_h264_streaming-2.2.7目录,进入src,修改 ngx_http_streaming_module.c,注释掉 TODO window32 模块下的:

if (r->zero_in_uri) {

return NGX_DECLINED;

}

然后make clean之后重新configure和make

如果出现错误类似:[objs/addon/src/mp4_reader.o]..进入nginx源码中的obis目录,修改Makefile,删除 --wrror

然后重新编译make

编译通过后

sudo make install

(三)安装 m3u8-segmenter,这个在下载地址中有安装步骤。

(四)安装ffmpeg,在本博客其它日志中有安装方式。

配置

在server模块下加入以下内容:

location /hls {

alias /usr/local/media/hls;

types {

application/vnd.apple.mpegurl m3u8;

video/mp2t ts;

}

add_header Cache-Control no-cache;

expires -1;

}

location ~* \.flv$ {

flv;

root /usr/local/media/flv;

}

location ~* \.mp4$ {

mp4;

root /usr/local/media/mp4;

}

然后保存退出,启动nginx服务器

点播flv,mp4视频

在FLV和MP4的根目录(usr/local/media/flv,/usr/local/media/mp4)分别放入测试视频test.flv和test.mp4

使用ffmpeg中的播放器ffplay测试,

ffplay http://ip:port/test.flv

ffplay http://ip:port/test.mp4

HLS 点播

使用m3u8-segmenter把视频切成一系列TS文件同时生成后缀为m3u8的播放列表,视频编码需为H264/AAC 或者H264/MP3。

进入  /usr/local/media/hls,放入测试文件test.ts,然后使用以下命令分割,

m3u8-segmenter -i testvod.ts -d 10 -p test -m testvod.m3u8 -u http://ip:port/hls/

-i ,输入文件

-d ,每个分片的时长

-p ,每个分片的名称的前缀

-m ,播放列表名称

-u ,播放列表中url前缀

使用ffplay测试:

ffplay http://ip:port/hls/test.m3u8

HLS直播

使用ffmpeg发布直播流,这里没有用设备抓取视频,使用ffmpe 的-re选项来模拟直播流,re表示依照输入视频的帧率

ffmpeg -re -i test.ts -codec copy -hls_time 10 testlive.m3u8

使用ffplay测试

ffplay http://ip:port/hls/testlive.m3u8

注:mp4转ts ,ffmpeg -i test.mp4 -codec copy -vbsf h264_mp4toannexb test.ts

hls协议支持自适应码率,可以使用播放列表的嵌套,nginx-rtmp-module对hls有类似的一些支持

使用Nginx搭建本地流媒体服务器

Mac搭建nginx+rtmp服务器 1.打开终端,查看是否已经安装Homebrew,直接输入命令 man brew 如果Mac已经安装了, 会显示一些命令的帮助信息. 此时输入Q退出即可, 直接进入 ...

HLS-搭建Nginx流媒体服务器

Nginx本身是一个非常出色的HTTP服务器,FFMPEG是非常好的音视频解决方案.这两个东西通过一个nginx的模块nginx-rtmp-module,组合在一起即可以搭建一个功能相对比较完善的流媒 ...

为SRS流媒体服务器添加HLS加密功能(附源码)

为SRS流媒体服务器添加HLS加密功能(附源码) 之前测试使用过nginx的HLS加密功能,会使用到一个叫做nginx-rtmp-module的插件,但此插件很久不更新了,网上搜索到一个中国制造的叫做 ...

Windows下搭建Nginx图片服务器

在项目最开始,上传图片的时候,服务器先保存原图再使用ImageMagick生成上传图片缩略图,这种方法有很多缺点,例如生成的缩略图的大小是固定的,不能动态请求指定大小的缩略图. 虽然有非常多的图片云存 ...

Windows环境搭建Red5流媒体服务器指南

Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一.   下载安装程序 red5-server 下载地址 https://github.com/Red5/red5-ser ...

搭建Nginx图片服务器

搭建Nginx图片服务器 Part-I 安装Nginx 安装PCRE 下载 ngx_cache_purge 并解压,用来清除缓存 下载Nginx并解压 cd nginx-1.7.7 编译,--pref ...

Windows环境搭建Red5流媒体服务器指南(转)

Windows环境搭建Red5流媒体服务器指南 Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一.   下载安装程序 red5-server 下载地址 https:// ...

第一次项目上Linux服务器(八:——搭建Nginx图片服务器)

一.准备工作 安装Nginx,参考历史博客 二.搭建Nginx图片服务器 1.效果 例如:图片通过xftp服务上传到/home/java/upload目录下,我想通过访问Nginx服务器来访问xftp ...

Windows环境搭建Red5流媒体服务器

Windows环境搭建Red5流媒体服务器指南 测试环境:Windows 7 一.   下载安装程序 red5-server 下载地址 https://github.com/Red5/red5-ser ...

随机推荐

玩转 H5 下拉上滑动效

按照上面的技术方案实施,具体过程为: 禁用页面顶部下拉事件  ------>  将页面的主体内容用一个DIV容器包含起来,同时复制需要放大处理的内容节点至主体内容之外  ------> 绑 ...

循序渐进之Spring AOP(6) - 使用@Aspect注解

前面几节的示例看起来让人沮丧,要记忆如此多的接口.类和继承关系,做各种复杂的配置.好在这些只是一种相对过时的实现方式,现在只需要使用@Aspect注解及表达式就可以轻松的使用POJO来定义切面,设计精 ...

通过HttpClient来调用Web Api接口

回到目录 HttpClient是一个被封装好的类,主要用于Http的通讯,它在.net,java,oc中都有被实现,当然,我只会.net,所以,只讲.net中的HttpClient去调用Web Api ...

从零开始学习jQuery (九) jQuery工具函数

一.摘要 本系列文章将带您进入jQuery的精彩世界, 其中有很多作者具体的使用经验和解决方案,  即使你会使用jQuery也能在阅读中发现些许秘籍. 我们经常要使用脚本处理各种业务逻辑, 最常见的就 ...

linux中C的静态库和动态库分析

从开始学C语言写第一个"hello world"历程到现在,我依然困惑于到底这个程序完整的执行流程是什么样的.不过,现在我正在尝试一点一点的揭开它的面纱.现在,我尝试分析linux ...

深入理解MFC子类化

子类化,通俗来讲就是用自己的窗口处理函数来处理特定消息,并将自己其他消息还给标准(默认)窗口处理函数.在SDK中,通过SetWindowLong来指定一个自定义窗口处理函数:SetWindowLong ...

Hibernate学习笔记①

---恢复内容开始--- 1.JavaEE的三层结构 WEB层--Service层--DAO层 2.Hibernate版本 Hibernate3.x  4.x  5.x 4版本是过渡版本 不使用  5 ...

条件式变分自编码机(Conditional Variational Autoencoders)

Conditional Variational Autoencoders 条件式变换自编码机 摘要: Conditional Variational Autoencoders --- 条件式变换自编码 ...

Codeforces Round #324 (Div. 2) E

这题贪心,考虑先放第一个,然后从第一个数在p中的位置, 不断的往前走,和在他后面的那些数组进行交换,因为这样交换可以提高最大的效率,就是说你花费了1但是使得两个点都朝他的木匾节点减少了1 #inclu ...

ELK之生产日志收集构架(filebeat-logstash-redis-logstash-elasticsearch-kibana)

本次构架图如下 说明: 1,前端服务器只启动轻量级日志收集工具filebeat(不需要JDK环境) 2,收集的日志不进过处理直接发送到redis消息队列 3,redis消息队列只是暂时存储日志数据,不 ...

nginx流媒体服务器性能,搭建nginx流媒体服务器(支持HLS)相关推荐

  1. nginx图片服务器性能,搭建nginx图片服务器

    背景 在做一个需求的时候,需要对外提供图片地址,通过图片链接直接在浏览器打开使用. 实现 先搭建一个可用的nginx的服务(注意:端口号要唯一.nginx.conf配置如下:) server { li ...

  2. 在Windows服务器上搭建Nuget私人服务器(超~详细)

    在Windows服务器上搭建Nuget私人服务器 一.使用VS2017/VS2019新建空白解决方案,操作如图: 步骤一:这里以VS2019为例,打开VS2019,选择[创建新项目]选项: 步骤二:选 ...

  3. 【图片服务器】搭建Nginx图片服务器

    一.安装Nginx 二.安装vsftpd 三.开始搭建Nginx图片服务器 1.效果 例如:图片通过ftp服务上传到/home/ftpuser/www/images目录下,我想通过访问Nginx服务器 ...

  4. 分发服务器性能,高性能P2P流媒体内容分发服务器的设计与实现

    摘要: 互联网技术的不断进步,各种新颖的互联网应用服务如雨后春笋般出现在人们面前.以网络视频.网络电视等为代表的流媒体技术的诞生和发展,为互联网注入了新的活力和发展契机.但是,传统的流媒体系统多采用C ...

  5. linux做m3u8推流服务器,linux搭建nginx流服务器,OBS推流,VCL拉流播放

    所需软件工具: 1.centos6.5 2.nginx1.16.0.tar.gz .nginx-rtmp-module-master.zip .nginx_mod_h264_streaming.tar ...

  6. 搭建远程linux,如何在远程Linux服务器上搭建Nginx?

    1.将nginx的压缩包nginx-1.8.0.tar.gz上传到Linux服务器 2.由于nginx是C语言开发的并且我们这里是通过编译nginx的源码来安装nginx,所以Linux上要安装C语言 ...

  7. 无盘工作站 服务器 性能,无盘工作站和云服务器

    无盘工作站和云服务器 内容精选 换一换 当集群状态为"可用",而集群中部分节点状态为"不可用"时,请参照如下方式来排查解决.以下排查思路根据原因的出现概率进行排 ...

  8. 单台web服务器性能,单台web服务器如何尽可能的提高网站性能

    我觉得首先要选择一个合适的环境,对于大多数php站点来说,运行在lnmp(linux+nginx+mysql+php)环境下是个理想的选择. 首先一点linux对比win的优势我就不说了. 其次ngi ...

  9. 如何测试web服务器性能,如何执行Web服务器性能基准测试?

    本文概述 你知道你网站的平均响应时间吗?你知道你的网站可以处理多少个并发用户吗? 负载测试对于Web应用程序了解网站容量至关重要.如果要选择Web服务器, 那么要做的第一件事就是执行负载测试, 然后看 ...

  10. windowslinux服务器性能对比,Windows/Linux服务器的选择与对比

    对于服务器是选择Windows系统好还是Linux系统好,这样一个话题实际上网上有很多文章在探讨.我们也都一致的认可Linux系统的性能要优于Windows系统,而Windows系统则相对更简单易于使 ...

最新文章

  1. 安装win下的Anaconda ----针对python3.6.4版本
  2. 在UE4中创建CG动画 How to create a movie in Unreal Engine 4 using Metahuman
  3. 模型的跨界:我拿Transformer去做目标检测,结果发现效果不错
  4. regexpal 正则表达式实时调试工具
  5. Uedit32和Ubuntu 选定跳转
  6. 面试系列三 如何保证消息不被重复消费
  7. android添加商品到购物车,Android使用动画动态添加商品进购物车
  8. 联想拯救者y7000加内存条_短测联想拯救者Y7000,到底值不值得买?
  9. 国家和货币(符号/图片)数组(countries and currency symbol array)
  10. vba put 语名 delphi 用什么语句_将VBA数组写入工作表时转置(Transpose)的利用
  11. 小白知识摘录__环境变量
  12. 关于linux目录~ / .
  13. Adobe Acrobat Reader离线安装包下载
  14. 计算机VB中清除按钮,计算机vb程序设计时计算器清除的代码怎么写
  15. 小米路由插件二维码2020_路由器如何禁止抖音、斗鱼、王者荣耀等app联网
  16. 【评测】阿法埃莎 (Alfa Aesar)化学品目录
  17. 世界三大顶级音响_世界十大顶级音响排行榜前十名
  18. SAP中销售订单流程及常用事务 Get the picture
  19. 【汇编语言实验一】用机器指令和汇编指令编程(1)
  20. 农历大小月的确定方法

热门文章

  1. 北京3月去哪玩 赏花踏青登山六大推荐
  2. linux电子相册设计,电子相册设计报告
  3. 树莓派4使用CSI摄像头
  4. 全球移动通信系统GSM
  5. Python_配置清华镜像源的方法
  6. Python中文数字对照表,学生成绩管理【笔记】
  7. 贝叶斯公式的理解【转】
  8. 水星路器服务器无响应,水星路由器无法上网怎么办?
  9. 【分享】写论文超好用的一些工具
  10. 小程序瀑布流-是真的流啊