使用Docker搭建DPlayer視頻彈幕接口API後端[DPlayer視頻彈幕搭建教程]

使用Docker搭建DPlayer視頻彈幕接口API後端[DPlayer視頻彈幕搭建教程]

原文地址:https://www.moerats.com/archives/838/

說明:之前有同學要求博主出個DPlayer彈幕後端搭建教程,剛好本博客的Handsome主題更新並完美適配了Dplayer,然後就研究了下,發現了點小問題,如作者提供的彈幕API加載不出彈幕,而且Typecho當中的Dplayer插件有點舊無法對接V3後端,不知道其它程序插件是不是這樣,這裏博主只能使用HTML代碼直接輸出調用,經測試已完全正常加載彈幕和觀看。這裏就說下搭建及使用方法。

簡介

DPlayer是一個支持彈幕的HTML5視頻播放器。支持Bilibili視頻和danmaku,支持HLSFLVMPEG DASHWebTorrent以及其他視頻格式,支持截屏、熱鍵、切換清晰度以及字幕等。

安裝

作者提供的彈幕後端搭建方法挺多的,這裏選擇一個搭建最快,版本最新的一種。

Github地址:https://github.com/MoePlayer/DPlayer-node

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  #同上

改完後再新建鏡像即可,如果你已經新建鏡像了,但想改,那就清空之前的鏡像再修改。

域名反代

如果你的博客已經開啓了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/ToyoDAdoubiBackup/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 [email protected]
 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

使用

作者提供了很多插件,這裏列舉一點:

Typecho:https://github.com/volio/DPlayer-for-typecho
Hexo:https://github.com/NextMoe/hexo-tag-dplayer
Z-Blog:https://github.com/fghrsh/DPlayer_for_Z-BlogPHP
Discuz!:https://coding.net/u/Click_04/p/video/git
WordPress:https://github.com/BlueCocoa/DPlayer-WordPress

不過Typecho插件暫時用不了,其它程序暫時不清楚,所以這裏提供一個播放器的HTML代碼,代碼如下:

<link href="https://www.moerats.com/usr/dplayer/DPlayer.min.css" rel="stylesheet">
<div id="dplayer"></div>
<script src="https://www.moerats.com/usr/dplayer/DPlayer.min.js"></script>
<script src="https://cdnjs.loli.net/ajax/libs/blueimp-md5/2.10.0/js/md5.min.js"></script>
<script>
var url="https://www.moerats.com/xx.mp4";    //這裏填寫視頻地址
var id=md5(url);
const dp = new DPlayer({
    container: document.getElementById('dplayer'),
    video: {
        url: url
  },
  danmaku: {
        id: id,
        api: 'https://dplayer.moerats.com/'    //這裏填寫彈幕地址
    }
});
</script>

直接將代碼貼進文章裏即可,如果在Typecho開發版中使用不正常的話,可能還需要用兩排!!!將代碼上下圍住使其強制輸出,比如:

#特殊原因,不得已才加上o,使用的時候記得去掉
o!!!
代碼
o!!!

好了,可以在視頻裏發彩色彈幕了,如果該視頻播放器不顯示的話,刷新一下就行了。

原文地址:https://www.dungei.com/15816.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章