说明:之前有同学要求美文苑站长出个DPlayer
弹幕后端搭建教程,刚好美文苑的某些频道深度并完美适配了Dplayer
,然后就研究了下,发现了点小问题,如作者提供的弹幕API
加载不出弹幕,而且Typecho
当中的Dplayer
插件有点旧无法对接V3
后端,不知道其它程序插件是不是这样,这里美文苑站长只能使用HTML
代码直接输出调用,经测试已完全正常加载弹幕和观看。这里就说下搭建及使用方法。
- 【2021.07.27】
- 弹幕api接口已修复,长期可用,https://danmu.meiweny.cn,如出现问题留言即可。
- 【2021.07.27】
- 由于有些人不太喜欢Docker搭建,所以下面补齐CentOS、Debian、Ubuntu手动搭建教程。
简介
DPlayer
是一个支持弹幕的HTML5
视频播放器。支持Bilibili
视频和danmaku
,支持HLS
、FLV
、MPEG DASH
、WebTorrent
以及其他视频格式,支持截屏、热键、切换清晰度以及字幕等。
安装
作者提供的弹幕后端搭建方法挺多的,这里选择一个搭建最快,版本最新的一种。
Docker安装
1、安装Docker
- #CentOS 6
- rpm -iUvh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
- yum update -y
- yum -y install docker-io
- service docker start
- chkconfig docker on
- #CentOS 7、Debian、Ubuntu
- curl -sSL https://get.docker.com/ | sh
- systemctl start docker
- systemctl enable docker
2、安装Docker Compose
- curl -L https://github.com/docker/compose/releases/download/1.17.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
- chmod +x /usr/local/bin/docker-compose
3、运行镜像,安装git
:
- #Debian、Ubuntu系统
- apt install git -y
- #CentOS系统
- yum install -y git
再使用命令:
- #拉取源码
- git clone https://github.com/MoePlayer/DPlayer-node.git
- cd DPlayer-node
- #新建镜像
- docker-compose build
- #拉取其它镜像并后台运行
- docker-compose up -d
此时api
地址为http://ip:1207
,数据和日志存放在/root/dplayer
文件夹。当然如果你想其它端口,或者修改存放文件夹路径,那你在上面的新建镜像之前,作出如下操作:
- #编辑DPlayer-node文件夹的docker-compose.yml文件,部分修改如下
- mongo:
- volumes:
- - ~/dplayer/db:/data/db #数据库存放文件夹,~/dplayer/db为映射在外部的路径,自行修改,
- web:
- ports:
- - 1207:1207 #api映射到外部的端口,将前面的1207修改成你想要的即可
- volumes:
- - ~/dplayer/logs:/usr/src/app/logs #同数据库操作
- - ~/dplayer/pm2logs:/root/.pm2/logs #同上
改完后再新建镜像即可,如果你已经新建镜像了,但想改,那就清空之前的镜像再修改,方法参考→。
1、此命令会清空所有的Docker
文件
- docker kill $(docker ps -aq)
- docker rm $(docker ps -aq)
- docker rmi $(docker images -q)
- docker volume rm $(docker volume ls -q)
2、此命令会保留正在运行的Docker
镜像,其它会全部清除
- docker rm $(docker ps -aq)
- docker rmi $(docker images -q)
- docker volume rm $(docker volume ls -q)
CentOS安装
- 提示:教程适用于CentOS 7、8系统。
1、安装NodeJS
- curl -sL https://rpm.nodesource.com/setup_10.x | bash -
- yum install nodejs git -y
2、安装Mongodb
- #将下面命令一起复制进SSH客户端运行
- cat <<EOF > /etc/yum.repos.d/mongodb.repo
- [mongodb-org-4.0]
- name=MongoDB Repository
- baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
- gpgcheck=1
- enabled=1
- gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
- EOF
- #安装mongodb
- yum -y install mongodb-org
- systemctl start mongod
- systemctl enable mongod
3、安装Redis
- #CentOS 7系统
- yum install epel-release -y
- yum install redis -y
- systemctl start redis
- systemctl enable redis
- #CentOS 8系统
- yum install redis -y
- systemctl start redis
- systemctl enable redis
4、安装弹幕服务器
- #拉取源码
- git clone https://github.com/MoePlayer/DPlayer-node.git
- cd DPlayer-node
- npm i
- npm i -g pm2
- pm2 start index.js --name danmuapi
此时api
地址为http://ip:1207
。
Debian安装
- 提示:教程适用于Debian 8、9、10系统。
1、安装NodeJS
- curl -sL https://deb.nodesource.com/setup_10.x | bash -
- apt install -y git nodejs
2、安装Mongodb
- #Debian 8系统
- wget -qO - https://www.mongodb.org/static/pgp/server-4.0.asc | apt-key add -
- echo "deb http://repo.mongodb.org/apt/debian jessie/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
- apt update -y
- apt -y install mongodb-org
- systemctl start mongod
- systemctl enable mongod
- #Debian 9系统
- wget -qO - https://www.mongodb.org/static/pgp/server-4.0.asc | apt-key add -
- echo "deb http://repo.mongodb.org/apt/debian stretch/mongodb-org/4.0 main" | tee /etc/apt/sources.list.d/mongodb-org-4.0.list
- apt update -y
- apt -y install mongodb-org
- systemctl start mongod
- systemctl enable mongod
- #Debian 10系统
- wget -qO - https://www.mongodb.org/static/pgp/server-4.2.asc | apt-key add -
- echo "deb http://repo.mongodb.org/apt/debian buster/mongodb-org/4.2 main" | tee /etc/apt/sources.list.d/mongodb-org-4.2.list
- apt update -y
- apt -y install mongodb-org
- systemctl start mongod
- systemctl enable mongod
3、安装Redis
- apt install redis-server -y
4、安装弹幕服务器
- #拉取源码
- git clone https://github.com/MoePlayer/DPlayer-node.git
- cd DPlayer-node
- npm i
- npm i -g pm2
- pm2 start index.js --name danmuapi
此时api
地址为http://ip:1207
。
Ubuntu安装
- 提示:教程适用于Ubuntu 16.04、18.04、20.04系统。
1、安装NodeJS
- curl -sL https://deb.nodesource.com/setup_10.x | bash -
- apt install -y git nodejs
2、安装Mongodb
- #Ubuntu 16.04系统
- wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
- echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu xenial/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
- apt update -y
- apt install -y mongodb-org
- systemctl start mongod
- systemctl enable mongod
- #Ubuntu 18.04系统
- wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
- echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu bionic/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
- apt update -y
- apt install -y mongodb-org
- systemctl start mongod
- systemctl enable mongod
- #Ubuntu 20.04系统
- wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -
- echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
- apt update -y
- apt install -y mongodb-org
- systemctl start mongod
- systemctl enable mongod
3、安装Redis
- apt install redis-server -y
4、安装弹幕服务器
- #拉取源码
- git clone https://github.com/MoePlayer/DPlayer-node.git
- cd DPlayer-node
- npm i
- npm i -g pm2
- pm2 start index.js --name danmuapi
此时api
地址为http://ip:1207
。
域名反代:
如果你的网站已经开启了https
访问,那api
也需要https
地址,所以只使用ip:端口
是不行的,这里就需要使用域名反代了。站长喜欢Caddy
,所以这里说下宝塔和Caddy
反代,其它一键环境的建议看官方文档或自行搜索。
如果你服务器没有安装Nginx
/Apache
的,可以用下Caddy
,很方便很快,记得提前将域名解析到服务器。
1、宝塔反代
先进入宝塔面板,然后点击左侧网站,添加站点,然后再点击添加好了的域名名称,这时候就进入了站点配置,点击反向代理,目标URL
填入http://127.0.0.1:1207
,再启用反向代理即可。至于启用SSL
就不说了,直接在站点配置就可以看到。
2、Caddy反代
安装Caddy
:
- wget -N --no-check-certificate https://raw.githubusercontent.com/iiiiiii1/doubi/master/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
- #备用地址
- wget -N --no-check-certificate https://www.moerats.com/usr/shell/Caddy/caddy_install.sh && chmod +x caddy_install.sh && bash caddy_install.sh
配置Caddy
:
- #以下全部内容是一个整体,请修改域名后一起复制到SSH运行!
- echo "xx.com {
- tls admin@moerats.com
- proxy / http://127.0.0.1:1207
- }" > /usr/local/caddy/Caddyfile
tls
参数会自动帮你签发ssl
证书,如果你要使用自己的ssl
,改为tls /root/xx.crt /root/xx.key
即可。后面为ssl
证书路径。启动Caddy
:
- /etc/init.d/caddy start
反代好了后,你的API
地址就为https://xx.com
。
说实话,dplayer真的是一个很漂亮的播放器插件,但是这个插件需要后端支持才能正常实现弹幕功能,不幸的是这个插件的官网上面的那个后端接口已经GG了,所以无奈可能得自己搭建后台了!但是网上总是有热心网友吧,作者写了dplayer弹幕后端搭建教程之外还分享了一个线上的搭建好了的后端接口。感谢您的阅读!