在自己的电脑下搭建nginx+rtmp的流媒体服务器及用java对推流权限验证
来源:互联网 发布:淘宝类目上限数量 编辑:程序博客网 时间:2024/06/11 15:28
因为公司任务需要让做一个直播的系统,经过一段时间的研究,和方便以后捡起来所以把这个写了下来
下载windows版本的nginx
http://nginx-win.ecsds.eu/download/nginx 1.7.11.3 Gryphon.zip
解压到c盘,最好把目录名改成nginx方便后面的cmd启动
下载nginx-rtmp-modle
https://github.com/arut/nginx-rtmp-module/
解压到nginx的目录下
在nignx的conf目录中修改nginx-win.conf文件
新增
rtmp {
server {
listen 1935;
chunk_size 4000;
application live {
live on;
on_publish http://localhost:8090/xxx/user/auth;
}
application hls {
live on;
hls on;
hls_path C:/nginx-1.7.11.3-Gryphon/html/hls;
hls_fragment 5s;
on_publish http://localhost:8090/fuliwd/user/auth;
}
}
}
监听的端口号为 1935
on_publish为权限验证的地址
hls_path这个路径用来存放m3u8文件的
live是rtmp推流延迟最小因为只需要完成一次握手,hls是hls推流主要hls是支持apple的方式,但是hls延迟太高20s左右
这个搭建完成之后在cmd中进入到你的nginx目录下
使用命令 start nignx.exe -c nginx-win.conf启动nginx
启动的时候回一闪而过,然后到任务管理器中查找是否打开,如果失败了就进入到nginx的logs目录下的error.log文件中查看错误信息
使用obs推流测试是否成功。
url填写你的推流地址rtmp://地址:端口号/live
串流地址就是可以支持多房间直播的不用再nginx中配置可以随便写如果为test那么地址就是
rtmp://地址:端口号/live/test
因为加了权限验证,所以推流的时候就需要验证了,我用的是java的方法进行验证的。
因为有验证所以地址要改成
rtmp://地址:端口号/live/test?passWord=123456(目前在网上没有找到java的验证方法,有也是别人自己封装的类copy来的代码没用,所以经过一系列的查找之后需要用到注解@ResponseBody,和返回json格式)
代码为:
@RequestMapping("/auth")
public @ResponseBody String auth(String passWord,HttpServletRequest request,HttpServletResponse response){
try {
if(passWord.equals("123456")){
return "{\"code\":\"200\",\"detail\":\"SUCCESS\"}";
}else{
response.setStatus(500);
return "{\"code\":\"500\",\"detail\":\"auth error\"}";
}
} catch (Exception e) {
response.setStatus(500);
return "{\"code\":\"500\",\"detail\":\"sys error\"}";
}
}
方便复制
这样你推流的时候就会先进入验证的方法如果不成功就回返回500断开连接,成功则返回200可以继续直播,如果不想验证的话就把on_publish去掉就可以了
- 在自己的电脑下搭建nginx+rtmp的流媒体服务器及用java对推流权限验证
- ffmpeg rtmp推流 nginx搭建的rtmp服务器
- nginx-rtmp 流媒体服务器的搭建
- rtmp与hls流媒体服务器搭建:ubuntu下Nginx搭建初探与rtmp-module的添加
- 利用nginx搭建http和rtmp协议的流媒体服务器
- 利用Nginx搭建http和rtmp协议的流媒体服务器
- 利用nginx搭建http和rtmp协议的流媒体服务器
- 利用nginx搭建http和rtmp协议的流媒体服务器
- 利用nginx搭建http和rtmp协议的流媒体服务器
- 利用nginx搭建http和rtmp协议的流媒体服务器
- 利用nginx搭建http和rtmp协议的流媒体服务器
- nginx搭建支持http和rtmp协议的流媒体服务器
- 利用nginx搭建http和rtmp协议的流媒体服务器
- 利用Nginx搭建http和rtmp协议的流媒体服务器
- nginx搭建rtmp协议流媒体服务器总结 遇到的问题
- 在Linux环境下搭建基于Nginx的rtmp服务器
- Nginx搭建rtmp流媒体服务器
- nginx + rtmp 搭建流媒体服务器
- web与ios在微信中调起APP
- Java web 加密之keytool生成自己的证书
- 如何使用WebSocket
- CONFIG_SERIAL_SAMSUNG_DEBUG 打开方法
- 使用DuckDuckGo在命令行中搜索
- 在自己的电脑下搭建nginx+rtmp的流媒体服务器及用java对推流权限验证
- 不可不知的IEEE 802.15.4和ZigBee基础
- EditText(持续加)
- 人脸识别
- EasyAR
- git 切换远程仓库地址
- 导入第三方Jar包到Nexus私服
- Yii2.0 model基本操作(连表操作)
- 【mysql 性能优化篇】性能配置