当前位置:文档之家› 基于PHP的流媒体视频点播网站的设计与实现

基于PHP的流媒体视频点播网站的设计与实现

基于PHP的流媒体视频点播网站的设计与实现
基于PHP的流媒体视频点播网站的设计与实现

基于PHP的流媒体视频点播网站的设计与实现

杨生举

(甘肃省科学技术情报研究所,甘肃兰州 730000)

摘要:随着计算机网络和Internet的发展,宽带VOD视频点播技术因其良好的人机交互性和流媒体传输技术已倍受教育、娱乐等行业青睐。这里在阐述流媒体技术、流式传输协议以及PHP技术的基础上,以甘肃科技电视网为例,详细介绍了三层结构下基于PHP技术的视频点播网站实现的软硬件环境、关键技术和具体步骤,以便为实现大规模多媒体实时点播系统的设计提供参考。

关键字:流媒体PHP 三层结构流式传输协议视频点播

The design and implementation of Streaming Media VOD

websites based on PHP

Yang sheng-ju

(Gansu Institute of Sci&Tech Information,gansu LAN Zhou 730000)

Abstract:With the development of computer network and Internet, video on demand technology, VOD of broadband, flow with good man-machine interaction their streaming media transmission technology times of receiving an education,

amusement, and etc. trade favor already. Here is on the basis of streaming media technology, streaming Transmission protocol and PHP technology, take scientific and technological television network of Gansu as an example, has introduced soft and hardware environment, key technology and concrete step which websites of video on demand based on PHP technology realize under three layers of structure in detail, in order to for realize extensive multimedia real-time design of request system offer reference.

Keywords: Streaming media PHP three layers of structure Streaming transmission protocol VOD

1.概述

网络通信技术、计算机技术尤其是多媒体技术的快速发展和硬件成本的大幅度降低以及集成化程度的提高,使得视频点播VOD(Video-On-Demand)成为可能[1,2]。

1.1 视频点播

视频点播(VOD)意即按需要的视频流播放,是当代信息技术,尤

其是通信网络技术、多媒体技术和计算机技术发展的产物,是一项崭新的信息服务技术[3]。它是一种受用户控制的视频分配业务,使得每一个用户可以交互地访问远端服务器所存储的丰富的节目。用户可以按照自己的喜好自由地选择节目内容及节目的播放时间,它强调的是主动参与性,改变了人们被动接受视频信息的传统方式。视频点播系统实现了人与视频的直接对话(即人机交互式操作),用户可以随时点播希望收看的内容。视频点播与普通电视不同之处在于用户不再是被动地观看预先安排的节目,而是主动地点播自己所需的节目。

1.2 流媒体技术

实现视频点播最关键的技术就是流媒体技术。

流媒体简单来说就是应用流技术在网络上传输的多媒体文件,而流技术就是把连续的影像和声音信息经过压缩处理后放上网站服务器,让用户一边下载一边观看、收听,而不需要等整个压缩文件下载到自己机器后才可以观看的网络传输技术[4]。该技术先在使用者端的电脑上创造一个缓冲区,于播放前预先下载一段资料作为缓冲,于网路实际连线速度小于播放所耗用资料的速度时,播放程序就会取用这一小段缓冲区内的资料,避免播放的中断,也使得播放品质得以维持。并且,流式媒体数据在客户端播放完毕后,用户并不能将它保存下来,这对媒体文件和数据的版权保护是十分方便而有益的。当然,如果服务器端愿意,向用户提供媒体数据的完全下载也是可以的。

1.3 流式传输协议

流媒体在因特网上的传输必然涉及到网络传输协议,其中包括

