设为首页 收藏本站
查看: 538|回复: 0

[经验分享] PHP开源CMS-Drupal做视频站点(第1版)

[复制链接]

尚未签到

发表于 2017-4-10 10:57:37 | 显示全部楼层 |阅读模式
  视频网站在web2.0时代是最常见的互联网类型,国外有Youtobe,BlipTV等,国内有优酷,土豆,酷六,网易等各大门户网站都典型的视频网站。
  对于某些门户网站或综合型网站都想在CMS的基础上有自己的视频浏览页面。
问题分析
  视频也可以看成一篇文章,只不过内容是视频吧了,类型和CMS差不多,但是问题就在于视频的格式,大小,传输速度等就限制了我们的开发。
  在开发过程中要考虑的问题如下:

  • 是否是自己原创的视频,是否需要定制的播放还是借助第三方播放插件。
  • 管理员操纵是否合乎他们的习惯和使用是否简单、快捷。
  • 程序员需要系统的搭建,自己含有服务器、VPS还是虚拟主机。
  • 再确定好系统后,分享文件如何上传,毕竟视频不是在2M以内的普通文件,服务器对上传是否有限制。
  • 上传的视频文件是否要自动转换格式,转换后的效果,已经播放效果,包括分辨率,视频的缩略图,视频的水印处理等。
  我想我的这些考虑并不是全面的,但是应该覆盖了你的大部分需求分析,接下来的问题将讲解drupal做一个视频站点。
站点目标
  这里我假设我们要做个名为dummy的视频站点,它的功能和优酷、土豆网类似。
  功能列表:

  • 用户可以自行在自己的个人空间上传视频
  • 管理员审核用户的视频后决定是否发布,发布后用户可以引用视频调用地址
  • 上传视频有最大文件限制
  • 上传视频可以自动转换格式为FLV,可以通过SWF文件播放
  • 转换视频为指定的分辨率,可以在水印图片到视频,视频有缩略图。
  • 管理员发布视频可以简单的发布视频
第一版 视频满足管理员操作
  这篇文章主要讲解单用户内容管理系统对视频操作的站点,分为以下几个阶段:drupal基本讲解、drupal模块安装、Video视频设置、Video视频播放器配置、区块显示视频。
  好的,让我们真正开始我们精彩的旅程。
Drupal 基本讲解

  • 系统环境
  Operating system操作系统:  Windows, Mac OS X, Linux, Unix, BSD, or Solaris
Web server服务器:  Apache 1.2 or Apache 2.x, Microsoft IIS 6 or 7, lighttpd
Database数据库:  MySQL 4.1 or MySQL 5.0, PostgreSQL 7.4
PHP编程脚本:  PHP 4.3.5. is required, but PHP 5.2.x is recommended
  安装环节,请参考drupal官方网站。
  drupal后台的管理界面视图如下:
DSC0000.png

  drupal文章内容类型截图如下:
DSC0001.png

  drupal文章分类、自由标签如下:
DSC0002.png

  drupal模块列表 (/admin/build/modules/) 截图如下:
DSC0003.png

  大概的几个界面就讲这些,其他详细的请安装后自由的体验。
Drupal模块安装

  • 必备模块及版本
  1. CCK 6.x-2.8
  CCK 全称 Content Construction Kit,内容构造工具,允许你自定义字段到你的节点上通过后台管理界面。
  2. CCK扩展:FileField、ImageField
  用于字段编辑时,选择的视频字段、图片字段。
  3. Views 6.x-2.11
  Views模块为Drupal设计界面提供一个灵活的方法来控制如何显示节点内容。
  4. ImageCache 6.x-2.0-beta10 和 ImageAPI 6.x-1.9
  ImageCache 用于处理图片大小及效果,安装其必须先安装ImageAPI。
  5. Video 6.x-4.1-rc6
  Video模块允许用户上传视频,支持Video上传,选择FTP现有Video,集成Zencoder网络视频转换功能。
  6. SWF Tools 6.x-2.5
  自定义播放器推荐模块,支持FlowPlayer 3JW Media Player 4视频播放功能。

  • 可选模块
  1. Embedded Media Field
  emfield 模块允许自定义字段到节点类型中用于显示第三方视频。不过每个第三方视频提供商都必须安装其相应的模块,比较麻烦,不推荐安装。
  最后我们确定用的视频播放器是JW Media Player 4,然后用户可以上传视频。勾选相应的模块,安装后进入视频配置环节。
Video 视频设置
  进入/admin/content/types/list 将显示所有的文章类型,如Video视频类型截图显示。
  点击添加节点类型(/admin/content/types/add)
  name 输入 “Video”, Type 输入 “video”, Description 输入 “A <em>video</em> is a single flv video file to be displayed.”
  Submission form settings 中的 Title field label 输入 “Title”,Body field label  输入 空,则不会显示 body字段。
  如下图显示:
DSC0004.png

  还没有结束,继续我们关键的地方,实现自定义上传视频的字段。
  点击 manage fields 进入 /admin/content/node-type/video/fields, 注意这里的 manage fields  必须在激活 cck模块以后才会出现。
  页面下部添加字段如图:
