引言
本文作为HLS综述的后续文章。 主要目的是使用ffmpeg搭建一个简单的HLS点播及直播系统。使用nginx作为HTTP服务器。
HLS不管点播还是直播,都是基于HTTP的文件分发系统,所以本文的基本思路是:
-
使用nginx搭建HTTP服务器
-
使用ffmpeg实现ts文件的分片,并生成m3u8
-
ffmpeg使用本地文件模拟HLS直播
-
支持多码率HLS生成
1、基于nginx的网络服务器搭建
伴随着大数据、云计算与云服务的兴起,nginx作为一款轻量级、高性能的web服务器,得到广泛的应用,其特点是占用内存小、并发能力强。目前国内的BAT基本上都在使用nginx。(如果你对nginx一无所知,不妨找找资料简单了解下) 言归正传,这里我们要是会用nginx搭建web服务器。先说明下我的系统环境:Ubuntu 15.04 (带有各种开发环境)
1.1 安装nginx
之前诸多网络资料中介绍的nginx安装都是从源码编译而来,但从目前的nginx开源环境来看,如果不修改相关代码,可以直接下载[nginx官网]((http://nginx.org)所提供的编译后的可执行文件。(如果你想从源码编译nginx,官网也有提供对应的文档) 我这里安装nginx比较简单,直接通过apt-get安装,命令如下:
sudo apt-get install nginx
就跟ubuntu上正常安装一个软件一样。
安装之后的nginx版本如下:
获取:2 http://mirrors.ustc.edu.cn/ubuntu/ precise-updates/universe nginx-common all 1.1.19-1ubuntu0.8 [17.1 kB] 获取:3 http://mirrors.ustc.edu.cn/ubuntu/ precise-updates/universe nginx-full amd64 1.1.19-1ubuntu0.8 [379 kB] 获取:4 http://mirrors.ustc.edu.cn/ubuntu/ precise-updates/universe nginx all 1.1.19-1ubuntu0.8 [5,812 B]