🔴 v1.3.4 现已全面升级为 MySQL 数据库存储在线用户数据,更稳定、更高效,应对高并发能力更强,适合嵌入网站、博客与各类 Web 应用中。
🔴 v2.0.0 版本已完成开发 使用ThinkPHp框架+SQL 如果你还想使用纯XML 请使用v1.3.4以前的版本
🔴 已更新到v2.0.0 请在分支branch中查看(2025年4月26日)
- 🛢️ 全面使用 MySQL 数据库:高效存储在线用户数据,解决 XML 文件并发损坏问题。
- 🐞 修复在线人数心跳失败问题,提升稳定性。
- ⚙️ 优化 PHP 后端脚本,提升响应速度。
- 📺 弹幕全面支持:自定义颜色、位置(滚动 / 顶部 / 底部),实时弹幕显示。
- 🔄 响应式弹幕字号:自动根据屏幕尺寸调整字体大小,优化不同设备体验。
- 📋 弹幕列表面板:一键查看所有弹幕,含发送时间、内容、视频位置。
- 📡 在线人数统计:基于 MySQL 数据库高效记录在线用户,通过定时心跳实时统计。
- 🎨 高颜值通知系统:美观清晰展示加载中、发送成功或失败提示。
- ⚙️ 动态弹幕加载:通过 URL 参数灵活加载视频与弹幕资源。
- 🚨 安全警告提示:防止控制台粘贴恶意代码。
- 📱 移动端自适应:全面兼容桌面与移动设备。
- ArtPlayer.js - HTML5 视频播放器核心组件
- artplayer-plugin-danmuku - 弹幕插件支持
- JavaScript + DOM 操作 - 实现 UI 控制与交互逻辑
- Fetch API - 前后端数据交互(弹幕、在线统计)
- PHP + MySQL - 后端处理弹幕数据与在线人数统计
project-root/
├── index.html // 播放器主页面
├── sendDanmu.php // 弹幕数据接收与存储
├── online.php // 在线人数统计接口(已升级为MySQL数据库版)
├── js/
│ ├── artplayer.js // ArtPlayer播放器核心
│ └── artplayer-plugin-danmuku.js // 弹幕插件
git clone https://github.com/Dos7t3r/php-danmu-playerCREATE TABLE `online_users` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`user_id` VARCHAR(64) NOT NULL UNIQUE,
`video_id` VARCHAR(64) DEFAULT '',
`last_active` TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
INDEX (`video_id`),
INDEX (`last_active`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4;$dbConfig = [
'host' => 'localhost',
'dbname' => '你的数据库名',
'username' => '你的数据库用户名',
'password' => '你的数据库密码',
'charset' => 'utf8mb4'
];推荐部署到使用 HTTPS 协议的服务器,以保障安全。
示例访问:
https://your-domain.com/index.html?url=/path/to/video.mp4&dmk=/path/to/danmuku.xml&id=video001url: 视频文件路径dmk: 弹幕文件路径(XML或JSON)id: 视频唯一标识,用于在线统计
- 请求方式:
POST - 内容类型:
application/json
{
"dmkUrl": "/dmk/video.xml",
"text": "这是一条弹幕",
"time": 12.345,
"color": "#FF0000",
"mode": 0
}成功:
{"success": true, "message": "弹幕发送成功"}失败:
{"success": false, "message": "弹幕保存失败,权限不足"}播放器特色:
- 服务器需开启 PHP,并安装 MySQL 数据库,确保数据库访问权限。
- 推荐使用 HTTPS,保护用户数据安全。
👉 在线预览地址
MIT License - 欢迎自由使用与二次开发。


