当前位置: 首页 > dplayer播放器>阅读正文

dplayer实现弹屏功能

2021.4.16 朱丰华 908 次 留下评论 3464字

1.简单了解弹屏:

  • 弹屏,基本是一些文字,那它就一定需要数据库存储
  • 写入弹屏需要写入数据库,读取弹屏需要读取数据库
  • 把弹屏做成一个接口,让视频接入,即可完成此功能

2.搭建DPlayer弹屏系统

这里提供3种搭建方法, 也许还不够多, 可在交流群中

  • centos7,8基于Docker的安装方法
  • centos7,8基于pm2的安装方法
  • 基于宝塔面板的安装方式

你可以安装实际需求查阅其中一种, 安装步骤较长放在文章后面, 往下滑动即可

3.进行反向代理

这里, 假设你已经完成安装, 那么对于一个https的网站, 你引用的资源应该是https, 否则浏览器会提示”你与该网站的连接并非完全安全”, 这是非常不好的.

这里仅演示如何使用宝塔面板完成此功能

创建一个新的网站,启用https,然后进行反向代理(这里用宝塔面板),这里的dpy名称随意,目标url、发送域名请务必和下面的一致。

测试弹屏

  • 反向代理完毕后,直接访问,出现:Not Found,说明正常(这里必须显示 Not Found ,否则失败)
  • 把接口代码写入,即可完成,往下看

本站提供一个测试的弹屏接口,勿用于开发环境, 可能无法使用。

https://dp.5252.online/

下面是弹屏测试代码,可拷贝到任意环境测试

<!DOCTYPE html>
<html>
<head>
  <meta charset="utf-8">
  <title>52的小窝提供弹屏测试代码</title>
</head>
<body>
  <div id="dplayer3"></div>
  <link href="https://cdn.5252.online/ajax/dplayer/dplayer.min.css" rel="stylesheet">
  <script src="https://cdn.5252.online/ajax/dplayer/dplayer.min.js"></script>
  <script src="https://cdn.5252.online/ajax/blueimp_md5/md5.min.js"></script>
   <script>
		var dp = new DPlayer({
			container: document.getElementById('dplayer3'),
			screenshot: true,
			autoplay: false,//自动播放
			theme: '#FADFA3',//主题颜色
			loop: true,// 循环播放
			lang: 'zh-CN',//语言
			hotkey: true,//绑定热键
			preload: 'auto',//预加载的方式
			video: {
				url: "https://cdn.5252.online/video/mov_bbb.mp4",
				pic: 'https://cdn.5252.online/image/logo.jpg'
			},
			danmaku: {
				id: md5("https://cdn.5252.online/video/mov_bbb.mp4"),
				api: 'https://dp.5252.online/'    //这里填写弹幕地址
			}
		});
	</script>
</body>
</html>

实际演示效果如下:

5.写在最后
  • 官方接口文档:https://github.com/MoePlayer/DPlayer-node
  • 最后说明一下,弹屏的id必须是唯一的(可以是空,若为空不显示,那是弹屏搭建失败的表现,请严格按照本站提供的方法搭建),这里建议使用 md5,具体可参考这里

centos7,8基于Docker的安装方法

提示 : 请先获取 root

安装与配置 docker,查看此篇文章

安装docker-compose,请查看此篇文章

安装git (默认可能就有 git ,一般不需要安装)

yum install -y git

使用git克隆弹屏源代码

git clone https://github.com/MoePlayer/DPlayer-node.git 

进入下载的弹屏目录

cd DPlayer-node

建立docker-compose容器

docker-compose build

启动docker-compose容器(-d表示在后台运行)

docker-compose up -d

安装成功,默认端口为:http://ip:port,若出现Not Found,说明搭建应该没问题(具体看最后是否可使用弹屏),若安装过程未报错,却不显示Not Found,也无法访问,这也不要紧,不一定就是失败,反向代理后不成功肯定失败,请继续往下看

centos7,8基于pm2的安装方法

提示 : 请先获取 root

下载node.js源码

curl -sL https://rpm.nodesource.com/setup_10.x | bash -

安装node.js

yum install nodejs git -y

下载MongDB源代码

cat <<EOF > /etc/yum.repos.d/mongodb.repo[mongodb-org-4.0]name=MongoDB Repositorybaseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/gpgcheck=1enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-4.0.ascEOF

安装MongDB

yum -y install mongodb-org

设置MongDB开机自启动

systemctl enable mongod

立刻启动MongDB

systemctl start mongod

使用epel源

yum install epel-release -y

安装redis

yum install redis -y

设置redis开机自启动

systemctl start redis

立即启动redis

systemctl enable redis

克隆弹屏代码

git clone https://github.com/MoePlayer/DPlayer-node.git

进入弹屏安装目录

cd DPlayer-node

安装npm工具

npm i

使用npm安装pm2

npm i -g pm2

使用pm2启动node.js项目, 入口文件为index.js(即弹屏接口)

pm2 start index.js --name danmuapi

使用宝塔面板搭建弹屏接口

这里, 我们直接在软件商店中, 下载需要的软件,

  • mongdb
  • redis
  • pm2

在面板环境下, 不推荐使用 docker

下载 dplayer-node 源代码, 点击这里到github下载

接着把它上传到某个服务器的一个目录下, 假设为 /home, 把此代码进行解压缩, 得到一个 Dplayer-node 这样一个文件夹, 我们打开它的 config.js , 看到它依赖于

  • mongodb : 127.0.0.1:27017 : danmaku
  • redis : 127.0.0.1:6379

这意味着你需要先配置这mongdb和redis, 或修改此文件, 总之你得开启这2个服务, 再开启pm2 , 而且此项目将运行于 127.0.0.1:1207端口

打开 redis, 并打开 mongdb, 在 pm2 管理器中添加项目, 配置如下

  • 启动文件 –> 解压目录的 index.js
  • 运行目录 –> 解压目录
  • 其他性能配置可以默认

此时, 宝塔搭建完成了, 在进行安装时, 小白不要三种都尝试, 前面一旦安装后就会占用端口, 这是你再启动可能会报错而搞的很复杂, 如果端口占用, 关闭redis, mongdb的开启自动, 然后重启再使用宝塔安装.

本篇完,还有疑问?留下评论吧

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注