简介
PlayTube
是一个视频分享程序,它能快速的建立一个视频上传、导入、分享的网站,具有多语言、用户管理、广告管理、视频上传、从youtube
和vime
等网站导入视频等功能。
截图
功能
- 上传视频:上传本地视频。
- 导入视频:非常简单的从
YouTube
、Dailymotion
、和Vimeo
等站点批量导入视频,此功能需要对应网站的API
。 - 自动导入视频:设置一些关键词并创建导入任务,轻松从
YouTube
和Dailymotion
导入视频到你的网站。 - 高性能:
PlayTube
可以轻松的处理超过1B
的视频。 WoWonder
登录集成:无缝对接WoWonder
社交系统,可以使用社交系统的帐户授权登入。- 喜欢&反感:用户可以对某视频进行喜欢投票。
- 评论系统:注册用户可以对视频进行评论。
- 订阅、历史、接下来观看:功能也是比较人性化的。
- 用户频道:完整的用户展示页。
- 广告系统:可以创建视频、页面的广告,一切都在后台的广告设置里。
- 站点地图建立:建立站点地图并自动发送到
Google/Bing
。 SEO
友好:搜索引擎优化友好的链接,非常有利于谷歌收录。- 完整的后台:功能完善的后台控制面板。
- 漂亮的
UI
:非常容易修改而且还很漂亮的模板。
安装
环境要求:PHP >= 5.5
、MySQL
、GD Library
、mbstring
、cURL
、allow_url_fopen
。
这里使用宝塔面板做演示,如果你有基础的话,也可以使用其它面板或者lnmp
一键包。
1、安装宝塔
#Centos系统
yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh
#Ubuntu系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && sudo bash install.sh
#Debian系统
wget -O install.sh http://download.bt.cn/install/install-ubuntu.sh && bash install.sh
安装完成后,进入面板安装PHP
、Mysql
、Nginx
、phpmyadmin
。
2、安装程序
添加域名,然后下载程序源码,并将程序上传到网站根目录解压,源码下载:
#v1.4.1完整源码
https://www.moerats.com/usr/down/Playtube/playtube-v1.4.1-full.zip
#增量包,升级时需要一个一个挨着解压覆盖
https://www.moerats.com/usr/down/Playtube/playtube-v1.4.2-update.zip
https://www.moerats.com/usr/down/Playtube/playtube-v1.4.3-update.zip
https://www.moerats.com/usr/down/Playtube/playtube-v1.4.5-update.zip
https://www.moerats.com/usr/down/Playtube/playtube-v1.4.5.1-update.zip
https://www.moerats.com/usr/down/Playtube/playtube-v1.5-update.zip
https://www.moerats.com/usr/down/Playtube/playtube-v1.5.1-update.zip
https://www.moerats.com/usr/down/Playtube/playtube-v1.6-update.zip
#语言包
https://www.moerats.com/usr/down/Playtube/lang1.4.1-v1.4.2-cn.zip
#升级方法,比如v1.4.1升级到v1.4.2
将v1.4.2增量包上传至根目录,解压并直接替换根目录文件,再访问http://xx.com/update.php进行更新即可。
#v1.4.5.1开心完整版源码
https://www.moerats.com/usr/down/Playtube/playtube-v1.4.5.1-nulled.zip
#v1.6开心完整版源码,安装的时候购买代码和其他版本不一样,V1.6购买代码为:顶点网破解
https://www.moerats.com/usr/down/Playtube/playtube-v1.6-nulled.zip
再添加Nginx
伪静态:
if (!-f $request_filename){
set $rule_0 1$rule_0;
}
if (!-d $request_filename){
set $rule_0 2$rule_0;
}
if ($rule_0 = "21"){
rewrite ^/$ /index.php?link1=home ;
}
rewrite ^/$ /index.php?link1=home ;
rewrite ^/reset-password/([^/]+)(/|)$ /index.php?link1=reset-password&code=$1 ;
rewrite ^/confirm/(.*)/(.*)$ /index.php?link1=confirm&code=$1&email=$2 ;
rewrite ^/api/v(([0-9])([.][0-9]+))(/|)$ /api.php?v=$1 ;
rewrite ^/admin-cp$ /admincp.php ;
rewrite ^/admin-cp/(.*)$ /admincp.php?page=$1 ;
rewrite ^/admin-cdn/(.*)$ /admin-panel/$1 last;
rewrite ^/videos/category/(.*)/rss(/|)$ /index.php?link1=videos&page=category&id=$1&feed=rss ;
rewrite ^/videos/category/(.*)$ /index.php?link1=videos&page=category&id=$1 ;
rewrite ^/videos/(.*)/rss(/|)$ /index.php?link1=videos&page=$1&feed=rss ;
rewrite ^/videos/(.*)$ /index.php?link1=videos&page=$1 ;
rewrite ^/articles(/|)$ /index.php?link1=articles ;
rewrite ^/articles/category/(.*)$ /index.php?link1=articles&category_id=$1 ;
rewrite ^/articles/read/(.*)$ /index.php?link1=read&id=$1 ;
if (!-f $request_filename){
set $rule_14 1$rule_14;
}
if (!-d $request_filename){
set $rule_14 2$rule_14;
}
if ($rule_14 = "21"){
rewrite ^/aj/([^/.]+)/?$ /ajax.php?type=$1&first=$2 last;
}
rewrite ^/aj/([^/.]+)/([^/.]+)/?$ /ajax.php?type=$1&first=$2 last;
rewrite ^/aj/([^/.]+)/([^/.]+)/([^/.]+)/?$ /ajax.php?type=$1&first=$2&second=$3 last;
rewrite ^/edit-video/(.*)?$ /index.php?link1=edit-video&id=$1 last;
rewrite ^/watch/([^/]+)(/|)?$ /index.php?link1=watch&id=$1 last;
rewrite ^/watch/([^/]+)/list/([^/]+)(/|)?$ /index.php?link1=watch&id=$1&list=$2 last;
rewrite ^/embed/(.*)?$ /index.php?link1=embed&id=$1 last;
rewrite ^/resend/(.*)/(.*)?$ /index.php?link1=resend&id=$1&u_id=$2 last;
rewrite ^/redirect/(.*)?$ /index.php?link1=redirect&id=$1 last;
rewrite ^/settings/(.*)/(.*)$ /index.php?link1=settings&page=$1&user=$2 ;
rewrite ^/settings/(.*)$ /index.php?link1=settings&page=$1 ;
rewrite ^/terms/([^/]+)(/|)$ /index.php?link1=terms&type=$1 ;
rewrite ^/go_pro(/|)$ /index.php?link1=go_pro ;
rewrite ^/ads(/|)$ /index.php?link1=ads ;
rewrite ^/ads/create(/|)$ /index.php?link1=create_ads ;
rewrite ^/ads/edit/(d+)(/|)$ /index.php?link1=edit_ads&id=$1 ;
rewrite ^/contact-us(/|)$ /index.php?link1=contact ;
rewrite ^/@([^/]+)(/|)$ /index.php?link1=timeline&id=$1 ;
rewrite ^/messages/(.*)$ /index.php?link1=messages&id=$1 ;
if (!-f $request_filename){
set $rule_33 1$rule_33;
}
if (!-d $request_filename){
set $rule_33 2$rule_33;
}
if ($rule_33 = "21"){
rewrite ^/([^/]+)(/|)$ /index.php?link1=$1 ;
}
最后打开域名进行安装配置,授权码:nulled-by-reishi
,直接使用v1.4.5.1
完整版的可能不需要授权。
3、中文设置
我们通过phpmyadmin
进入到数据库,找到PlayTube
所使用数据库,删除langs.sql
,再将语言包的langs.sql
文件导入到数据库即可。
然后刷新网站会看到有右下角语言有中文
的,如果选择中文
后,分类显示不出来,可能是分类语言乱码,这时候我们去根目录assets/langs
,将乱码的语言文件改成中文.php
即可。
4、安装ffmpeg
要使用程序完整的功能,我们还需要安装ffmpeg
。安装参考:使用静态ffmpeg二进制文件秒安装ffmpeg。
再打开宝塔,点击左侧软件管理-PHP
设置-禁用函数-删除shell_exec
。最后在后台设置FFmpeg
二进制文件路径为/usr/bin/ffmpeg
。
5、更多设置
#视频分类设置
网站目录./assets/langs/中文.php修改。
#编辑样式表
./themes/default/css,主样式文件是style.css
#添加自己的代码
想在head、body、footer标签中添加自己的代码,请在./themes/default/layout/container.html修改
差不多到这里就算安装完成了,然后更多功能自行研究吧。
最后由于最新版的Plytube
没汉化,用起来可能不是很方便,如果想做视频站的,还是建议使用中文程序,可以试试开源版express-ffmpeg
云转码程序→传送门。
版权声明:本文为原创文章,版权归 Rat's Blog 所有,转载请注明出处!
本文链接:https://www.moerats.com/archives/644/
如教程需要更新,或者相关链接出现404,可以在文章下面评论留言。
从youtube导入时出现的这个,想问一下这个应该怎么处理,需要改那些配置文件 非常感谢。
Error 403 Access Not Configured. YouTube Data API has not been used in project 690663376684 before or it is disabled. Enable it by visiting https://console.developers.google.com/apis/api/youtube.googleapis.com/overview?project=690663376684 then retry. If you enabled this API recently, wait a few minutes for the action to propagate to our systems and retry. : accessNotConfigured
这个应该youtube api过期,没权限啥的
需要改那个配置文件能告诉我吗
这个忘了,很久没用了
undefined
@Rat's 安装完成后页面访问正常,后台访问正常,维护上传视频的时候提示undefined,和解?上传限制也都改了,真心不知道需要修改什么地方。请Rat‘s帮忙解决下,谢谢
这个不太清楚,得看控制台啥的
关键问题是Centos+宝塔就不能上传,换成Centos+小皮面板就能上传。。。
云主机可以用宝塔不能用小皮面板,所以只能是研究为什么宝塔架设后不能上传文件。。。
这个应该和宝塔关系不大,具体就不太清楚了
安装完毕后,重定向过多导致无法访问该怎么解决呢?
检查下nginx配置
感谢分享。。。不过有很多css在国外。。。奇慢无比
可以花点精力把css本地化
怎么设置YouTube api
你是说申请API还是在程序里设置API?前者的话,我以前发过,不过删掉了,你百度或谷歌一下,挺简单的,后者的话,只能你自己研究了。
上传完视频 点击发布 提示
Please check the details
不知道是什么原因
assets/langs 目录下没有乱码的东西,也没有“中文.php”……然后分类点不了……怎么回事捏?
文章留的中文语言包导入了没?
导入了那里头只有一个SQL文件,然后后台是没有中文,Manage Movies Categories 、Categories这两个点击Add时500错误,Manage Sub Categories跳转页面也是500错误。还有啊……上传视频后的表单最后一个输入框点击时显示“$1”不知道时啥东西……我时直接安装的v1.6完整版……
导入了,那个只有一个SQL文件
请问大佬授权码错误是什么情况啊
文章中的英文授权貌似只适合1.4.1那几个版本,最新版的1.6文章也说了,购买代码为:顶点网破解。注意是汉字。
整整一天……试了无数安装ffmpeg的方法 也确定usrbin目录下有ffmpeg文件 还是提示 /usr/bin/ffmpeg没找到ffmpeg /usr/local/bin全部都试过了……木法……
这个问题昨天好像也有个人遇到了,等我明天帮他看看,顺便找下问题吧。
有结果了么 大佬
没有,没联系我了。
但是 后台的邮箱设置好了 注册也收不到邮件……这个博主有研究过么…… 保证设置没问题
没有使用邮箱。
我今天又研究了下· 虽然有提示找不到ffmpeg 但是上传后的渲染过程 ffmpeg是在运行的 占用CPU达到了100%……
应该和系统有关 今天我临时开了个vultr的centos7 就没问题 ……真是烦人
谢谢
还有伪静态 使用博主您的伪静态 视频的分享网址打开始404 部分浏览器点什么视频都是404 如果使用根目录的nginx。conf作为伪静态规则 视频倒是能打开了 但是不能发布和修改……
“undefined”的还要修改php.ini里的两个参数upload_max_filesize = 和post_max_size =
感谢分享教程
Amazon S3后台设置停用,能连接成功,设置启用就提示400错误了
没有s3,也没试过,你用f12看看
F12看都是正常的,没有报错,但是都是测试连接的时候提示400错误,然后上传的视频也发布不了
那就不清楚了,没用过s3
Amazon S3怎么配置啊,后台设置一直提示400错误
Rat,,关于topic破解的wowonder和sngine社交源码的安装教程能发一篇文章吗?有些内容不明白。采纳~~~~
有空我看看
怎么设置youtube的API
这个不是很清楚,没玩到这一步。
现在
知道了吗?
...
打开shell_exec,然后后台设置ffmpeg路径一直提示找不到,whereis显示路径也是/usr/bin/ffmpeg....
这个按照教程做一般是没问题的,具体你的是什么情况我就不知道了。
大佬大佬 导入的时候只支持MP4不支持mkv怎么办啊 在数据库改mkv地址视频可以正常播放
这个看后台能不能设置吧。
为何不像AVS一样有镶入视频呢 ,那么好看的系统 可惜了
这个就不是很清楚了。
为何上传视频时"发布"按钮一直无法使用?
上传完成,还要等转码才能发布,你的ffmpeg装了没?还有ffmpeg后台设置和禁用函数都要弄好。
感谢回复,是nginx里面的client_max_body_size参数设小了。视频也转换了,但是点击“发布”后左下角跳出“undefined”。搞不懂又是啥问题。
这个就不是很清楚了。
这个转码好像有问题,不懂是不是设置出问题,上传1080p的视频,但是转码生成不了1080p,最高转码到720p。
这个不是很清楚,我转的也都是720p。
原来是用管理员账户登录就可以到后台,真是很好的设置。
发现有一个问题,网站设置为中文,上传视频的分类看不到下拉菜单,设置成英文就可以看到。这个怎么解决呢?
这个貌似BUG,要是有强迫症,那就用英文的。
解决了,你的教程写得很清楚:根目录assets/langs,将乱码的语言文件改成中文.php即可。
请问安装好了网站,后台地址是多少啊?
点击转码就报错
at emitTwo (events.js:125:13) at ChildProcess.emit (events.js:213:7) at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)at ChildProcess.<anonymous> (/root/express-ffmpeg/node_modules/fluent-ffmpeg/lib/ffprobe.js:233:22)
events.js:182
throw er; // Unhandled 'error' event ^TypeError: Cannot read property 'format' of undefined
at /root/express-ffmpeg/helper/listsffmpeg.js:48:35 at /root/express-ffmpeg/node_modules/mongoose/lib/model.js:4518:16 at (anonymous function).call (/root/express-ffmpeg/node_modules/mongoose/lib/query.js:3800:7) at process.nextTick (/root/express-ffmpeg/node_modules/mongoose/lib/helpers/query/completeMany.js:35:39) at _combinedTickCallback (internal/process/next_tick.js:95:7) at process._tickCallback (internal/process/next_tick.js:161:9)评论错地方了...
1.4.3 在哪?
仔细观察文章。
搭建不起来
那就是姿势有问题。
大佬你好,我将上传大小限制改成了10G,然后上传3G的视频在点击”PUSLISH”后在左下角提示undefined,但是我上传1.9G的文件是正常的。大佬有遇到过这个问题吗?能否给点思路?
谢谢
我也是这个问题 我PHP设置全部修改为10g 超时10000秒上传100多m的都是提示undefined,ffmpeg都是配置好的,就上传成功过一次后面怎么设置都undefined,官方也没有给出解答,想买正版也放弃了
没遇到过,我上传最多也才200M,你看下后台设置。还有PHP设置。
这个ffmpeg不能处理mkv格式视频?
好像可以,我测试过好几种格式的视频。
上传的视频找不到源或者未支持格式报错
检查下你的ffmpeg安装了没,需要用本文给个方法安装,还有后台设置ffmpeg路径。
设置ok的
我更换两人centos6系统就好了
上传的片子显示错误,播放不了,不知道啥原因
我之前测试过,都能转,也能看的。
这个播放问题怎么解决。。。。
什么问题?
上传的片子方不了哇
显示一直转码还是啥?
安装完设置之后打不开网站了。。
检查下你的操作。
刚才测试了下,为什么上传的视频不能播放呢,点了播放按钮没反应
什么格式的视频。
点击播放 左下角显示于 facebook 连接,,,,
mp4格式的视频,还有别的格式的都测试了,不能播放,也试过勾选ffmpeg ,但是依然不行呢
www.*.top,临时搭建的,看看什么问题呢?
你测试过吗,是否可以正常播放?
我用1. 4.2的版本时候是可以播放的,一般mp4的话,不用ffmpeg都可以播放,我把ffmpge换了种安装方式,你可以照着重新来一遍,如果还不行的话,那只能说你转换的码率什么的,机子不支持。
刚才又把1.43从新安装了一遍,其实已经安装好几遍了,但是都是一样的问题,换电脑换手机换浏览器,都不能播放,以前搭建的宝塔,会不会是宝塔的问题呢?
楼下有搭建后成功的吗?
我这两天试一下搭建1.4.3吧。
谢谢博主,成了留言啊,正好手上需要这个
视频无法转码播放的问题已修复好。
使用ffmpeg功能的话,上传是会看不到视频,这个可能与ffmpeg有关,你有时间可以折腾下ffmpeg。
91不是卡的扣脚吗。。。
卡正常,一大堆爬虫没爬挂算不错了。
求大佬告知怎么爬91
很久前发过了:https://www.moerats.com/archives/501/。
这个我看了 ,第一第2个爬不了!其他2个可以爬, 谢谢大佬@
回复一连串的代码, Traceback (most recent call last):起头的 很长!
等我哪天再试试。
有什么错误提示吗,第一个和第二个。
在线看片指日可待
用这个还不如爬91。