个人弹幕站点发布

本文不再更新,最新内容见菜单里的个人弹幕站

上一篇博文发了个迷你弹幕播放器,然后我发现我自己也不方便发视频。。。于是我就决定做个后台来管理,用phpmyadmin手动加根本不靠谱嘛!

现在我已经把迷你播放器和后台搞在一起了,变成了一套站点。从此以后人人都可以有自己的方便配置的弹幕站点,投稿审核什么的都见鬼去吧!

GitHub:iTisso/SelfDanmakuSite

建议使用git克隆到服务器而不是下载文件搬到服务器,这样方便接收更新(如果有的话),当然如果不会用git那就点GitHub的下载Zip按钮下包然后传到网站上吧。。

在GitHub里我已经大概写了这个站点的食用方法,在这里再写一份非常详细的版本。

 

先上一个炫酷的osu视频

安装

不支持.htaccess文件的服禁搭,否则会有严重后果

首先你要用上面写了的方法把这个站点放到你的网站根目录里。

然后创建一个配置文件`config.php` 放在网站根目录,内容如下

<?php
	define("user","用户名");//不要使用什么奇怪的字符,我不保证那样可以正常使用
	define("pass","密码");//同上
	define("sqlUser","数据库用户");
	define("sqlPass","数据库密码");//请定义成字符串
	define("sqlAddress","数据库地址");
	define("dbname","数据库名");
	define("domainname","此站点的域名(或ip)");//这是用来阻止从其他站点直接向这里发起的请求,删除此行表示不阻止
?>

接着用浏览器打开你放这个站点的网站,你会发现没有首页(没错没首页),因为首页没必要。。。如果你愿意做个首页的话可以自己试试哦。没有首页是因为这个站点的设计方向是被其他站点引用的,所以自己没有首页。

