美文网首页
nginx + php + mysql直播管理-房间管理

nginx + php + mysql直播管理-房间管理

作者: dispath_once | 来源:发表于2017-09-14 16:17 被阅读83次

背景

前一篇文章中已经完成了权限的鉴定,让没有权限的用户不能进行推流,这样达到了非法用户滥用推流资源的效果,也可以设置对应的黑名单,让黑名单的用户不能进行推流;现在需要对直播房间进行管理。

房间管理

  • 在数据库创建对应直播房间的表,roomcheckcode存放的是验证码,用于验证用户是否有权限进行推流;roomstatus表示房间是否开始直播;


    直播房间表
  • 当用户进行推流的时候会走Nginx推流的通知,在那个通知里面进行数据库的更新,让roomstatus更新为1;当用户推流结束的时候走推流结束通知,更新数据库把roomstatus更新为0,这样就能够很准确的了解到当前直播房间的状态。
  • 当用户使用VLC进行rtmp播放地址播放的时候,就会走Nginx的播放通知,这样数据的roomCount就会+1,当用户完成播放的时候,就会走播放完成通知,数据库roomCount就会-1,这样就能比较准确的统计到当前房间的人数。
  • 根据updatetime和roomstatus进行定时清理空闲房间。
    <?php
    define('CLEARTIME',(60 * 10));//十分钟清理一次

    require_once ('../common/DBConnection.php');

    $sql = 'select * from live_room_t order by updatetime asc';

    $con = DBConnection::getConnect();

    $result = $con -> query($sql);

    while($row = mysqli_fetch_array($result)) {
        $updatetime = strtotime($row['updatetime']);
        $status = (int)$row['roomstatus'];
        $timeout = time() - $updatetime > CLEARTIME ? true : false;
        if ($timeout && $status == 0){
            deleteroom($row['roomid'],$con);
        }
    }
    //删除房间
    function deleteroom(string $roomId,$con){
        $sql = "delete from live_room_t where roomid = '%s'";
        $sql = sprintf($sql,$roomId);
        $con -> query($sql);
    }

    $con->close();

    echo "清理完成...";

相关文章

  • nginx + php + mysql直播管理-房间管理

    背景 在前一篇文章中已经完成了权限的鉴定,让没有权限的用户不能进行推流,这样达到了非法用户滥用推流资源的效果,也可...

  • LA(N)MP 编译安装

    注意:使用 su 或者 sudo 超级管理员权限 PHP MySQL Apache Nginx 配置PHP 安装S...

  • ThinkPHP5 在宝塔下Lnmp部署

    1.在软件管理安装Nginx 1.14,MySQL 5.7,phpMyAdmin 4.4,PHP 7.2,Pure...

  • nginx + php + mysql直播管理-环境配置

    背景 随着直播技术越来越火,自己作为前端开发者也想学习学习关于直播后台的搭建,以及整个直播流程是怎样管理的。自己在...

  • nginx + php + mysql直播管理-权限鉴定

    背景 在前一篇文章中已经完成了基本环境的搭建,以及实现了简单的推流和播放功能,但是这里我们需要的是有权限的用户才能...

  • 宝塔命令行操作

    管理宝塔 Nginx服务管理 启动 停止 重启 启载 nginx配置文件 MySQL服务管理 mysql安装目录/...

  • 搭建服务器

    服务器搭建手册 Nginx 安装 php 安装 MySQL安装 安装composer管理工具 composer 切...

  • centos7 部署zabbix

    安装 mysql,php,nginx yum 安装mysql,php,nginx.配置php时我的php总是会出现...

  • MySQL教程

    MySQL 入门教程 MySQL 安装 MySQL 管理 MySQL PHP 语法 MySQL 连接 MySQL ...

  • LNMP环境搭建

    nginx php 修改nginx的配置文件,让nginx支持php Mysql

网友评论

      本文标题:nginx + php + mysql直播管理-房间管理

      本文链接:https://www.haomeiwen.com/subject/jrpdsxtx.html