使用Nginx+FFMPEG搭建HLS直播转码服务器

发布于:2013-3-26 20:14 作者:kevin.Zhu 浏览:39 分类:HLS

目的:使Nginx支持Rtmp协议推流,并支持hls分发功能及FFMPEG转码多码率功能。

一、准备工作
模块:nginx-rtmp-module-master(支持rtmp协议)
下载地址:
http://nginx.org
https://github.com/arut/nginx-rtmp-module

1、安装依赖包:
#yum -y install gcc glibc glibc-deve...

阅读全文>>

0

基于HTTP Live Streaming(HLS) 搭建在线点播系统

发布于:2013-3-26 19:41 作者:kevin.Zhu 浏览:28 分类:HLS

1、 为何要使用 HTTP Live Streaming

可以参考wikipedia

HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体 网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以...

阅读全文>>

0

使用Nginx-rtmp-module搭建hls直播

发布于:2013-3-26 16:07 作者:kevin.Zhu 浏览:30 分类:HLS
HTTP Live Streaming(缩写是 HLS)是一个由苹果公司提出的基于HTTP的流媒体网络传输协议。是苹果公司QuickTime X和iPhone软件系统的一部分。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U (m3u8) playlist文件,用于寻找可用的媒体流。 HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。 此协议详细内容请参考apple官方网站:https://developer.apple.com/resources/http-streaming/ hls的技术细节就不说了,这里搭建hls直播的目的就是想研究下Nginx-rtmp-module针对rtmp直播流实时转换为hls直播流的基本...

阅读全文>>

0

使用FFMPEG生成HLS

发布于:2013-3-26 13:07 作者:kevin.Zhu 浏览:24 分类:HLS

