您当前的位置:首页 > 电脑百科 > 站长技术 > 服务器

视频直播服务搭建好了?教你快速实现多频道输入输出与权限控制

时间:2020-06-17 16:57:47  来源:  作者:

前言

前面写了一篇文章,利用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这样的
视频直播服务搭建好了?教你快速实现多频道输入输出与权限控制

 

点击开始推流,控制台打印鉴权信息

点击停止推流,控制台打印信息,如下图

视频直播服务搭建好了?教你快速实现多频道输入输出与权限控制

 

推流和停止推流均正常进入相应方法,基于以上的知识点,后续可以开发直播房间列表,主播开播提醒等功能,感兴趣的小伙伴,赶紧自己动手实践吧



Tags:直播服务   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
腾讯投资布局的业务非常广,不仅有游戏。根据彭博社的报道,腾讯将在美国推出类似亚马逊Twitch的游戏直播服务,从而进军美国社交媒体市场。这项服务名为“Trovo Live”,外观和功能...【详细内容】
2020-06-28  Tags: 直播服务  点击:(90)  评论:(0)  加入收藏
前言前面写了一篇文章,利用nginx和nginx-rtmp-module 快速搭建视频直播服务的,并没有实现多人多频道输入输出和权限控制。本文是在之前文章的基础上继续的原文地址:不会搭建视...【详细内容】
2020-06-17  Tags: 直播服务  点击:(111)  评论:(0)  加入收藏
为什么直播在这么短的时间内发展如此迅速?我想这是很多人都会问的问题,除了电视直播之外,安防直播也越来越普遍,这个原因是多方面的,首先当然要得益于流媒体技术的飞速发展,流媒体...【详细内容】
2020-03-09  Tags: 直播服务  点击:(52)  评论:(0)  加入收藏
说明比较长,需要一定的操作动手能力才行。基础条件 第一个必须是linux服务器 第二个安装了宝塔面板 第三编译安装nginx1.7.6+php5.61第一步修改/www/server/panel/install/ng...【详细内容】
2020-02-06  Tags: 直播服务  点击:(859)  评论:(0)  加入收藏
▌简易百科推荐
阿里云镜像源地址及安装网站地址https://developer.aliyun.com/mirror/centos?spm=a2c6h.13651102.0.0.3e221b111kK44P更新源之前把之前的国外的镜像先备份一下 切换到yumcd...【详细内容】
2021-12-27  干程序那些事    Tags:CentOS7镜像   点击:(1)  评论:(0)  加入收藏
前言在实现TCP长连接功能中,客户端断线重连是一个很常见的问题,当我们使用netty实现断线重连时,是否考虑过如下几个问题: 如何监听到客户端和服务端连接断开 ? 如何实现断线后重...【详细内容】
2021-12-24  程序猿阿嘴  CSDN  Tags:Netty   点击:(12)  评论:(0)  加入收藏
一. 配置yum源在目录 /etc/yum.repos.d/ 下新建文件 google-chrome.repovim /etc/yum.repos.d/google-chrome.repo按i进入编辑模式写入如下内容:[google-chrome]name=googl...【详细内容】
2021-12-23  有云转晴    Tags:chrome   点击:(7)  评论:(0)  加入收藏
一. HTTP gzip压缩,概述 request header中声明Accept-Encoding : gzip,告知服务器客户端接受gzip的数据 response body,同时加入以下header:Content-Encoding: gzip:表明bo...【详细内容】
2021-12-22  java乐园    Tags:gzip压缩   点击:(9)  评论:(0)  加入收藏
yum -y install gcc automake autoconf libtool makeadduser testpasswd testmkdir /tmp/exploitln -s /usr/bin/ping /tmp/exploit/targetexec 3< /tmp/exploit/targetls -...【详细内容】
2021-12-22  SofM    Tags:Centos7   点击:(7)  评论:(0)  加入收藏
Windows操作系统和Linux操作系统有何区别?Windows操作系统:需支付版权费用,(华为云已购买正版版权,在华为云购买云服务器的用户安装系统时无需额外付费),界面化的操作系统对用户使...【详细内容】
2021-12-21  卷毛琴姨    Tags:云服务器   点击:(6)  评论:(0)  加入收藏
参考资料:Hive3.1.2安装指南_厦大数据库实验室博客Hive学习(一) 安装 环境:CentOS 7 + Hadoop3.2 + Hive3.1 - 一个人、一座城 - 博客园1.安装hive1.1下载地址hive镜像路径 ht...【详细内容】
2021-12-20  zebra-08    Tags:Hive   点击:(9)  评论:(0)  加入收藏
以下是服务器安全加固的步骤,本文以腾讯云的CentOS7.7版本为例来介绍,如果你使用的是秘钥登录服务器1-5步骤可以跳过。1、设置复杂密码服务器设置大写、小写、特殊字符、数字...【详细内容】
2021-12-20  网安人    Tags:服务器   点击:(7)  评论:(0)  加入收藏
项目中,遇到了一个问题,就是PDF等文档不能够在线预览,预览时会报错。错误描述浏览器的console中,显示如下错误:nginx代理服务报Mixed Content: The page at ******** was loaded...【详细内容】
2021-12-17  mdong    Tags:Nginx   点击:(7)  评论:(0)  加入收藏
转自: https://kermsite.com/p/wt-ssh/由于格式问题,部分链接、表格可能会失效,若失效请访问原文密码登录 以及 通过密钥实现免密码登录Dec 15, 2021阅读时长: 6 分钟简介Windo...【详细内容】
2021-12-17  LaLiLi    Tags:SSH连接   点击:(16)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条