Internet本身的多媒体传输协议,以及一些实时流式传输协议等,只有采用合适的协议才能更好地发挥流媒体的作用,保证传输质量QOS.IETF(Internet工程任务组)是Internet规划与发展的主要标准化组织,已经设计出几种支持流媒体传输的协议[5]。主要有用于Internet上针对多媒体数据流的实时传输协议RTP(Real time Transport Protocol)、与RTP一起提供流量控制和拥塞控制服务的实时传输控制协议RTCP(Real time Transport Control Protocol)、定义了一对多的应用程序如何有效地通过IP网络传送多媒体数据的实时流协议RTSP(Real time Streaming Protocol)。除上述协议之外,流媒体技术还包括对于流媒体类型的识别。

1.4 PHP技术

PHP(Hypertext Preprocessor)超文本预处理器。PHP是一种易于学习和使用的服务器端脚本语言,具有良好的跨平台兼容性,在大多数Unix平台,GUN/Linux和微软Windows平台上均可以运行。PHP具有数据库连接方便、可扩展性、可伸缩性、面向对象编程等优点。本网站前台WEB页面和后台发布系统都是用PHP开发设计,通过面向对象的设计方法将系统程序代码封装PHP应用服务的底层,使整个系统具有较好的可扩展性、易用性、兼容性,提高系统的健壮性和安全性。

2.网站架设

