网站首页 > 技术教程 正文
前言
前面写了一篇文章,利用nginx和nginx-rtmp-module 快速搭建视频直播服务的,并没有实现多人多频道输入输出和权限控制。
本文是在之前文章的基础上继续的
原文地址:不会搭建视频直播服务?教你十分钟实现视频推流拉流服务
开发环境
intellij idea JDK1.8 spring boot 2.1.5.RELEASE nginx 视频推流拉流服务 (ps接上篇文章)
配置nginx-rtmp-module 模块
1、参数publish_notify
涉及publish_notify默认是off的,主要涉及推送的过程中一些事件。
开启publish_notify即可进行Notify的配置操作。
publish_notify on;
2、Notify的配置
Notify的配置相关是涉及直播的事件并执行回调代码。
比如:推流链接、直播开启、直播结束状态,然后异步调用http的链接,进行一些逻辑的处理。
主要的配置参数有下面这些:
on_connect on_play on_publish on_done on_play_done on_publish_done on_record_done on_update ......
从上面的参数可以看出,能够触发连接、直播、输出、结束等等
比如,当触发推流的时候,通过配置
on_publish http://www.example.com/uri
进行权限控制,接收相关参数并进行控制,如果用户不存在,则不允许推流。
3、多频道输入输出
多个人有不同的推流和直播地址,就涉及了直播参数,而实际上,各大平台直播的时候,除了地址,都有一个直播密钥或者是直播码。
以OBS举例,串流类型选择自定义流媒体服务器,然后会出现一个URL和流密钥。
而流密钥就是实现多频道输入输出的重点。
4、配置rtmp Publish
在 rtmp -server -live 下添加如下配置
publish_notify on; on_publish http://127.0.0.1:8080/video/auth; #授权验证地址 on_publish_done http://127.0.0.1:8080/video/done;
在之前文章的配置基础上,添加上述配置,如下图
现在nginx 的相关配置已经完成了,输入如下命令启动nginx服务
nginx.exe -c conf/nginx-win-rtmp.conf
接下来配置鉴权服务
鉴权服务
基于spring boot 简单实现了鉴权功能,核心代码如下,
上述代码只是做了简单的密码校验和主播下线功能,并未从数据库查询相关用户信息,只要大家弄懂原理,基于此还可以实现很多有趣的功能,项目已上传至git,有兴趣的小伙伴,可以关注后私信关键字“视频鉴权服务”获取
git获取代码后启动Spring boot项目
打开obs推流软件,设置服务器地址和串流密钥,如下图
流密钥的格式是:8888?passWord=123456,可以看出这个非常像url的get参数配置,8888就是房间的名称,而passWord就是密码。
为什么没有name=8888
- 因为name是rtmp on_publish的默认参数,name是不能更改的。
自定义参数
- 除了name不能更改之外,其他的都是可以自定义参数的
- 比如passWord=123456&check=123456&userId=1001这样的
点击开始推流,控制台打印鉴权信息
点击停止推流,控制台打印信息,如下图
推流和停止推流均正常进入相应方法,基于以上的知识点,后续可以开发直播房间列表,主播开播提醒等功能,感兴趣的小伙伴,赶紧自己动手实践吧
猜你喜欢
- 2024-10-17 总结:从一个直播APP看流媒体系统的应用
- 2024-10-17 揭秘百万人围观的Facebook视频直播
- 2024-10-17 Android音视频(三)FFmpeg Camera2推流直播
- 2024-10-17 三大策略,解决一对一直播平台源码高并发问题
- 2024-10-17 OBS直播多平台同时推流解决方法,简单粗暴
- 2024-10-17 「干货」在线直播技术8分钟入门(在线直播是什么)
- 2024-10-17 全民直播牵手阿里云,技术升级触发直播新体验
- 2024-10-17 5G时代即将到来,站在视频流量的风口,十分钟学会搭建直播服务
- 2024-10-17 直播APP平台搭建的环境部署与礼物实现
- 2024-10-17 一对一直播平台搭建部署方式简述(一对一直播平台如何推广)
你 发表评论:
欢迎- 最近发表
-
- linux CentOS检查见后门程序的shell
- 网络安全工程师演示:黑客是如何使用Nmap网络扫描工具的?
- Linux中ftp服务修改默认21端口等(linux修改ftp配置文件)
- Linux系统下使用Iptables配置端口转发,运维实战收藏!
- 谈谈TCP和UDP源端口的确定(tcp和udp的端口号相同吗)
- Linux 系统 通过端口号找到对应的服务及相应安装位置
- 快速查找NAS未占用端口!Docker端口秒级排查+可视化占坑双杀技
- 【知识杂谈#2】如何查看Linux的(本地与公网)IP地址与SSH端口号
- 如何在Linux中查询 DNS 记录,这三个命令可谓是最常用、最经典的
- 【Linux系统编程】特殊进程之守护进程
- 标签列表
-
- 下划线是什么 (87)
- 精美网站 (58)
- qq登录界面 (90)
- nginx 命令 (82)
- nginx .http (73)
- nginx lua (70)
- nginx 重定向 (68)
- Nginx超时 (65)
- nginx 监控 (57)
- odbc (59)
- rar密码破解工具 (62)
- annotation (71)
- 红黑树 (57)
- 智力题 (62)
- php空间申请 (61)
- 按键精灵 注册码 (69)
- 软件测试报告 (59)
- ntcreatefile (64)
- 闪动文字 (56)
- guid (66)
- abap (63)
- mpeg 2 (65)
- column (63)
- dreamweaver教程 (57)
- excel行列转换 (56)
本文暂时没有评论,来添加一个吧(●'◡'●)