然后进入管理页面(http://你的站点/admin/),这个管理页面是仿控制台做的,博主由于UI做太多心都累了,所以我就不做UI了,直接给个控制台,反正也能用,而且也就只有几个命令不管新手还是命令老手都应该还是可以接受的呢。

如果你看到的是黑压压一片的控制台那就对了呢,如果不是的话赶紧留言告诉我。另外如果你有兴趣可以自己做个UI后台,欢迎提交。。。

接着在下面的命令框输入`login -u 用户名 -p 你的密码` ,你没有看错!这就是登录!登录成功以后不会显示任何东西,所以如果你不知道有没有登录成功了,你可以在发送命令前打开开发者工具的网络那一页,然后发送看看什么时候连接结束了那就是执行完了,也就是说你登录了。

成功登录以后你就可以输入`help` 来查看我精心编写的帮助文档,根据最顶上的提示,第一次使用需要输入命令`initdb` 来初始化数据库,如果你看到了三个绿色的成功,那就可以接着做下一步了。如果出现了红色的失败,那你可以再试一次或者找我。

实例:

help命令
help命令

使用

这时候数据库已经安顿好了,现在它已经是一个可以正常使用的站点了喵。然后我来讲讲关于命令的事情。

之所以把它做成一个控制台是因为一开始弹幕播放器就是在我做的命令网站小框架上面做出来的,现在继续沿用这个框架(重构的文件床也使用了这个框架)。

所有命令都是commands文件夹里的php文件,命令对应的就是php的文件名,所以命令大小写敏感。根据这个特性,你也可以自己写自定义命令放在这个文件夹里(请参照其他默认命令以保证安全),如果你做了什么很好用的命令也欢迎提交在GitHub或者这里的留言里哟。

这些命令我都已经写了help,只要输入`命令 –help` 就可以查看帮助(不过都很简短。。)

 

命令的--help标志
命令的–help标志

警告:请仔细看help文档里的`符号说明,否则会产生感人肺腑的结果,无论参数是什么,都建议加上“(参数名(如-t)除外),以免出错。

接下来介绍一下默认命令

控制台内置命令

echo 要输出的内容

echo命令用来输出后面跟着的内容,当然这完全没意义。主要作用是用来输出转义结果(发送到服务器的命令都是经过转义的,否则会有很多问题),比如下面这么用

echo findvideo `喵吖`

把想发送的命令跟在echo后面,命令不会发送出去,而是在控制台里显示它会被转义成什么样子

实例:

 

echo转义演示
echo转义演示

 

 

 

clear

当你控制台里东西过多的时候可以用这个命令清空。

 

服务器端命令

添加弹幕

adddanmu 视频id 弹幕类型 内容 所在时间 颜色 大小

这个命令是给播放器用的,不过在这里也可以用,不过不建议在这里使用,因为你写的可能不是播放器能识别的格式。

 

 

添加视频

addvideo -t 视频标题 -url 视频地址

#建议这么写
addvideo -t `视频标题` -url `视频地址`

实例:

addvideo演示
addvideo演示

添加视频成功后会获得视频id,id在各种调用视频和弹幕的场合会用到。

视频说明:由于目前浏览器的解码限制,建议使用H264编码的mp4视频做视频源,视频可以是自己上传到自己服务器的,也可以是从视频网站盗链的(如果你可以的话)(当然欢迎提供盗链源码。。。)
盗链视频:在funs.php里有一个translateAddress函数,它会根据数据库里视频的地址前缀来重新解析视频(如youku:XNzA3ODc1MjQ0的前缀是youku),所以你只需要在switch里加上一个case “前缀”然后写上对应的解析方法即可。

 

 

清零某视频的播放数

clearplaycount 视频id

虽然我觉得这个命令没什么实际用处,不过我还是做出来了。。。

 

 

 

清空某视频的弹幕

cleardanmu 视频id

这个命令会把指定id的视频的所有弹幕都删掉 ,谨慎使用。

 

 

 

删除指定id的弹幕

deldanmu 弹幕id

专治问题弹幕 (ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้ ● ω ● ค้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้้

 

 

 

删除指定id视频

delvideo 视频id

删除视频的同时也会删除视频所有的弹幕(其实我复制了cleardanmu的代码23333),所以三思后行。

 

 

 

修改视频信息

editvideo -id 视频id [-t 视频标题] [-url 视频地址]

t参数和url参数至少要有一个,或者两个都有,用来修改手滑写错信息的视频。

例:

editvideo -id 12 -t `新的标题`
editvideo -id 12 -url `http://新的地址`
editvideo -id 12 -t `新的标题` -url `新的地址`

 

 

 

使用正则按标题查找视频

findvideo 正则表达式

说是正则表达式但如果你不知道是什么的话可以直接用标题,或者标题的一部分。

常用方法演示

findvideo `.+`                       #列出所有视频(视频必须有标题)
findvideo `^【osu】`                 #列出所有【osu】开头的视频
findvideo `我是一个视频标题`         #直接使用标题找视频
findvideo `标题一部分`               #找包含这段字的视频

 

列出全部视频例子
列出全部视频例子

 

 

 

使用正则按弹幕内容查找弹幕

finddanmu 正则表达式

常用方法

finddanmu `.*`                          #列出所有弹幕(弹幕很多时慎用)
finddanmu `^整条弹幕内容$`              #找出完全符合的弹幕
finddanmu `部分内容`                    #找到包含此内容的弹幕
finddanmu `233+`                        #找到包含233...3(大于等于2个3)的弹幕

例:

查找所有233
查找所有233

 

 

 

 

播放器获取弹幕列表

getDanmu 视频id

这个命令是给播放器用的。

 

 

 

播放器获取视频信息

getVideoAddress 视频id

播放器用,此命令返回一个包含视频地址、视频播放数的json

 

 

查看帮助

help

 

 

 

初始化数据库

initdb

见上面的安装部分

 

 

 

登录

login -u 用户名 -p 密码

如果在后面加个`–return` 服务器会返回登录状态,完全形态:

login -u 用户名 -p 密码 --return

每次调用此命令都会把日志记录到log/login.log文件中,此目录已被.htaccess保护,不能直接访问。

 

 

 

获取视频信息框架iframe

vinfoframe 视频id

获取视频iframe用于嵌入页面

>> vinfoframe 4
<iframe src="http://localhost/videoinfo.php?id=4" style="height:650px;width:700px;" allowfullscreen></iframe>

然后就可以把这个iframe贴到要放播放器的地方啦。

如果你不需要显示视频信息页面而是直接加载播放器,就把`videoinfo.php` 替换成`miniplayer/player.php` ,这也就是点了加载按钮以后跳转到的页面。

 

 

 

 

测试参数

teststr 各种参数

把你要发送的命令换成teststr可以知道服务器最终解析出来的参数序列是什么(其实是给我开发用的。。。)

例:

#原本
login -u `用户名` -p 123456 --return
#用teststr测试
teststr -u `用户名` -p 123456 --return

结果:

参数表Array
(
    [0] => -u
    [1] => 用户名
    [2] => -p
    [3] => 123456
    [4] => --return
)
命名参数Array
(
    [u] => 用户名
    [p] => 123456
)
标记Array
(
    [0] => return
)

 



本文发布于 https://luojia.me

本站文章未经文下加注授权不得拷贝发布。

0 0 投票数
打分
订阅评论
提醒
guest
26 评论
内联反馈
查看所有评论
miao13
游客
miao13
8 年 前

乱码解决了。。然后粗线个
>> initdb

无法连接数据库: Unknown MySQL server host ‘p:xxxxxxxxxxxxxxxx’ (1)

佳佳菌
游客
8 年 前
回复给  miao13

嘛你可以把p去掉

miao13
游客
miao13
8 年 前

不是= = 后台是乱码。。

佳佳菌
游客
8 年 前
回复给  miao13

应该是你保存这些文件的姿势不对,文件应该保存成utf8的

miao13
游客
miao13
8 年 前

佳佳 后台白色一片…显示不出来传说中的黑框框..

佳佳菌
游客
8 年 前
回复给  miao13

那就要看看浏览器控制台里报什么错误了

nani
游客
nani
9 年 前

啊啊啊,不会下载安装进空间,咋办(๑•ั็ω•็ั๑)

佳佳菌
游客
9 年 前
回复给  nani

进菜单的个人弹幕站

聚知网
游客
9 年 前

如果是空白的怎么办?上面有条黑,下面有条黑。中间空白。。本地测试可以。。我服务器nginx

Ivan
游客
10 年 前

弹幕网站会不会被看作侵犯人家视频网站的版权啊?

Ivan
游客
10 年 前
回复给  罗佳(博主)

多说就是好用,回复神马的最快了。

Ivan
游客
10 年 前
回复给  罗佳(博主)

我知道,我正在用。我也是想做个主题弹幕网站,所以就问问版权的事。

卜卜口
游客
10 年 前

给juju跪了!

卜卜口
游客
10 年 前
回复给  罗佳(博主)

这个弹幕好厉害!!

玩赚乐
游客
10 年 前

牛逼啊 啊 啊 啊啊啊

1005911753
游客
10 年 前

好厉害的佳佳

BlackGlory
游客
10 年 前

wowsuch code so strongamazingwow

False_Flippy
游客
10 年 前

好棒,看了你的视频最近也再玩,。。正在突破

False_Flippy
游客
10 年 前
回复给  罗佳(博主)

你玩这个多久了,给我挽留尊严。。感觉俺好菜……

DIYgod
游客
10 年 前

噗,给菊苣跪了_(´ཀ`」 ∠)_