HLS也就是HTTP Live Streaming,是苹果出的一个基于HTTP的流媒体通信协议。字面意思有个live,也就是直播相关的。其实HLS可以分为点播以及直播两种。后面具体说两者在处理上有什么区别。目前HLS在RFC上还只是草案,并且一直不断更新,发现ffmpeg对于HLS的实现,不同版本的实现对应rfc版本也不一样,最新版本的,对应的HLS RFC草案规范也比较新(追新并不一定好,有些设...

阅读全文>>

0

HTML5 视频直播(三)

发布于:2013-3-26 12:51 作者:kevin.Zhu 浏览:20 分类:websocket

连续写了两篇有关视频直播的文章之后,有同学问我为什么没有 WebRTC 相关内容。实际上一开始我就说过,我的需求是在移动 WEB 端上直播视频,而移动端浏览器现阶段对「WebRTC 的支持度」非常不乐观,所以我就直接无视它了。但我一时为了标题美观,活生生地把「移动 WEB 端」写成了「HTML5」,所以为了严谨我还是补上这一篇吧。

WebRTC(Web Real-Time Commu...

阅读全文>>

0

HTML5 视频直播(二)

发布于:2013-3-26 12:50 作者:kevin.Zhu 浏览:20 分类:websocket

上篇博客中,我介绍了目前移动端唯一可行的 HTML5 直播方案:HLS。实际上,HLS 除了上回提到过的延迟很大这个缺点之外,在 iOS 的 Safari 浏览器中还只能全屏播放,也无法做到自动播放,这个是 iOS 系统对 Video 标签统一做的限制。有没有什么办法解决这些问题呢?

我们换个思路,既然原生 Video 有这样那样的问题,不如直接抛弃它。利用 Web Sockets 实现视...

阅读全文>>

0

HTML5 视频直播(一)

发布于:2013-3-26 12:48 作者:kevin.Zhu 浏览:25 分类:HLS

前不久工作中遇到了在移动 WEB 端直播视频的需求,研究了一下相关技术,记录一下。

目前 WEB 上主流的视频直播方案有 HLS 和 RTMP,移动 WEB 端目前就只有 HLS 能用,我们重点介绍它。

HTTP Live Streaming

HTTP Live Streaming(简称 HLS)是一个基于 HTTP 的视频流协议,由 Apple 公司实现,Mac OS 上...

阅读全文>>

0

使用 WebSockets 进行 HTML5 视频直播

发布于:2013-3-26 12:44 作者:kevin.Zhu 浏览:22 分类:websocket

最近在做的一个小项目需要用到相关技术,找到这篇文章貌似不错,于是就翻译转载上来了。
Recently I'm interesting in these technologies and I'm working on a project related to it. I've found this useful article so I translated and posted i...

阅读全文>>

0

使用HTML5技术控制电脑或手机上的摄像头

发布于:2013-3-26 10:44 作者:kevin.Zhu 浏览:19 分类:Html5

移动设备和桌面电脑上的客户端API起初并不是同步的。最初总是移动设备上先拥有某些功能和相应的API,但慢慢的,这些API会出现在桌面电脑上。其中一个应用接口技术就是getUserMedia API,它能让应用开发者访问用户的摄像头或内置相机。下面就让我展示一下如何通过浏览器来访问你的摄像头,并提取截屏图形。

HTML代码

下面的代码里我写了一部分注释,请阅读...

阅读全文>>

0

使用WebRTC搭建前端视频聊天室——入门篇

发布于:2013-3-26 10:43 作者:kevin.Zhu 浏览:26 分类:WebRTC

什么是WebRTC?

众所周知,浏览器本身不支持相互之间直接建立信道进行通信,都是通过服务器进行中转。比如现在有两个客户端,甲和乙,他们俩想要通信,首先需要甲和服务器、乙和服务器之间建立信道。甲给乙发送消息时,甲先将消息发送到服务器上,服务器对甲的消息进行中转,发送到乙处,反过来也是一样。这样甲与乙之间的一次消息要通过两段信道,通信的效率同时受制于这两段信道的带宽。同时这样的信道并不...

阅读全文>>

0

FastDFS的安装和配置过程

发布于:2013-3-24 17:59 作者:kevin.Zhu 浏览:27 分类:FastDfs

FastDFS是一个开源的分布式文件系统,对文件进行管理功能包括:文件存储、文件同步、文件访问(文件上传、文件下载)等,解决了大容量存储和负载均衡的问题。特别适合以文件为载体的在线服务,如相册网站、视频网站等等。

FastDFS服务端有两个角色:跟踪器(tracker)和存储节点(storage)。跟踪器主要做调度工作,在访问上起负载均衡的作用。

存储节点存储文件,完成文件管...

阅读全文>>

0

raid mdadm 参数

发布于:2013-3-21 19:46 作者:kevin.Zhu 浏览:17 分类:Linux
RAID --- 磁盘阵列,简言之,用来提高硬盘的利用率和速度
RAID种类(理论):
RAID 0 : 读写性能(最少两块硬盘)  --- 硬盘使用量是所有硬盘大小之和,性能是所有硬盘之和
RAID 1 : 读写性能,冗余性(最少两块硬盘) --- 空间利用率:所有磁盘中最小的那块(n/2); 读性能接近RAID0,写性能较raid 0 弱一些;有 冗余能力
RAID 5...

阅读全文>>

0

Linux下如何用mdadm实现软件RAID  

发布于:2013-3-21 18:56 作者:kevin.Zhu 浏览:19 分类:Linux

数据在现今企业中占有重要的地位,数据存储的安全性有而是人们使用计算机要注意的重要问题之一.通常情况下人们在服务器端采用各种冗余磁盘阵列RAID技术

来保护数据,中高档的服务器一般都提供了昂贵的硬件RAID控制器,但是很多中小企业没有足够的经费承受这笔开销.我们有没有方法可以通过软件来实现RAID呢?
实际上在Linux下可以通过软件来实现硬件的RAID功能,这样既节省了投资,又能达...

阅读全文>>

0

php实现TCP端口检测的方法

发布于:2013-3-20 10:54 作者:kevin.Zhu 浏览:22 分类:Php
<?php
classHealth {
  publicstatic$status;
  publicfunction__construct()
  {
  }
  publicfunctioncheck($ip, $port){
    $sock= socket_...

阅读全文>>

0

MySql增加字段、删除字段、修改字段名称、修改字段类型

发布于:2013-3-12 21:32 作者:kevin.Zhu 浏览:20 分类:Mysql
MySql增加字段、删除字段、修改字段名称、修改字段类型
 
MySql的简单语法,常用,却不容易记住。当然,这些Sql语法在各数据库中基本通用。
下面列出:
 
1.增加一个字段
alter table user add COLUMN new1 VARCHAR(20) D...

阅读全文>>

0

MySQL索引创建 删除 增加 修改命令

发布于:2013-3-12 21:23 作者:kevin.Zhu 浏览:21 分类:Mysql
在mysql中索引是我们对数据库进行优化的一个很好的功能,下面我来给大家介绍mysql 索引的创建 删除 增加 修改方法,希望些教程对各位朋友有所帮助。

简单的唯一索引:

可以创建一个唯一索引的表。唯一的索引意味着两个行不能拥有相同的索引值。这里是语法来创建索引的表

 代码如下 复制代码
CREATE UNIQUE IND...

阅读全文>>

0

Linux之ssh连接保持与重用

发布于:2013-3-12 14:34 作者:kevin.Zhu 浏览:19 分类:Linux

保持

用终端登录远程开发机coding,应该是大多数程序猿年复一年的工作,但悲剧的是终端会你跟美女测试聊天的一瞬间断开了,所幸的是ssh提供了连接保持 命令ServerAliveInterval,只需要新建文件~/.ssh/config并输入如下命令即可:

这样ssh会每60秒发送一个KeepA...

阅读全文>>

0

nginx_http_push_module模块使用详解

发布于:2013-3-12 14:20 作者:kevin.Zhu 浏览:19 分类:Nginx
http://www.tuicool.com/articles/BNjuuu

阅读全文>>

0

常见的nginx扩展模块安装

发布于:2013-3-12 14:14 作者:kevin.Zhu 浏览:20 分类:Nginx

http://blog.csdn.net/qinyushuang/article/details/43955249



1.安装drizzle1.0:

[html] view plain copy 在CODE上查看代码片派生到我的代码片
  1. wget http://agentzh.org/misc/nginx/drizzle7-2011.07.21.tar.gz  
  2. ...

阅读全文>>

0

nginx+set-misc-nginx-module模块说明 nginx 随机数

发布于:2013-3-12 14:11 作者:kevin.Zhu 浏览:18 分类:Nginx

set-misc-nginx-module模块是标准的HttpRewriteModule指令的扩展,提供更多的功能,如URI转义与非转义、JSON引述、Hexadecimal/MD5/SHA1/Base32/Base64编码与解码、随机数等等。在后面的应用中,都将会接触使用到这个模块的。该模块是由章亦春先生开发的,他开发的其他模块应用也会使用到这个模块的。充分使用nginx非阻塞模式,对性能...

阅读全文>>

0

1 2