Flash视频的权限保护与技术实现

2009-02-11 10:02周文斌罗晋华王晓燕
新媒体研究 2009年1期
关键词:网络视频

周文斌 罗晋华 王晓燕

[摘要]以Flash为开发工具,介绍一种既能满足数字视频在网络中广为传播,又能有效地保护作者合法权益,限制非法使用的简单易行的方法,其中涉及到有关FLV视频编码过程的研究以及如何利用FLV视频中的元数据实现对使用视频资源进行权限控制的脚本设计。

[关键词]网络视频 FLV 权限控制

中图分类号:TP3 文献标识码:A 文章编号:1671-7597(2009)0110029-02

一、引言

网络和多媒体技术的发展,给视频在网络中的应用带来了前所未有的机遇。视频由于具有形象、直观、现场感强等特点,在教学中的地位也日益突出,但是由于数字内容极易被复制、传播,在网络中随意分发、使用,甚至修改原创内容的现象极为普遍,导致各高校之间很多优秀视频资源无法有效共享。能否找到一种既能满足数字视频在网络中广为传播,又能有效地保护作者合法权益,限制非法使用的简单易行的方法,对丰富网络资源将起到重要作用。

目前,网络视频格式主要有RM(RMVB)、WMV(ASF)和FLV三种格式,FLV在流媒体中,应该算了新秀,它采用了目前最先进的视频编解码技术,具有文件压缩编码速度快、视频质量高、流式传播等特点,迅速被一些专业视频点播网站所采用。数字视频的版权保护一直是大家都在关注的话题,采用登记注册和数字权限管理技术DRM(Digital Right Management)是目前采用较多的方式。采用DRM技术在保护自己产权的同时又限制了视频的推广,用户没有看到视频样本,很难确定网站上的资源就是客户想要的,前提是用户确认需要这些视频资料,才会注册并获取DRM证书,也就不可能注册为正式用户。对于多媒体教学而言,教师的媒体需要比较大的工作量和较高的技术水平,一般制作人员难以掌握。

本文结合Flash 8制作工具,通过对Flash视频元数据的研究和实际测试,找到了一种简单可行的方法。这种方法直接对视频进行控制,让客户先预览部分视频片段,使得客户对视频的内容和质量有了一个初步的了解之后再设置权限,取得了权限的视频可以继续播放,否则视频就停止播放。这种处理方法是一个双赢的方法,对客户和制作者都有好处,客户能够查看到自己确实需要的视频,制作者在推广视频资源的同时也合理保护了自己的知识产权。

二、权限控制与技术实现

Flash 8在对视频进行编码处理时,新增了一个“提示点”对话框,在提示点对话框中可以添加系列提示点,如图1所示,每一个提示点都有对应的名称、时间、类型以及相应的参数。Flash 8 Video Encoder在对视频编码的时候会将这些“提示点”的信息作为元数据注入到FLV视频当中,使它成为FLV视频文件的一部分。在后期的调用过程中,通过简单编程就能够将这些元数据提取出来,作为密码,要求使用者提供相关验证信息,视频才能继续播放,从而实现了对视频资源的播放控制。具体设置方法如下:

(一)设置控制点

打开Flash 8应用程序,导入需要的视频资料,根据提示选择“从Web服务器渐进式下载”方式来部署视频。在编码选项中,打开“显示高级设置”,选择“提示点”对话框,如图1所示。单击左边的“+”和“-”可以增加和减少提示点。这里设置的提示点就是后面进行控制的控制点。图1中,设置了一个名称是“password1”的提示点,时间是6.260秒。按照需求完成其它设置后,编码生成FLV视频文件,为了便于后面的说明,这里将生成的文件名命名为“video.flv”。

(二)检测控制点

Flash 8给我们提供了多种调用视频的方法,最简单的方法是直接利用媒体播放组件来实现。新建一个Flash文档,打开“组件”面板,将其中的媒体播放组件FLVPlayback拖放到舞台上,调整其大小和位置,设置实例名为“my_player”。在“组件检查器”面板中选择内容路径“contentpath”选项,双击该选项,找到编码后的“video.flv”视频文件。如图2所示。

