PHP开源CMS-Drupal做视频站点(第1版)
视频网站在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后台的管理界面视图如下:
drupal文章内容类型截图如下:
drupal文章分类、自由标签如下:
drupal模块列表 (/admin/build/modules/) 截图如下:
大概的几个界面就讲这些,其他详细的请安装后自由的体验。
?
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 3和JW 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字段。
如下图显示:
还没有结束,继续我们关键的地方,实现自定义上传视频的字段。
点击 manage fields 进入 /admin/content/node-type/video/fields, 注意这里的 manage fields? 必须在激活 cck模块以后才会出现。
页面下部添加字段如图:
接着会自动跳转到 字段配置 界面(/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)就会如下图显示的界面显示;
视频标题,浏览上传视频等等。看起来很灵活吧 ~@~ 。
最后剩下视频的设置,包括视频使用什么播放器播放,视频转换两个地方需要配置。
在视频播放器配置页面(/admin/settings/video/players),如果系统安装了SWF Tools模块,那么FLV视频就可以自动连接到 SWF Tools ,如下图:
其他的视频格式播放,如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即可。
视频嵌入方法和嵌入设置如下图显示。
第二步 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)这个文件下。
上图已经播放器存放位置告诉大家了,不知道大家明白没有。
请将你下载的播放器swf文件存放到 sites/all/modules/swftools/shared/flash_media_player/player-viral.swf 记住命名也要和它的相同。
把播放器存放到正确位置后,说明安装成功的截图如下,没有了红色提示 和 Download here字样。
这样我们的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。
其他的设置默认即可,如果想让视频循环播放等可以在这里设置。
至此我们的整个配置环节结束。下面的步骤就是显示我们的视频咯。。。
区块显示视频当我们上传视频,并上传视频缩略图,选择播放分辨率大小,如下图所示。
我们的视频就完成了,点击查看,视频firebug看到页面如下。
发现我们的视频缺少预览图片,于是我们还要修改一下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,
),
);
将我们的上传图片设为视频默认预览图片,保存后再预览就会有我们的带视频缩略图的预览如下。
如果通过views 来让视频在某个block中显示,那么需要注意一下。
格式选择为:Video,这里不需要Video Thumbnail linked to node格式和Video inject with jMedia格式,如下图所示。
完了,你的视频网站做成功了吗?
结束语第一版视频教程就做到这里,这看上去只是一个简单的视频内容管理系统。后面我们将继续努力做成一个完善的视频点播系统。
如果你对此很有研究,希望你能在评论中给你的建议,谢谢!下次再见!
声明:本站遵循署名-非商业性使用-相同方式共享 3.0共享协议. 转载请注明转自LixiPHP 1 楼 kittychina 2012-06-04 很好,继续!