基于Flash技术的文档浏览和音视频播放的设计原理及实现

来源 :网络与信息 | 被引量 : 0次 | 上传用户:kayeyoo
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘 要:Flash 是当今Internet上最流行的多媒体展现技术,可用于展现动画、文档以及音视频等多种类型的内容。文章详细介绍了利用Flash展现文档和音视频文件的设计原理和实现方法,并给出了主要功能的原代码。
  关键词:Flash;文档浏览;音视频播放
  FLASH是美国Macromedia公司于1999年6月推出的优秀网页动画设计软件.它是一种交互式动画设计工具,用它可以将文档及音乐、声效、动画以及富有新意的界面融合在一起,以制作出高品质的网页动态效果.现在,FLASH 技术的应用由动态网页的制作发展到 MTV、课件等多媒体制作,应用越来越广泛。随着网络应用的普及,人们倾向于在网络上完成文档浏览和音视频播放等基于B/S架构的高级功能,逐步脱离本地客户机的应用环境局限。因此,可以利用Flash技术强大的多媒体功能,实现文档浏览和音视频播放的在线应用。
  1 设计思想
  文档型文件和音视频文件包括多种类型的文件格式,并不能直接被Flash技术所支持,需要通过第三方工具将各类不同格式的文档型文件和音视频文件统一转换成为Flash技术所支持的文件格式,最终实现文档浏览和音视频播放的在线应用。
  1.1 文档型文件设计思想
  Flash在线浏览器设计思想:文件服务器上存在不同格式的电子文件,需要在浏览器中查看时由openoffice处理将文件格式转换为pdf格式的文件,然后在由swftools工具包中的pdf2swf处理为swf目标格式,通过flexpaper加载,最后客户端在浏览器里就可以直接查阅。如图1-1所示:
  1.2 音视频文件设计思想
  Flash在线浏览器设计思想:文件服务器上存在不同格式的音视频文件,需要在浏览器中查看时通过mencoder解码程序转换成 FLA格式的文件,通过jwplayer加载播放FLA 文件,最后客户端在浏览器里就可以直接查阅。如图1-2所示:
  2 实现方法
  首先要搭建两个服务平台:电子文件转换服务平台和在线文档控制浏览服务平台。具体步骤如下:
  (1)用户通过应用平台上传电子文件;
  (2)上传的文件直接添加到转换任务池;
  (3)转换程序根据任务池顺序队列转换(多个转换服务同时工作);
  (4)转换程序根据文件类型进入相应的转换操作;
  (5)转换完成发送消息到应用平台通知转换完成;
  (6)前台显示转好的FLASH文件;
  2.1 Office文档操作
  利用OpenOffice来对Office文档进行操作,并且通过JODCon
  verter调用把Office文档转换成PDF文档,OpenOffice.org具有一个鲜为人知的特性就是其能够作为一个服务来运行,而这种能力具有一定的妙用。举例来说,你可以把openoffice.og变成一个转换引擎,利用这种转换引擎你可以通过网络接口或命令行工具对文件的格式进行转换,JODConverter可以帮助你实现OpenOffice.org的这种文件转换功能。
  为了将OpenOffice.org作为一个转换引擎,你必须以服务的方式将它启动,使它在某个特定的端口监听连接。
  在Linux平台你可以用如下的命令启动openoffice.org:
  soffice -headless -accept="socket,port=8100;urp;"
  在Windows平台, 使用如下命令:
  X:Program FilesOpenOffice.org 3programsoffice -accept=
  "socket,port=8100;urp;"
  2.2 转换为PDF文件
  通过JODConverter调用OpenOffice把Office文档转换成PDF文档,JODConverter是基于java,你需要安装1.4或更高版本的java运行环境。下载最新版本的jodconverter-tomcat-x.x.x.zip,解压到某个目录,就可以启动 JODConverter
  sh jodconverter-tomcat-2.2.2/bin/startup.sh
  在浏览器打开http://localhost /converter,你就可以看见一个简单的Web界面,选中需要转换的文件并确定格式,点击按钮就可以转换。也可以通过命令行对文件进行转换,如:
  java -jar jodconverter-2.1.1/lib/jodconverter-2.2.2.jar test.docx test.pdf
  2.3 PDF转换为SWF文件
  SWFTools是一组用来处理Flash的swf文件的工具包,包括:
  (1)合并工具swfcombine
  (2)抽取工具swfextract
  (3)PDF/JPEG/PNG/AVI/TTF/WAV到SWF的转换工具pdf2swf, jpeg2swf, png2swf, avi2swf, font2swf, wav2swf
  (4)文本解析工具swfstrings
  (5)SWF解析器swfdump
  (6)SWF读写库rfxswflib
  其中把pdf转成swf的工具就是pdf2swf了。在命令行中运行"pdf2swf src.pdf des.swf"一般能满足需求。而命令行参数可以通过pdf2swf -f得到。
  Java调用PDF2SWF工具进行PDF转SWF的代码:
  Process pro = Runtime.getRuntime().exec("/pdf2swf -z -s   flashversion=9 -s jpegsubpixels=1 -s ppmsubpixels=1"+要转换的PDF文件+" -o "+输出的SWF文件);   InputStreamWathThread inputWathThread = new nputStreamWath
  Thread(pro,"PDF2SWF");
  inputWathThread.start();
  ErrorInputStreamWathThread errorInputWathThread = new ErrorInputStreamWathThread(pro,"PDF2SWF");
  errorInputWathThread.start();
  //等待转换完成
  try {
  pro.waitFor();
  inputWathThread.setOver(true);//转换完,停止流的处理
  errorInputWathThread.setOver(true);
  } catch (InterruptedException e) {
  e.printStackTrace();
  }
  2.4 SWF文件浏览
  FlexPaper是一个开源轻量级的在浏览器上显示各种文档的组件,被设计用来与PDF2SWF一起使用,使在Flex中显示PDF成为可能,而这个过程并无需PDF软件环境的支持。它可以被当作Flex的库来使用。
  
  2.5 音视频文件转换
  mencoder是一款命令行方式的视频处理软件,是Mplayer自带的编码工具(Mplayer是Linux下的播放器,开源,支持几乎所有视频格式的播放,现在有windows和Mac版本)。 在linux下,安装完Mplayer后,就有mencoder,无需另外安装。mencoder支持几乎所有的格式的视频转换,可以将任意格式转换到任意格式,转换功能可以说是相当强大。目前市面上流行的格式转换器,都是基于mencoder开发的GUI,比如暴风转码,格式工厂等。可以说转换器能办到的,mencoder都能办到,但mencoder能办到的,转换器就不一定能办到了。
  例如:mencoder input.avi -o output.avi -oac mp3lame -lame
  opts cbr:br=32 -ovc x264 -x264encopts bitrate=440 -vf scale=4
  48:-3
  input.avi 是指输入的视频,也就是你要转换的视频。
  -o output.avi中的"-o"是指你要输出视频,输出的视频名为output.avi。
  -oac 设置音频编码器。
  mp3lame 设置音频编码器为mp3lame,也是就mp3。
  -lameopts 设置mp3lamer的相关参数。
  cbr:br=32 设置音频的码率为32。
  -ovc 设置视频编码器。
  x264 设置视频编码器为x264。
  -x264encopts 设置x264的参数。
  bitrate-440 设置x264的视频的码率为440。
  -vf scale=448:-3 设置视频的宽为448,高为-3,-3的意思就是让mencoder来设置最佳宽度。
  实现代码如下:
  Process pro = Runtime.getRuntime().exec("/mencoder -of lavf -oac mp3lame -lameopts abr:br=56 -ovc lavc -lavcopts vcodec=flv:vbitrate=500:mbd=2:mv0:trell:v4mv:cbp:last_pred=3:dia=4:cmp=6:vb_strategy=1 -vf scale=512:-3 -ofps 12 -srate 22050"+要转换的文件+" -o "+输出的FLV文件);
  InputStreamWathThread inputWathThread = new InputStreamWathThread(pro,"VIDEO2FLV");   inputWathThread.start();
  ErrorInputStreamWathThread errorInputWathThread = new ErrorInputStreamWathThread(pro,"VIDEO2FLV");
  errorInputWathThread.start();
  try {
  pro.waitFor();
  inputWathThread.setOver(true);//转换完,停止流的处理
  errorInputWathThread.setOver(true);
  } catch (InterruptedException e) {
  e.printStackTrace();
  }
  2.6 音视频文件播放
  JW Media Player是一个开源的在网页上使用的Flash视频、音频以及图片播放器,支持Sliverlight 播放,可以通过一个XML文件使播放器自动切换显示一组图片,并播放背景音乐。它支持播放的Adobe Flash Player和HTML5浏览器可以处理任何格式(FLV文件,H.264标准,MP4功能,VP8的,WEBM,支持MP3,AAC,JPG,PNG和GIF)。它也支持各种流和播放清单格式(包括RMTP协议,HTTP直播和更多)和多种播放选项。并支持所有主要的CDN和自适应比特率切换意味着你可以在全球各地提供高质量的内容。
  JW Player是一个先进的视频平台,您可以进行自定义和扩展:
  无需特殊工具,你可以编辑文本创建图像,然后你可以建立一个皮肤。
  它的插件架构 和 JavaScript API让您可以轻松地扩展它的功能,融入您的网站,或连接到第三方服务。
  
