在网上也有一些关于使用Nginx-rtmp来搭建直播系统的教程,可是都是使用rtmp协议,然而rtmp在网页端只能通过Flash player插件进行播放,因为现在的浏览器已经陆陆续续不支持Flash player插件,所以使用rtmp协议做直播是不支持网页端播放。
然而Nginx-rtmp不止支持rtmp协议,而且还支持hls协议,hls协议对网页播放非常友好,今天我就带大家学习一下使用Nginx-rtmp搭建简易的hls直播系统。
专业术语
rtmp协议:RTMP是Real Time Messaging Protocol(实时消息传输协议)的首字母缩写。该协议基于TCP,是一个协议族,包括RTMP基本协议及RTMPT/RTMPS/RTMPE等多种变种。RTMP是一种设计用来进行实时数据通信的网络协议,主要用来在Flash/AIR平台和支持RTMP协议的流媒体/交互服务器之间进行音视频和数据通信。
hlv协议:HLS (HTTP Live Streaming)是Apple的动态码率自适应技术。主要用于PC和Apple终端的音视频服务。包括一个m3u(8)的索引文件,TS媒体分片文件和key加密串文件。
一、 工具与环境
Ubuntu 18.04:Linux操作系统
Nginx 1.8.1:一个高性能的HTTP和反向代理web服务器
nginx-rtmp-module:Nginx的rtmp模块
FFmpeg:是一个多媒体框架,可以对视频进行编解码、推拉流等功能的强大工具
VLC media player:一款支持流媒体的视频播放器
二、 安装Nginx与nginx-rtmp_module
网上有很多基于源码的安装教程,步骤是有点繁琐,这里教大家用PPA源直接安装Nginx和nginx-rtmp-module模块,命令如下:
$ sudo add-apt-repository ppa:nginx/stable
$ sudo apt update
$ sudo apt install nginx
$ sudo apt-get install libnginx-mod