`
xinlanzero
  • 浏览: 252894 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

PHP开源CMS-Drupal做视频站点(第1版)

    博客分类:
  • PHP
 
阅读更多

视频网站在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文章内容类型 General view of the administration page

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

Content types video drupal文章内容类型

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

drupal文章分类、自由标签 Taxonomy  categories and tags image

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

drupal module 模块列表 image

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

 

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字段。

如下图显示:

添加video节点类型image

还没有结束,继续我们关键的地方,实现自定义上传视频的字段。

点击 manage fields 进入 /admin/content/node-type/video/fields, 注意这里的 manage fields  必须在激活 cck模块以后才会出现。

页面下部添加字段如图:

cck添加video字段image

接着会自动跳转到 字段配置 界面(/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)就会如下图显示的界面显示;

image

视频标题,浏览上传视频等等。看起来很灵活吧 ~@~ 。

最后剩下视频的设置,包括视频使用什么播放器播放,视频转换两个地方需要配置。

在视频播放器配置页面(/admin/settings/video/players),如果系统安装了SWF Tools模块,那么FLV视频就可以自动连接到 SWF Tools ,如下图:

image 其他的视频格式播放,如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即可。

视频嵌入方法和嵌入设置如下图显示。

SWF Tools Embedding settings 视频嵌入方法和嵌入设置 image

  • 第二步 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)这个文件下。

文件位置 File locations 和 默认播放器地址Default flash player path image

上图已经播放器存放位置告诉大家了,不知道大家明白没有。

请将你下载的播放器swf文件存放到 sites/all/modules/swftools/shared/flash_media_player/player-viral.swf 记住命名也要和它的相同。

把播放器存放到正确位置后,说明安装成功的截图如下,没有了红色提示 和 Download here字样。

JW Media Player 5 安装成功 image

这样我们的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

其他的设置默认即可,如果想让视频循环播放等可以在这里设置。

至此我们的整个配置环节结束。下面的步骤就是显示我们的视频咯。。。

区块显示视频

当我们上传视频,并上传视频缩略图,选择播放分辨率大小,如下图所示。

image

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

视频预览image

发现我们的视频缺少预览图片,于是我们还要修改一下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,
),
);

将我们的上传图片设为视频默认预览图片,保存后再预览就会有我们的带视频缩略图的预览如下。

image

如果通过views 来让视频在某个block中显示,那么需要注意一下。

格式选择为:Video,这里不需要Video Thumbnail linked to node格式和Video inject with jMedia格式,如下图所示。

image

完了,你的视频网站做成功了吗?

结束语

第一版视频教程就做到这里,这看上去只是一个简单的视频内容管理系统。后面我们将继续努力做成一个完善的视频点播系统。

如果你对此很有研究,希望你能在评论中给你的建议,谢谢!下次再见!

声明:本站遵循署名-非商业性使用-相同方式共享 3.0共享协议. 转载请注明转自LixiPHP
  • 大小: 189.1 KB
  • 大小: 114.8 KB
  • 大小: 109.3 KB
  • 大小: 113.5 KB
  • 大小: 78.3 KB
  • 大小: 13.6 KB
  • 大小: 12.7 KB
  • 大小: 11.3 KB
  • 大小: 23.6 KB
  • 大小: 23.8 KB
  • 大小: 7.3 KB
  • 大小: 41 KB
  • 大小: 9.4 KB
  • 大小: 119.8 KB
  • 大小: 4.8 KB
分享到:
评论
1 楼 kittychina 2012-06-04  
很好,继续!

相关推荐

    behat-drupal-extension-源码.rar

    Drupal是一个强大的开源CMS,支持各种网站的构建,从简单的博客到复杂的多用户应用程序。Drupal的核心功能包括内容管理、用户管理、模块化架构和主题定制。为了测试和确保Drupal站点的功能正确性,社区开发了多种...

    最新开源drupal-6.16

    Drupal 自从其第一个版本发布以来,就以其灵活性、可扩展性和社区支持而闻名,吸引了全球众多开发者和网站管理员。在这个特定的版本 6.16 中,我们看到了 Drupal 的一些关键特性和改进。 1. **内容管理**:Drupal ...

    PDF-Drupal7FirstLook-英文版.rar

    Drupal 是一个广泛使用的开源内容管理系统(CMS),用于构建网站和应用程序。这份PDF很可能是为了帮助初学者了解Drupal 7的基本概念、功能以及如何开始使用它。 描述 "PDF-Drupal7FirstLook-英文版.rar" 简单明了,...

    teladan-drupal:在Drupal(CMS)模式下的典范!

    Drupal,作为一个强大的开源内容管理系统(CMS),被广泛用于构建各种类型的网站,从个人博客到复杂的商业平台。"teladan-drupal"项目显然基于Drupal构建,旨在展示印尼年轻才俊的成就,尤其是那些不超过18岁的孩子...

    Drupal专业开发指南 第二版(中文) for Drupal6

    《Drupal专业开发指南 第二版(中文) for Drupal6》是一部深入探讨Drupal 6版本的专业教程,旨在帮助开发者和网站管理员提升在Drupal平台上的技能。Drupal是一个强大的开源内容管理系统(CMS),广泛应用于网站构建和...

    ansible-role-drupal:Ansible角色-Drupal

    Drupal,作为一个流行的开源内容管理系统(CMS),在Web开发领域被广泛使用。而Ansible则是一款强大的IT自动化工具,可帮助管理员进行配置管理、应用部署和任务执行。`ansible-role-drupal`是专门为在Ansible中管理...

    基于PHP的Drupal开源的php内容管理源码.zip

    Drupal是一个强大的开源内容管理系统(CMS),它主要由PHP语言编写,并且依赖于MySQL或类似的数据库系统来存储数据。Drupal以其高度可扩展性、模块化结构和丰富的功能集而闻名,适用于构建各种类型的网站,从小型...

    用drupal+php+jquery+mysql建的电子商务网站

    Drupal是一个开源的内容管理系统(CMS),它使用PHP编程语言构建,并且与MySQL数据库紧密集成,用于存储和管理网站数据。在电子商务领域,Drupal由于其高度可扩展性和灵活性,常被用来搭建功能丰富的网上商店。本...

    PHP实例开发源码-php 内容管理系统 Drupal.zip

    Drupal是一款基于PHP语言的开源内容管理系统(CMS),它允许用户构建功能强大的网站和应用程序,而无需深入编程。这个压缩包“PHP实例开发源码-php 内容管理系统 Drupal.zip”包含了Drupal CMS的源代码,供开发者...

    drupal6.X 系统最新的php系统适合大部分

    Drupal 是一个开源的、基于 PHP 的内容管理系统(CMS),被广泛用于构建网站和Web应用程序。Drupal 6.x 版本是 Drupal 的一个重大版本,它在2008年发布,为用户提供了许多改进和新功能。然而,随着技术的不断进步,...

    drupal7后台操作视频教程

    Drupal 是一个强大的开源内容管理系统(CMS),广泛用于构建各种类型的网站,包括企业网站、电子商务平台和社区论坛等。 在本教程中,你将学习到以下核心知识点: 1. **安装与配置 Drupal 7**:首先,你需要下载 ...

    drupal-5.23.zip

    Drupal,作为一个开源的内容管理系统(CMS),在Web前端开发领域中占据了一席之地。Drupal 5.23是该系统的一个版本,它旨在帮助开发者更轻松、高效地搭建网站,同时减少大量的代码编写工作。这个版本提供了优秀的...

    drupal-6.19.rar

    Drupal是世界上最受欢迎的开源内容管理系统(CMS)之一,主要用于构建动态网站和应用程序。Drupal 6.19是我们这里讨论的特定版本,它在2013年发布,为用户提供了一系列的功能和改进。这个"drupal-6.19.rar"压缩包...

    drupal安装指南详细说明

    Drupal是一个强大的开源内容管理系统(CMS),它基于PHP语言构建,为全球众多网站提供灵活的框架。本指南将详细阐述Drupal的安装步骤,帮助你轻松搭建自己的网站。 首先,确保你的服务器环境满足Drupal的基本要求。...

    blog-drupal:将我的博客后端从旧的Forestry版本更新为Drupal

    Forestry是一款用于Jekyll和Hugo等静态站点生成器的直观界面,而Drupal则是一个功能强大的开源CMS,尤其适合大型网站和复杂内容管理需求。因此,这个过程可能涉及到数据迁移、功能调整以及适应Drupal架构的定制开发...

    Pro Drupal 第二版 针对Drupal 6.x

    - **Drupal**:这是本书的主题,一个强大的开源CMS,具有模块化、可扩展和高度定制的特点。 - **web**:表明该书内容与网页开发和管理有关。 - **CMS**:内容管理系统,Drupal就是这样的系统,它允许用户无需深入...

    DrupalCMS antique_modern

    Drupal CMS 是一个强大的开源内容管理系统,它被广泛用于构建各种类型的网站,包括企业网站、社区论坛、电子商务平台等。"antique_modern" 模板是 Drupal 的一个设计主题,结合了古典与现代的设计元素,旨在提供一种...

Global site tag (gtag.js) - Google Analytics