视频播放
其他文献
你是一位无线网络用户吗?你认为组建无线网络最核心的设备是什么呢?相信绝大多数用户的答案都是无线路由器。没错,随着无线网络的迅速崛起,无线路由器已然成为其中的核心枢纽。所以,一旦它出现了故障,整个无线网络就会陷入瘫痪。那么如果故障真的出现了,我们又该如何解决,让无线网络恢复正常呢?很简单,按照下面介绍的四个步骤去操作。一般的无线网络故障都能轻松解决。    第一步:检查硬件及线路连接    无线路由
《海陆丰苏维埃》一书是研究海陆丰根据地的重要文献。它科学地总结了以革命的武装反对反革命武装;在革命低潮之时,只能积聚革命力量,而不能即刻夺取县城;抓住有利时机,举行
本文拟定了在一定pH值条件下,将褐藻植物灰分中可溶性碘化物以K<sub>2</sub>Cr<sub>2</sub>O<sub>7</sub>溶液氧化出IO<sub>2</sub>,以既是萃取剂亦是显色剂的萃取——分离分
随着温度的不断飙升。炎炎夏日已经来临,下面,小编为大家推荐一款冰爽级纯音MP3飞利浦Mixlll,让你在炎炎夏日无论身在何处,只要打开它,就能感受到冰爽的感觉。
本文针对某电厂两台循环流化床锅炉调试中碰到的关键技术难题,其中涉及到锅炉膨胀节、给煤系统、一次风机系统、返料系统。进行了深入分析,并提出了一些解决方案,可为循环流化床
本文从泛在学习出发,简单地介绍了泛在学习环境,提出泛在学习环境下的学习服务管理系统的概念,并对其主要功能模块和总体架构进行了阐述。
本文在说明平面整点多边形的面积总是一个有理数的基础上,通过应用代数的方法证明Sin π/2~i(i≥2)为天理数,得出了平面整点正n边形(n≠4)是不存在的结果。
进入21世纪,公共安全毋庸置疑已成为全球化的一大热点,其应用也已经渗透到社会的方方面面,并已开始影响和改变着人们的生活方式。安防监控兼顾公共安全、工业和商业、交通运
委婉语是英语中常见的一种有趣语言现象,若仔细研究,灵活动用,会使语言增色不少,收到意想不到的效果。
一《奥德修纪》的中心思想是什么?不少论述都认为它是歌颂人类征服自然、表现了人定胜天的思想。其理由就是奥德修在海上漂流多年,战胜各种自然障碍,最后回到家乡伊大嘉。如