一、背景
1、项目背景
在某项目中,客户要求能够在web应用中实时监听树莓派的声音,这个跟音视频直播类似,需要搭建流媒体服务来实现。
2、流媒体
流媒体指在Internet/Intranet中使用流式传输技术的连续时基媒体,如:音频、视频或多媒体文件。流式媒体在播放前并不下载整个文件,只将开始部分内容存入内存,流式媒体的数据流随时传送随时播放,只是在开始时有一些延迟。
3、推流
推流,指的是主播端把本地采集的音视频流推送到媒体服务器。在这个项目中,主播端就是树莓派,树莓派录音并推流到nginx服务器。
4、拉流
拉流,指的是用户端从服务器拉去音视频流到客户端播放。在这个项目中,客户端就是web前端,web前端从nginx服务器拉流,播放音频。
二、给nginx服务器添加rtmp模块
1、备份当前nginx
2、停止nginx服务
3、下载rtmp-module:
wget https://github.com/arut/nginx-rtmp-module/archive/v1.1.10.tar.gz
4、解压:tar -zxvf v1.1.10.tar.gz (解压后的文件nginx-rtmp-module-1.1.10)
5、下载当前跟当前服务器相同的nginx源码包并解压
6、nginx -V 查看所有的配置参数:
configure arguments: --prefix=/opt/nginx-1.13.7 --with-stream ....(太长,省略)
7、进入nginx源码包目录执行命令(第6步nginx -V查看到的所有配置参数,后面加上添加的模块配置):