转: 基于nginx的hls直播系统】的更多相关文章

转自:http://blog.csdn.net/cjsafty/article/details/9108587 看点: 1. 详细解解答了 nginx rtmp配置过程. 前写了一篇基于nginx的hls点播系统,本质上是把一个媒体文件做成m3u8索引,对应的文件都是提前做好放在服务器上的. nginx充当的是个Http 服务器的角色,之所以说是基于nginx的,是因为它可以设置限速. 本文主要是描述一个直播系统,核心在于m3u8和里面对于的ts链接都是实时的,可以刷新.类似于cntv里面的直播…
http://my.oschina.net/gaga/blog/478480 一.软件准备 由于nginx原生是为linux服务的,因此官方并没有编译好的windows版本可以下载,要在windows上使用nginx,要么下载源码进行编译,要么使用其他人已经编译好的文件. 而要让nginx支持视频直播和点播,还需要第三方的nginx模块:nginx-rtmp-module 所幸,已经有大神做好了nginx的编译,而且集成了很多nginx模块,其中就已经包括了nginx-rtmp-module.…
[时间:2018-04] [状态:Open] [关键词:流媒体,stream,HLS, ffmpeg,live,直播,点播, nginx, ssegment] 0 引言 本文作为HLS综述的后续文章. 主要目的是使用ffmpeg搭建一个简单的HLS点播及直播系统.使用nginx作为HTTP服务器. HLS不管点播还是直播,都是基于HTTP的文件分发系统,所以本文的基本思路是: 使用nginx搭建HTTP服务器 使用ffmpeg实现ts文件的分片,并生成m3u8 ffmpeg使用本地文件模拟HLS…
1 准备工具 使用yum安装git [root~]# yum -y install git 下载nginx-rtmp-module,官方github地址 // 通过git clone 的方式下载到服务器上 [root~]# git clone https://github.com/arut/nginx-rtmp-module.git yum 安装 openssl [root~]# yum -y install openssl openssl-devel 2 安装Nginx服务器,官方网址 下载N…
首先,在搭建服务之前先了解下目前主流的几个直播协议: 1.RTMP: 实时消息传输协议,Real Time Messaging Protocol,是 Adobe Systems 公司为 Flash 播放器和服务器之间音频.视频和数据传输开发的开放协议.协议基于 TCP,是一个协议族,包括 RTMP 基本协议及 RTMPT/RTMPS/RTMPE 等多种变种.RTMP 是一种设计用来进行实时数据通信的网络协议,主要用来在 Flash/AIR 平台和支持RTMP协议的流媒体/交互服务器之间进行音视频…
这段时间与视频,直播相关的技术不可谓不热,今天我们就近距离接触下,尽早搭上这班车! 我们先看一张效果图 左边是OBS 推流端,右边是VLC播放器,稍微有延迟! 本文是基于VMware(12.5.7)+Ubuntu(16.04)搭建 一:准备: 1.VMware(12.5.7) 2.Ubuntu(16.0.4) 3.Git 4.RTMP媒体服务器(SRS) 5.推流端(OBS) 6.拉流端(VLC) 二:安装 2.1:安装VMware 2.1.1:下载VWware VWware官网:https:/…
一,首先搭建nginx服务器: 1.1,选定源码目录 选定目录 /usr/local/HLS cd /usr/local/HLS 1.2,安装PCRE库 cd /usr/local/HLS 到www.pcre.org 下载pcre-8.37.tar.gz , 然后拷贝到/usr/local/HLS tar -zxvf pcre-8.37.tar.gz cd pcre-8.37 ./configure make make install 1.3,安装zlib库 cd /usr/local/HLS…
需三台服务器nginx 192.168.200.111tomcat 192.168.200.112tomcat 192.168.200.113 192.168.200.111[root@localhost ~]# systemctl stop firewalld[root@localhost ~]# setenforce 0[root@localhost ~]# iptables -F[root@localhost ~]# vim /usr/local/nginx/conf/nginx.conf…
注意:这里不会讲到nginx流媒体模块如何安装的问题,只研究rtmp,hls直播和录制相关的nginx服务器配置文件的详细用法和说明.可以对照这些命令详解配置nginx -rtmp服务 一.nginx的hls配置实例 注:nginx采用nginx1.9.x版本 实例配置如下(下面会讲解每个指令的含义和用法): rtmp { server { listen 1935; chunk_size 8192; #vod config application vod { play /var/vod/flv;…
Ubuntu 14.10下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 最近因为项目关系,收朋友之托,想制作秀场网站,但是因为之前一直没有涉及到这方面的东西,没有什么感觉可言:搜索了一些资料以后,虽然有开业的实现方式,但是大家都没有完成的说明的,或者说我还没有更深入的研究到.不过让我找到了关于假设流媒体播放器的资料,不过是基于centos的操作,那我就试做成ubuntu的step by step吧. ###步骤如下: step1准备ubunt…
上篇文章是基于Red5与ffmpeg实现rtmp处理NVR或摄像头的监控视频处理方案,有兴趣的朋友可以查看. Nginx及nginx-rtmp-module安装 新建目录 mkdir /usr/local/mginx 下载 cd /usr/local/nginx wget http://nginx.org/download/nginx-1.12.2.tar.gz wget https://codeload.github.com/arut/nginx-rtmp-module/zip/master…
技术.原理讲解: <分布式任务调度平台XXL-JOB--源码解析一:项目介绍> <分布式任务调度平台XXL-JOB--源码解析二:基于docker搭建admin调度中心和executor执行器运行部署环境> <分布式任务调度平台XXL-JOB--源码解析三:xxl-job-admin调度中心源码解析之初始化两个Thread工作线程> <分布式任务调度平台XXL-JOB--源码解析四:xxl-job-admin调度中心源码解析之job调度过程,调度策略以及rpc通信…
前言 Nginx-rtmp-module插件针对RTMP协议中一些命令,实现了事件通知和exec外部脚本处理.这里我通过一个简单的SpringBoot项目和Python代码,快速搭建一个HTTP服务来接收RTMP的回调和FFmpeg的动态推流 配置Nginx.conf nginx.conf #user nobody; worker_processes 1; #error_log logs/error.log; #error_log logs/error.log notice; #error_lo…
http协议下的flv/mp4流式播放支持的三个要点: 1 服务器端要支持flv/mp4流式播放,现在nginx或者lighttpd都是支持这样的应用的,还支持mp4的流式播放(默认编译版本一般都是打开了flv流式播放,而mp4要自己编译,若需要,也可以自己编译),但要专门配置. 参考文章<使用Nginx搭建flv流媒体服务器> http://www.yanghengfei.com/archives/475/ 2 播放的flv/mp4有完整的mete信息,其中包括视频分辨率.帧率等信息.有相应…
最近,需要将苹果的HTTP Live Streaming系统搭建起来.完全没有头绪,故第一步就是学习. 一.学习资料 官网资料 1. http://developer.apple.com/resources/http-streaming/ 具体的搭建方案 使用segmenter将现成的视频文件分割,并生成列表文件. 1. http://blog.csdn.net/zhoujunming/article/details/6694730 2. http://blog.sina.com.cn/s/bl…
前言 再小的技术点也会有他的市场! 一直以来,都有一些不被看好,认为是成本太高,无法大规模展开的软件和产品形态,就好比每一座城市都会有他的著名小吃一样,即使是慕名而来的人源源不断,受众群体也总是有限,但这并不妨碍这些小而美的美食服务于一方用户: 在萤石/乐橙/微吼/趣看类型直播应用大规模开展的今天,高大上的直播形态视乎占据了主流,然而这些对于普通型的公司似乎成本有点高,而且不能够长线.无忧地进行,我所谓的无忧地进行,指的不是直播系统的稳定性,而是成本的稳定性,试着对比一种一直在被流量消耗扣钱的心…
2017年很长很长一段时间没有更新EasyDarwin开源项目了,虽然心里有很多EasyDarwin功能扩展的计划:比如同步录像.同步RTMP/HLS直播输出.拉模式转发优化.Onvif接入.GB28181特性.等等,但实乃有心无力,每天都疲于应付开源社区中的各种技术咨询,另一方面是需要给开源开发团队造血,需要商业项目支撑开源团队的运转,所以,2017上半年沉寂了半年,计划开发出几款小而美的产品来帮助团队通过商业项目的方式输血,走商业+开源的可持续发展路子: 在2017年的上半年,我们在商业项目…
CentOS6下基于Nginx搭建mp4/flv流媒体服务器(可随意拖动)并支持RTMP/HLS协议(含转码工具) 1.先添加几个RPM下载源 1.1)安装RPMforge的CentOS6源 [root@linuxidc ~]# wget -c http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm [root@linuxidc ~]# rpm –import http://apt…
直播配置 1. 安装 Nginx 依赖软件 yum -y install gcc gcc-c++ autoconf automake make yum -y install zlib zlib-devel openssl openssl-devel pcre pcre-devel 2. 安装nginx与rtmp模块 l 首先进入local目录 cd /usr/local l 下载nginx(没有安装wget的请安装,安装命令:yum -y install wget) wget http://ng…
目录 1.docker安装OSSRS流媒体直播服务器 2.基于APICloud的acLive直播推流模块实现RTMP直播推流 3.直播流管理 1.docker安装OSSRS流媒体直播服务器 1.OSSRS简介 在外界开发中, 如果要实现直播功能.常用的方式有: 1. 通过第三方接口来实现. 可以申请阿里云,腾讯云,网易云,七牛云的直播接口,根据文档,下载集成SDK到项目中,在第三方用户平台上, 创建直播流[就是一个管道].有了直播流以后, 在客户端中集成一个推流[就是基于rtmp协议把视频摄像头…
简介 今天主要讨论一下,对于分布式服务,站点如何平滑的上下线问题. 分布式服务 在分布式服务下,我们会用nginx做负载均衡, 业务站点访问某服务站点的时候, 统一走nginx, 然后nginx根据一定的轮询策略,将请求路由到后端一台指定的服务器上.    这样的架构是没有问题的, 但是我们这里考虑几个问题,  1. 网站上下线问题:我们网站平时更新站点的时候是直接覆盖文件,然后重启, 那这样会造成一些请求中断,如果是非核心逻辑那还好, 如果是核心逻辑,那请求中断,会影响一些数据一致性,比如资金…
一个采用MIT协议授权的国产的简单的RTMP/HLS 直播服务器,其核心的价值理念在于简单高效. 使用方法: tep 1: build srs tar xf simple-rtmp-server-*.*.tar.gzcd simple-rtmp-server-*.*/trunk./configure --with-ssl --with-hlsmake step 2: start srs ./objs/simple_rtmp_server -c conf/srs.conf step 3(optio…
基于nginx+lua+redis高性能api应用实践 前言 比较传统的服务端程序(PHP.FAST CGI等),大多都是通过每产生一个请求,都会有一个进程与之相对应,请求处理完毕后相关进程自动释放.由于进程创建.销毁对资源占用比较高,所以很多语言都通过常驻进程.线程等方式降低资源开销.即使是资源占用最小的线程,当并发数量超过1k的时候,操作系统的处理能力就开始出现明显下降,因为有太多的CPU时间都消耗在系统上下文切换. lua-nginx-module模块将lua嵌入到nginx,让nginx…
前言 分享一个卓见云的较多客户遇到HTTPS优化案例. 随着相关浏览器对HTTP协议的“不安全”.红色页面警告等严格措施的出台,以及向 iOS 应用的 ATS 要求和微信.支付宝小程序强制 HTTPS 需求,以及在合规方面如等级保护对传输安全性的要求都在推动 HTTPS 的发展. 虽然 HTTPS 优化了网站访问体验(防劫持)以及让传输更加安全,但是很多网站主赶鸭子上架式的使用了 HTTPS 后往往都会遇到诸如:页面加载速度变慢.服务器负载过高以及证书过期不及时更新等问题. 所以本文就来探讨一下…
前言 分享一个卓见云的较多客户遇到HTTPS优化案例. 随着相关浏览器对HTTP协议的“不安全”.红色页面警告等严格措施的出台,以及向 iOS 应用的 ATS 要求和微信.支付宝小程序强制 HTTPS 需求,以及在合规方面如等级保护对传输安全性的要求都在推动 HTTPS 的发展. 虽然 HTTPS 优化了网站访问体验(防劫持)以及让传输更加安全,但是很多网站主赶鸭子上架式的使用了 HTTPS 后往往都会遇到诸如:页面加载速度变慢.服务器负载过高以及证书过期不及时更新等问题. 所以本文就来探讨一下…
基于Nginx及FastDFS,完成商品图片的上传及展示 一.传统图片存储及展示方式 存在问题: 1)大并发量上传访问图片时,需要对web应用做负载均衡,但是会存在图片共享问题 2)web应用服务器的存储空间有限,它是web应用服务器,而不是存储服务器. 3)web应用服务器的本身的io读写性能不高,图片上传下载时,速度偏慢 4)web应用服务器访问图片时,由于图片内容较大,并发量大的时候,会占用web应用服务器的带宽,这样该web应用服务器的其他功能就会受到较大的影响. 解决方案: 1)将图片…
了解过ffmpeg的人都知道,利用ffmpeg命令即可实现将电脑中摄像头的画面发布出去,例如发布为UDP,RTP,RTMP等,甚至可以发布为HLS,将m3u8文件和视频ts片段保存至Web服务器,普通的播放器就可以直接播放他们. 的确,但是,但是作为一个技术爱好者,相信大家都是对里面的机制与原理是感兴趣的,我们希望通过我们写代码来实现它.另外,ffmpeg命令发布出来的摄像头画面我们似乎要加一些水印.显示一些自定义的文字,可能就不是那么灵活了.举个例子来说,我们想画面中主要画面是电脑桌面,左上角…
最近做直播系统的朋友很多,正好前端时间也在做这一块,写片文章分享下开发心得,以为后用. 直播系统我将它分为前堆推流,后台服务,客户端播放三大部分.前端推流基于ffmpeg,后台服务 使用crtmp服务,播放端可以使用JWPlayer(网页端播放),也可以是CGplayer. 一.前端推流 推流可以采用命令: ffmpeg -i input  -vcodec copy -acodec copy -f flv rtmp://127.0.0.1/live/cgstream0 input 可以是实时流,…
最近在开发EasyDarwin开源流媒体服务器HLS直播的时候发现一个现象:在PC上用flash player播放HLS和在ios上面播放HLS时,效果明显不同,在ios上播放非常稳定,而在flash player上播放会经常性卡住,需要重新刷新网页才能够正常播放.经过不断跟踪调试,发现问题主要出在浏览器上,浏览器在请求.更新m3u8文件的过程中,有缓存,导致请求到的m3u8列表是过期的,里面的ts列表有文件已经被删除了,导致m3u8播放器请求已经不存在的ts文件,就卡住了,所以我们测试过,比较…
转自:http://denger.iteye.com/blog/1014066 基于 Nginx XSendfile + SpringMVC 进行文件下载 PS:经过实际测试,通过 nginx 提供文件下载功能的时候,在 Application Server(Java/RoR/Go...) 端不设置 Content-Length 也是可以的 在平常我们实现文件下载通常是通过普通 read-write方式,如下代码所示. @RequestMapping("/courseware/{id}"…