背景
nginx 在音视频服务也有比较强大的功能,下面给出配置步骤。
前提:根据 软件运行环境,确保搭建好了有关支持环境
参考:
步骤
1.下载第三方扩展模块nginx-rtmp-module
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip //下载模块
2.编译安装nginx
nginx 添加模块都是需要重新配置编译的编译
bash ./configure ... --add-module=/root/module/nginx-rtmp-module-master //编译安装nginx,并指定上面下载的模块路径 make make install
bash
3.修改nginx配置文件nginx.conf
,添加如下内容并重新运行nginx
rtmp {
server {
listen 1935; #监听的端口号
application myapp { #自定义的名字
live on;
}
application hls {
live on;
hls on;
hls_path /tmp/hls;
hls_fragment 1s;
hls_playlist_length 3s;
}
}
}
基于ffmpeg的测试
简单编译ffmpeg到host
git clone https://git.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
./configure
make && make install
更复杂编译ffmpeg的章节不在本文的范围内。请参考:《arm linux 移植 FFMPEG库 + x264》
测试
1.启用ffmpeg进行推流
ffmpeg -i rtsp://192.168.1.175:554/11 -acodec aac -strict experimental -ar 44100 -ac 2 -b:a 96k -r 25 -b:v 500k -s 640*480 -f flv rtmp://192.168.1.11:1935/myapp/23
-i 要处理视频文件的路径,此处地址是一个rtsp流地址(IP Cam)
-s 像素
rtmp://192.168.1.11:1935/myapp/23
# 说明:rtmp://IP:PORT/ myapp指nginx配置文件中自定义的,22指输出文件的名字
-f flv 强迫指定采用flv格式
有关:《ffmpeg命令参考》
2.打开VLC 媒体——>打开网络串流->填入 ffmpeg推出去的路径 rtmp://192.168.1.11:1935/myapp/23