Rat's

使用PlayTube搭建私人的视频网站
简介PlayTube是一个视频分享程序,它能快速的建立一个视频上传、导入、分享的网站,具有多语言、用户管理、广告管...
扫描右侧二维码阅读全文
04
2018/06

使用PlayTube搭建私人的视频网站

简介

PlayTube是一个视频分享程序,它能快速的建立一个视频上传、导入、分享的网站,具有多语言、用户管理、广告管理、视频上传、从youtubevime等网站导入视频等功能。

截图

请输入图片描述
请输入图片描述
请输入图片描述
请输入图片描述

功能

  • 上传视频:上传本地视频。
  • 导入视频:非常简单的从YouTubeDailymotion、和Vimeo等站点批量导入视频,此功能需要对应网站的API
  • 自动导入视频:设置一些关键词并创建导入任务,轻松从YouTubeDailymotion导入视频到你的网站。
  • 高性能:PlayTube可以轻松的处理超过1B的视频。
  • WoWonder登录集成:无缝对接WoWonder社交系统,可以使用社交系统的帐户授权登入。
  • 喜欢&反感:用户可以对某视频进行喜欢投票。
  • 评论系统:注册用户可以对视频进行评论。
  • 订阅、历史、接下来观看:功能也是比较人性化的。
  • 用户频道:完整的用户展示页。
  • 广告系统:可以创建视频、页面的广告,一切都在后台的广告设置里。
  • 站点地图建立:建立站点地图并自动发送到Google/Bing
  • SEO友好:搜索引擎优化友好的链接,非常有利于谷歌收录。
  • 完整的后台:功能完善的后台控制面板。
  • 漂亮的UI:非常容易修改而且还很漂亮的模板。

安装

环境要求:PHP >= 5.5MySQLGD LibrarymbstringcURLallow_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

安装完成后,进入面板安装PHPMysqlNginxphpmyadmin

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云转码程序→传送门

Vultr新用户注册送100美元/16个机房按小时计费,支持支付宝,【点击查看】。
最后修改:2019 年 05 月 11 日 11 : 34 PM

发表评论

106 条评论

  1. 火龙果

    为何上传视频时"发布"按钮一直无法使用?

    1. Rat's
      @火龙果

      上传完成,还要等转码才能发布,你的ffmpeg装了没?还有ffmpeg后台设置和禁用函数都要弄好。

      1. 火龙果
        @Rat's

        感谢回复,是nginx里面的client_max_body_size参数设小了。视频也转换了,但是点击“发布”后左下角跳出“undefined”。搞不懂又是啥问题。

        1. Rat's
          @火龙果

          这个就不是很清楚了。

  2. 行道

    这个转码好像有问题,不懂是不是设置出问题,上传1080p的视频,但是转码生成不了1080p,最高转码到720p。

    1. Rat's
      @行道

      这个不是很清楚,我转的也都是720p。

  3. 行道

    原来是用管理员账户登录就可以到后台,真是很好的设置。
    发现有一个问题,网站设置为中文,上传视频的分类看不到下拉菜单,设置成英文就可以看到。这个怎么解决呢?

    1. Rat's
      @行道

      这个貌似BUG,要是有强迫症,那就用英文的。

      1. 行道
        @Rat's

        解决了,你的教程写得很清楚:根目录assets/langs,将乱码的语言文件改成中文.php即可。

        1. Rat's
          @行道

          解决好了就行,我都没咋用过,就测试转码正常,能正常用就完事了。

  4. 行道

    请问安装好了网站,后台地址是多少啊?

  5. soradaisuki

    点击转码就报错
    at ChildProcess.<anonymous> (/root/express-ffmpeg/node_modules/fluent-ffmpeg/lib/ffprobe.js:233:22)

    at emitTwo (events.js:125:13) at ChildProcess.emit (events.js:213:7) at Process.ChildProcess._handle.onexit (internal/child_process.js:197:12)

    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. soradaisuki
      @soradaisuki

      评论错地方了...

  6. 天城

    1.4.3 在哪?

    1. Rat's
      @天城

      仔细观察文章。

      1. 天城
        @Rat's

        搭建不起来

        1. Rat's
          @天城

          那就是姿势有问题。

  7. johnny

    大佬你好,我将上传大小限制改成了10G,然后上传3G的视频在点击”PUSLISH”后在左下角提示undefined,但是我上传1.9G的文件是正常的。大佬有遇到过这个问题吗?能否给点思路?
    谢谢

    1. xredred
      @johnny

      我也是这个问题 我PHP设置全部修改为10g 超时10000秒上传100多m的都是提示undefined,ffmpeg都是配置好的,就上传成功过一次后面怎么设置都undefined,官方也没有给出解答,想买正版也放弃了

    2. Rat's
      @johnny

      没遇到过,我上传最多也才200M,你看下后台设置。还有PHP设置。

  8. menglicl

    这个ffmpeg不能处理mkv格式视频?

    1. Rat's
      @menglicl

      好像可以,我测试过好几种格式的视频。

      1. menglicl
        @Rat's

        上传的视频找不到源或者未支持格式报错

        1. Rat's
          @menglicl

          检查下你的ffmpeg安装了没,需要用本文给个方法安装,还有后台设置ffmpeg路径。

          1. menglicl
            @Rat's

            设置ok的

            1. menglicl
              @menglicl

              我更换两人centos6系统就好了

  9. kisj

    上传的片子显示错误,播放不了,不知道啥原因

    1. Rat's
      @kisj

      我之前测试过,都能转,也能看的。

  10. kisj

    这个播放问题怎么解决。。。。

    1. Rat's
      @kisj

      什么问题?

      1. kisj
        @Rat's

        上传的片子方不了哇

        1. Rat's
          @kisj

          显示一直转码还是啥?