笔者设计开发的甘肃科技电视网(https://www.doczj.com/doc/c59368591.html,)就是一个科技类视频点播(VOD)网站.下面以此为例,详细介绍视

频点播网站开发的关键技术和具体步骤。

2.1网站的结构与功能

VOD系统采用浏览器/服务器/数据库(Browsers/Server/Database)三层结构(如图1所示),主要满足Internet网络用户的访问使用,简化了客户端。

(1)web服务器:主要负责后台的发布系统和前台网页的显示。

(2)视频服务器:流媒体服务器在VOD系统中的功能是视频存储和视频节目传送。此外,它还有的另一个功能是节目的检索和服务功能。流媒体视频服务器的性能直接决定VOD的存储容量、并发用户数、稳定性和图像质量。

(3)数据库服务器:充分考虑到SQL标准的兼容性和数据库系统的可移植性,采用ANSI SQL(SQL-92)标准编码进行数据库表、视图、触发器及用户模式的设计。主要用来存储视频资料和网站发布的信息。

(4)客户机:它是一个基于Web浏览器的应用程序,通过点播提出媒体请求,并接受来自流媒体服务器的视频流或音频流,同时对视/音频具有回绕、暂停、重播等功能。

(5)网络系统:除使用TCP/IP协议外,并使用MMS/RTP/RTCP/RTSP

流媒体传输的网络协议。保障用户可靠带宽,以保证高质量、平滑的声音和画面的实时播放[6]。

B/S/D的三层除继承了传统C/S结构的特点外,还具有如下优势[7]:

2.1.1 优越的系统性能数据计算和数据处理集中在中间层部件, 且能够实现分布计算功能,使整个系统的工作量平衡分配到网络中。

2.1.2 卓越的安全性能客户端只负责发送请求,并不与数据库直接连接,而由Application Server与数据库连接,在外界应用与数据库之间有天然的屏障,同时,也最大限度地保证数据的安全性,完整性。

2.1.3 减轻系统的负担在传统的C/S结构中,每个用户都需要与数据库服务器建立连接,而在三层结构中用户可以共享数据库连接,减少了数据库的负担,同时也提高了系统的负担。

2.1.4 易于维护和升级系统维护和升级只在服务器端,对于客户端无需进行改动,这样就减少了系统的维护费用,降低了升级风险,同时,升级的进行也不影响日常工作和业务。

视频点播的接收过程[8]如图2所示。

视频点播的流式传输示意图如图3所示。

2.2系统实现环境

以Windows Server 2000为操作系统,应用服务器为Apache-1.3.26和PHP4.1.2,数据库服务器为MS SQL Server 2000, 视频服务器为Helix Server。

2.3具体实现步骤

2.3.1搭建视频服务器

视频服务器采用的是RealNetworks公司的Helix Server。安装过程很简单,安装过程基本可以通过一路回车完成。首先选取授权文件,接着设定好管理员的用户名和密码,然后就需要设定服务器的各个端口了。这些端口基本上可以采用系统默认的设置。

安装完成Helix Server之后,在桌面上会出现名称为Helix Server和Helix Server Administrator图标,它们分别用于启动Helix Server服务和管理Helix Server。

然后进行简单的设置,双击桌面的Helix Server Administrator 图标,并且在弹出窗口中输入安装时候设定好的用户名和密码就可以进入管理页面了。基本设置也很简单,主要设置视频文件存放目录等,在此不再赘述。

2.3.2 搭建web服务器

关于Apache服务器的安装和使用,网上和各种书籍上有很多文章详细介绍,在此不再赘述。

2.3.3流媒体视频文件的制作及存储

2.3.3.1流媒体视频文件的制作

制作流媒体视频文件可以采用专业影像编辑软件Sonic

Vegas 5.0。这个软件使用方便,功能强大,剪辑、特效、合成、Streaming 一气呵成。

2.3.3.2流媒体视频文件存储

由于是海量数据,系统整体采用多级故障自恢复技术,存储服务器内部硬盘阵列均采用RAID5技术,保证任意-块硬盘损坏,不会丢失

数据,也不会影响视频的播放。采用SQL Server数据库对大数据的管理,对要求大数据的地方采用BLOB,CLOB类型,同时利用SQL Server 广泛的兼容性将其作为所有模块的底层数据库。

2.3.4 后台发布系统和前台动态web网页的设计

后台发布系统是一个独立的、完整的、复杂的系统,是本系统的一个子系统,其具体开发过程超出了本文讨论的范围。

2.3.4.1制作视频播放文件Play.php。

点击页面上的标题链接后,调用该文件来播放视频。

2.3.4.2 在主页(index.php)中调用。

在已经设计好的静态页面上嵌入后台发布系统中的PHP对象及处理函数。采用这种方式,极大地提高了程序的可读性和开发速度。

2.4其它应注意的问题

为了防止发布的流媒体被人下载,可以对视频、音频进行加密,同时可以通过JavaScript编程, 屏蔽点击右键,屏蔽打开菜单,防止查看流媒体的真实的URL,禁止用户查看源文件。同时因为采用的是动态网页技术,因此可以防止源程序被窃取。

3.总结和展望

随着网络的发展、宽带的普及,流媒体技术已经被业界广泛看好。可以预见,流式媒体的增长是必然的,它将成为网络的新亮点。一旦流媒体技术达到一定水平并更加精彩,流媒体将成为驱动下一代互联网成长的主要力量。

参考文献

[1]RanganPV,VinHM,RamanathanS.Designinganon-demandmultimediaservice.I

EEECommunicationsMagazine,1992,430(7):56~64

[2]ChangYH,CogginsDetal.Anopen-systemsapproachtovideoondemand.IEEECom

municationsMagazine,1994,32(5):68~80

[3] 张德锋,朱震,刘东玉.网络视频点播系统设计与实现.电光与控制,2002,9(4):53~58.

[4] 吴朝相.什么是流媒体.

https://www.doczj.com/doc/c59368591.html,/cai-new/stream-base.htm,2003.3.

[5] 智莹.谈网络视频流媒体技术.鞍山师范学院学报,2004,6(4):59-61.

[6] 谢晓兰,冯嘉礼.基于流媒体的VOD网站的架设.广西科学院学报,2003,

19(4):230~241.

[7] 吴勃,刘胜辉,刘兴宇.一种影视多媒体信息数字化管理解决方案.哈尔滨理

工大学学报, 2002,7(4):11~15.

[8] 朱信忠,赵建民.基于WEB交互式视频点播系统的设计与实现.微机发展,

2003,13(5):72~76.

相关主题
相关文档 最新文档