在时间轴的第一帧上,添加如下代码:

var passwd;

pw_in._visible=0;

var listenerObject:Object = new Object();

listenerObject.cuePoint = function(eventObject:Object):Void{

if (eventObject.info.name != "") {

passwd = eventObject.info.name;

my_player.pause();

pw_in._visible=1; }

};

my_player.addEventListener("cuePoint", listenerObject);

这里是对媒体播放组件添加了一个侦听器,来检测视频中的提示点。语句“var passwd”定义了一个变量“passwd”来放置提示点的名称,“pw_in._visible=0”是让提示信息栏不显示。语句“if (eventObject.info.name !="")”是检测到视频文件中有提示点。当检测到提示点之后,就通知媒体播放组件“my_player”暂停播放视频,同时显示提示信息栏,让用户输入密码信息。

(三)实现播放控制

实现播放控制,主要是对于检测到的信息点进行处理,并提供一个用户与系统进行交互的界面,让用户能够输入密码,取得继续观看视频的权限。

新建一个电影剪辑,其中包括三部分内容:提示信息、用户输入栏和确认按钮。如图3所示。

输入框为一个动态文本框,实例名为“input_txt”,确认按钮实例名为“my_btn”,在按钮上添加下面的动作,对用户输入的密码进行判断,从而确认是否继续播放。

on (click) {

if (this._parent._parent.passwd == this._parent.input_txt.text) {

this._parent._parent.my_player.play();

this._parent._visible = 0;

} else { this._parent.input_txt.text = "密码不对,请重新输入!"; }}

在舞台的时间轴上,添加一层,将制作好的影片剪辑拖放到舞台上,调整其显示位置,命名实例名为“pw_in”,保存文件,并进行测试。

测试发现:当视频播放到6.260秒的位置,就暂停了,提示需要输入密码,如图4所示。随便输入字符,单击确认按钮,提示“密码不对,请重新输入!”,输入“password1”后,单击确认按钮,视频就可以继续播放了。这里的“password1”就是我们在编码时设置的信息提示点的名称,时间也是我们添加的提示点的时间。

三、结束语

上面介绍的只是一个简单的实现过程。通过Flash对视频编码中加入的提示点,能够简单方便的设置用户的使用权限。在编码的时候,可以加入多个提示点,对控制部分做适当的扩充完善,通过对用户输入的信息进行检查,使得不同的用户权限可以查看同一视频中不同的片段内容。在制作FLV视频时,也就不需要将一个完整的视频分割成多段视频。将FLV视频放置到FMS服务器上,将SWF文件放到Web服务器,结合其它的动态编程语言如ASP、JSP和PHP,还能够实现用户密钥的数据库检索,在保护视频资源的前提下,能构建功能更强大的视频点播系统,最大限度地发挥视频资源的效用。

参考文献:

[1]杨成等,家庭网络与数字版权管理技术,中兴通讯技术,2006.04.

[2]http://www.cmvc.com.cn/list.asp?id=648.

[3]陈东毅,基于Internet认证的视频版权保护系统设计与实现[J].远程教育杂志,2004(01):43~44.

作者简介:

周文斌,男,工程师,硕士,主要研究方向:网络视频和多媒体技术;罗晋华,男,副教授,硕士生导师,主要研究方向:多媒体技术和现代教育技术;王晓燕,女,工程师,硕士,主要研究方向:现代教育技术。

猜你喜欢
网络视频
从优酷?土豆看网络视频产业链的整合策略
网络视频监控技术发展现状与展望
爱奇艺竞争战略研究
网络视频节目的特点及优势简析
网络视频的著作权侵权分析
网红形成与papi酱现象的社会成因
以接近消费者的视角解读快速消费品行业视频营销策略
浅谈对网络视频监控信息安全性的认识
探析网络视频的产业化发展
用户生成内容UGC研究