DSC0005.png

  接着会自动跳转到 字段配置 界面(/admin/content/node-type/video/fields/field_video)
  接下来可以配置 允许上传视频文件的后缀,默认是mp4, mpeg, avi, mpg, wmv, flv, mov。文件最大的上传大小,最小的文件上传大小,如果最大文件限制留空,系统会默认使用系统能允许上传的文件的最大大小,如果有足够的权限可以设置PHP.INI 文件。当然如果设置了就不会使用系统默认的大小了。
  文件的存放路径, 默认是存放在 “ /sites/all/default/files/videos/ ”。
  然后可以设置 视频转换的分辨率大小,视频播放器的大小。注:这里的大小都是默认提供的,如果要要修改请编辑文件video.module
  勾选使用视频转换,我们将使用 ffmpeg 作为视频转换工具。
  设置视频缩略图为:自动产生缩略图, 设置上传数量为 1个,List field 和 Description field 均为 “Disabled”。
  保存后,这里视频的自定义字段完成。 点击添加视频(/node/add/video)就会如下图显示的界面显示;
DSC0006.png

  视频标题,浏览上传视频等等。看起来很灵活吧 ~@~ 。
  最后剩下视频的设置,包括视频使用什么播放器播放,视频转换两个地方需要配置。
  在视频播放器配置页面(/admin/settings/video/players),如果系统安装了SWF Tools模块,那么FLV视频就可以自动连接到 SWF Tools ,如下图:
DSC0007.png 其他的视频格式播放,如wmv、avi、mpg、mpeg使用Windows Media Player,mp4、mov、3gp使用Quicktime播放器,rm使用Real Media Player播放器。

  视频转换格式使用默认的 FFmpeg即可,请确保系统已经安装好 FFmpeg。关于安装FFmpeg的文章,我将另外花时间写。
Video视频播放器配置
  本节主要讲解 配置 SWF Tools 的各个选项及安装 JW Media Player 5 播放器

  • 第一步设置 Embedding settings (/admin/settings/swftools/embed)
  视频嵌入方法 选择直接嵌入文件,不通过Javascript方法。暂不知道使用Javascript的好处。
  嵌入设置 中重要的一个参数,可能会经常用到,就是背景颜色,默认是白色#FFFFF,如果想看到默认的未加载视频背景是黑色,把颜色设置为#000000即可。
  视频嵌入方法和嵌入设置如下图显示。
DSC0008.png


  • 第二步 JW Media Player 5 安装,进入菜单 File handling(/admin/settings/swftools/handling)。
  把眼睛发到 文件位置 File locations 和 默认播放器地址Default flash player path
  这里的注释告诉我们,默认播放器存放的文件位置,留空它的默认值就是(sites/all/modules/swftools/shared),记住把我的播放器放在(sites/all/modules/swftools/shared)这个文件下。
DSC0009.png

  上图已经播放器存放位置告诉大家了,不知道大家明白没有。
  请将你下载的播放器swf文件存放到 sites/all/modules/swftools/shared/flash_media_player/player-viral.swf 记住命名也要和它的相同。
  把播放器存放到正确位置后,说明安装成功的截图如下,没有了红色提示 和 Download here字样。
DSC00010.png

  这样我们的JW Media Player 5 就安装成功了!

  • 第三步设置 JW Media Player 4(/admin/settings/swftools/wijering4),实际上我们安装的是 JW Media Player 5 ,不过模块还是 JW Media Player 4
  这里我们常设置的就是JW Media Player 5 的外观,控制条是否可见,默认是显示在底部,这里我们设置为none
  其他的设置默认即可,如果想让视频循环播放等可以在这里设置。
  至此我们的整个配置环节结束。下面的步骤就是显示我们的视频咯。。。
区块显示视频
  当我们上传视频,并上传视频缩略图,选择播放分辨率大小,如下图所示。
DSC00011.png

  我们的视频就完成了,点击查看,视频firebug看到页面如下。
DSC00012.png

  发现我们的视频缺少预览图片,于是我们还要修改一下swftools的一个bug,当前版本尚未完善的。打开 sites/all/modules/video/video_formatter.inc 文件。
  看到第137行,在 function theme_video_flv($video, $node) 中,有这样如下一个bug注释:
  //@todo: swftools bug, can’t enable this until they fix their pathing for the images.
  这里显然没有处理图片的功能,修改为如下。
  $options = array(
‘params’ => array(
‘width’ => $video->player_width,
‘height’ => $video->player_height,
),
‘flashvars’ => array(
//@todo: swftools bug, can’t enable this until they fix their pathing for the images.
‘image’ => $video->thumbnail->url,
),
);
  将我们的上传图片设为视频默认预览图片,保存后再预览就会有我们的带视频缩略图的预览如下。
DSC00013.png

  如果通过views 来让视频在某个block中显示,那么需要注意一下。
  格式选择为:Video,这里不需要Video Thumbnail linked to node格式和Video inject with jMedia格式,如下图所示。
DSC00014.png

  完了,你的视频网站做成功了吗?
结束语
  第一版视频教程就做到这里,这看上去只是一个简单的视频内容管理系统。后面我们将继续努力做成一个完善的视频点播系统。
  如果你对此很有研究,希望你能在评论中给你的建议,谢谢!下次再见!
声明:本站遵循署名-非商业性使用-相同方式共享 3.0共享协议. 转载请注明转自LixiPHP

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-362829-1-1.html 上篇帖子: php中遇到的小问题(随遇随记) 下篇帖子: PHP实现中文字符的无乱码截断
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表