需求
本文介绍的是利用nginx和ffmpeg搭建流媒体服务器的过程。例如这种场景:公司内部需要同时观看在线直播时,如果每个人直接观看必然给出口带宽带来压力,影响正常访问外网的同事。所以可以在内网通过nginx+ffmpeg拉一路直播流,然后内网的用户访问内网的这台流媒体服务器即可。通过nginx+ffmpeg还可以实现推流、拉流、转推甚至利用FFmpeg实时切片、视频处理等,实现一套直播服务模型。
环境
系统环境:CentOS release 6.7 (Final)
步骤
安装ffmpeg
安装过程参考官方文档:https://trac.ffmpeg.org/wiki/CompilationGuide
安装Nginx
这里采用了编译安装的方式,需要注意的是:一定要添加nginx-rtmp-module模块
我的nginx编译参数
修改nginx配置文件nginx.conf
这是一个较简单的配置, rtmp监听1935端口,如果是hls的话用hls on开启hls,并且为hls设置一个临时文件目录hls_path /tmp/hls; 其它更高级的配置可以参看nginx-rtmp-module的readme,里面有比较详细的介绍其它的配置。
重启Nginx
查看Nginx已监听1935端口。
使用ffmpeg推流到nginx
推一个本地的mp4到上面配置的myapp上:
流播放地址为(10.0.0.6是我本地的IP):rtmp://10.0.0.6:1935/myapp/test1
推一个本地的mp4到hls上:
流播放地址为: http://10.0.0.6/hls/test2.m3u8
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。谢谢大家对服务器之家的支持。